home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / answers / object-faq / part8 < prev    next >
Encoding:
Internet Message Format  |  1994-09-17  |  60.4 KB

  1. Path: bloom-beacon.mit.edu!senator-bedfellow.mit.edu!faqserv
  2. From: Bob Hathaway <rjh@geodesic.com>
  3. Newsgroups: comp.object,comp.answers,news.answers
  4. Subject: Comp.Object FAQ Version 1.0.6 (9-15) Part 8/9
  5. Supersedes: <object-faq/part8_777166834@rtfm.mit.edu>
  6. Followup-To: comp.object
  7. Date: 17 Sep 1994 12:04:36 GMT
  8. Organization: Geodesic Systems
  9. Lines: 1628
  10. Approved: news-answers-request@MIT.Edu
  11. Expires: 31 Oct 1994 12:03:01 GMT
  12. Message-ID: <object-faq/part8_779803381@rtfm.mit.edu>
  13. References: <object-faq/part7_779803381@rtfm.mit.edu>
  14. NNTP-Posting-Host: bloom-picayune.mit.edu
  15. Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
  16. X-Last-Updated: 1994/09/15
  17. Originator: faqserv@bloom-picayune.MIT.EDU
  18. Xref: bloom-beacon.mit.edu comp.object:12657 comp.answers:7316 news.answers:25856
  19.  
  20. Archive-name: object-faq/part8
  21. Last-Modified: 9/15/94
  22. Version: 1.0.6
  23.  
  24. More stuff is always welcome.  (Btw, Interviews and Motif C++ wrapper
  25. classes are to be found in the /pub/X11 subtree.)
  26.  
  27.  
  28. >15  ConceptBase (OODB, reqkey)
  29.  
  30. What: ConceptBase
  31.  
  32. See APPENDIX B.
  33.  
  34. A four week test-version of ConceptBase V3.1 is available 
  35. on the FTP server ftp.informatik.rwth-aachen.de in the 
  36. directory pub/CB.  For running the ftp version you must ask for a 
  37. key by email.
  38.  
  39.  
  40. >16  C++ OODB
  41. Exodus (Storage Man, perst)
  42.  
  43. From: darrenp@dibbler.cs.monash.edu.au (Daz)
  44. Subject: Re: Class libraries for accessing RDBs ?
  45. Organization: Monash University, Melb., Australia.
  46. Date: Thu, 17 Jun 1993 23:53:22 GMT
  47.  
  48. shekar@gizmo.CS.MsState.Edu (Chandrashekar Ramanathan) writes:
  49.  
  50. >Hello,
  51. >       Are there any shareware/ftp'able C++ class libraries that
  52. >provide Relational Database access? I would also appreciate any
  53. >pointers (ideas/articles/journals) to the various issues that one has
  54. >to consider in designing such library. 
  55. Ok, I'm not sure if it's exactly what you want, but it's a database, it's
  56. fully written in c++ with classes etc, and it's out for beta testing.
  57.  
  58. Check out pippin.cs.monash.edu.au:pub/export/diamond-0.1.2.tar.Z
  59. and please mail darrenp@dibbler.cs.monash.edu.au if you decide to play with
  60. it.
  61.  
  62. Daz.
  63. --
  64. Darren Platt, Department of Computer Science
  65. darrenp@dibbler.cs.monash.edu.au
  66. Monash University, Clayton Melbourne, Victoria, Australia
  67.  
  68.  
  69. >17  Exodus (Storage Man, perst)
  70.  
  71. What: Exodus project software (Storage Manager & GNU E)
  72. From: zwilling@caseus.cs.wisc.edu (Mike Zwilling)
  73. Date: 16 Jul 92 04:53:19 GMT
  74.  
  75. In the past there have been discussions in comp.object and comp.databases
  76. about persistent storage for object-oriented databases and programming
  77. languages.  As you may know, the EXODUS Database Toolkit project at the
  78. University of Wisconsin has researched these issues and others for a number of
  79. years.  The purpose of this note is to inform you that the software from the
  80. EXODUS project is freely available via anonymous ftp.  The EXODUS software
  81. includes the EXODUS Storage Manager and the compiler for the E persistent
  82. programming language.  Also included is documentation, and a suite of test
  83. programs for both components.  This note briefly describes the software and
  84. explains how to obtain it.  We currently support DECstation 3100s/5000s and
  85. SPARC based workstations.  Others have ported the code to HP700s and IBM
  86. RS6000s.
  87.  
  88. The EXODUS Storage Manager is a client-server object storage system which
  89. provides "storage objects" for storing data, versions of objects, "files"
  90. for grouping related storage objects, and indexes for supporting efficient
  91. object access.  A storage object is an uninterpreted container of bytes which
  92. can range in size from a few bytes to hundreds of megabytes.  The Storage
  93. Manager provides routines to read, overwrite, and efficiently grow and shrink
  94. objects.  In addition, the Storage Manager provides transactions, lock-based
  95. concurrency control, and log-based recovery.
  96.  
  97. GNU E is a persistent, object-oriented programming language developed as part
  98. of the Exodus project.  GNU E extends C++ with the notion of persistent data,
  99. program level data objects that can be transparently used across multiple
  100. executions of a program, or multiple programs, without explicit input and
  101. output operations.
  102.  
  103. GNU E's form of persistence is based on extensions to the C++ type system to 
  104. distinguish potentially persistent data objects from objects that are always
  105. memory resident.  An object is made persistent either by its declaration (via
  106. a new "persistent" storage class qualifier) or by its method of allocation
  107. (via persistent dynamic allocation using a special overloading of the new
  108. operator).  The underlying object storage system is the Exodus storage manager,
  109. which provides concurrency control and recovery in addition to storage for
  110. persistent data.
  111.  
  112. The current release of GNU E is based on gcc/g++ version 2.2.2, and is upward 
  113. compatible with C++ as implemented by that compiler.
  114.  
  115. A bibliography of EXODUS related papers can be obtained from the ftp site
  116. described below.
  117.  
  118. To obtain the software, simply ftp to ftp.cs.wisc.edu (128.105.8.18), login
  119. as anonymous with your email address as a password, "cd" to the "exodus"
  120. directory, and follow the directions (directions will be given as you "cd").
  121. See the README for the latest information about the software and an indication
  122. of our future plans.  If you decide to use the software, please contact us at
  123. exodus@cs.wisc.edu so that we can notify you of changes.
  124.  
  125.  
  126. >18  GRAS
  127.  
  128. GRAS - A Graph-Oriented Database System for SE Applications
  129. Copyright (C) 1987-1992  Lehrstuhl Informatik III, RWTH Aachen
  130. This library is free software under the terms of the GNU Library 
  131. General Public License.
  132.  
  133. Lehrstuhl f"ur Informatik III --> GRAS
  134. University of Technology Aachen (RWTH Aachen),
  135. Ahornstr. 55,
  136. D-5100 Aachen
  137. Contact : Dr. Andy Sch"urr (or Richard Breuer),
  138. andy@rwthi3.informatik.rwth-aachen.de
  139. ricki@rwthi3.informatik.rwth-aachen.de (for technical support)
  140.  
  141. The system GRAS with interfaces for the programming languages Modula-2
  142. and C is available as public domain software for Sun3/Sun4 workstations
  143. (the GRAS system itself is implemented in Modula-2 and consists of many
  144. layers which might be reusable for the implementation of other systems): 
  145.  
  146.   Via anonymous ftp from tupac-amaru.informatik.rwth-aachen.de
  147.   (137.226.112.31) in the directory /pub/unix/GRAS522_3
  148.  
  149.   There are several files contain documentation, sources, binaries,
  150.   and libraries. All binaries are for Sun/4 machines. Sun/3 binaries
  151.   are shipped only if explicitly requested.
  152.  
  153. [See APPENDIX B]
  154.  
  155.  
  156. >19  MOOD   (OODB, lim arch)
  157.  
  158. What: MOOD/P3 Ver.2.00 OODBS {Miniature,Materials}OODBS.
  159. From: ono@mood.mech.tohoku.ac.jp (Noboru Ono)
  160. Date: 18 May 92 10:28:42 GMT
  161.  
  162. The following program/sample database package is available through anonymous
  163. FTP at mood.mech.tohoku.ac.jp (130.34.88.61). Sorry it is not the sources and
  164. operates only in NEC-PC9801/MS-DOS environment.  Sorry again documents are all
  165. in Japanese. We will tell you later when English documents has become ready.
  166.  
  167.       MOOD/P3 Ver.2.00
  168.       Material's Object-Oriented Database, Prototype 3
  169.  
  170. This program, as you may guess,
  171.  
  172.       1) is an Object-Oriented database system program,
  173.       2) operates on PC-9801 series personal computer, and
  174.       3) is accompanied by sample material database schema.
  175.  
  176. Although this program has been developed and being used in the experiments
  177. on material data processing in which we are now involved, it is a general
  178. purpose OODBS. 
  179.  
  180. Noboru Ono
  181. Dept. of Machine Intelligence and Systems Engineering,
  182. Faculty of Engineering, Tohoku University.
  183. Tel:++22-222-1800
  184. Fax:++22-268-3688
  185. E-mail:ono@mood.mech.tohoku.ac.jp
  186.  
  187.  
  188. >20  Ode    (C++ OODB)
  189.  
  190. What: Ode Release 1.1
  191. From: nhg@research.att.com
  192.  
  193. Ode is an object-oriented database based on the C++ database model. The
  194. primary interface to Ode is the database programming language O++ which is
  195. based on C++.
  196.  
  197. Ode 1.1 is now available to Universities.  This is a beta release.  The
  198. current version of Ode runs on Sun (Sparc) workstations and users must have
  199. C++ release 2.0 or a later release.  If you are interested in using Ode and
  200. giving us feedback on your experience with Ode, please send me mail with the
  201. appropriate information.
  202.  
  203. Narain Gehani
  204. AT&T Bell Labs 3D-414
  205. 600 Mountain Ave
  206. Murray Hill, NJ 07974
  207.  
  208.  
  209. From: thssamj@iitmax.iit.edu (Aditya M. Jani)
  210. Subject: *Announcement* UserGroup for ODE (OODBMS from AT&T)
  211. Organization: Illinois Institute of Technology, Chicago
  212. Date: Fri, 25 Jun 93 17:27:53 GMT
  213.  
  214.                     Ode Object database v2.0
  215.                     ------------------------
  216. Ode 2.0 is available via ftp from research.att.com.
  217. Here is a sample session showing how to retrieve Ode 2.0
  218. which is kept in the directory
  219.  
  220.     dist/ode2.0
  221.  
  222. as a compressed tar file named
  223.  
  224. 2.0.oppbin.tar.Z
  225.  
  226. First create the directory on the local machine
  227. where ode is to be installed, e.g.,
  228.  
  229. mkdir ode
  230. cd ode
  231.  
  232. Retrieve the compressed tar Ode file using ftp into
  233. as illustrated below.
  234. Then uncompress it
  235.  
  236. uncompress 2.0.oppbin.tar.Z
  237.  
  238. and unbundle it
  239.  
  240. tar xvf 2.0.oppbin.tar
  241.  
  242. Next see file README, fix install file, and run install
  243.  
  244. ./install
  245.  
  246.  
  247.  
  248.  
  249. Sample ftp session
  250. --------------
  251. $ ftp research.att.com
  252. Connected to tcp!192.20.225.2!1390.
  253. 220 inet FTP server (Version 4.271 Fri Apr 9 10:11:04 EDT 1993) ready.
  254. Name (research.att.com:smith): anonymous
  255. 331 Guest login ok, send ident as password.
  256. Password: smith@hostname
  257. 230 Guest login ok, access restrictions apply.
  258. Remote system type is UNIX.
  259. Using binary mode to transfer files.
  260. ftp> cd dist
  261. 250 CWD command successful.
  262. ftp> cd ode2.0
  263. 250 CWD command successful.
  264. ftp> get 2.0.oppbin.tar.Z
  265. 200 PORT command successful.
  266. 150 Opening BINARY mode data connection for 2.0.oppbin.tar.Z (2762525
  267. bytes).
  268. 226 Transfer complete.
  269. 2762525 bytes received in 1.6e+02 seconds (16 Kbytes/s)
  270. ftp> quit 
  271. 221 Goodbye.
  272.  
  273. -------------------------------------------------------------------------------
  274.  
  275.                               Available Now!
  276.  
  277.  
  278.  
  279.  
  280.                                  Ode 2.0
  281.                        An Object-Oriented Database
  282.  
  283.        C++ Compatible, Fast Queries, Complex Application Modeling,
  284.        Multimedia Support, and more
  285.  
  286.  
  287.  
  288.  
  289.        Ode 2.0 is now available to Universities.  Users who currently
  290.        have Ode 1.1 will be automatically sent a tape with Ode 2.0.
  291.        There is no charge for Ode.  However, AT&T requires the signing
  292.        of a non-disclosure agreement.
  293.  
  294.  
  295.  
  296.        Details
  297.        -------
  298.  
  299.        ODE OBJECT-ORIENTED DATABASE
  300.  
  301.        The Ode object database is based on the C++ object paradigm.
  302.        Ode  uses  one  integrated data model (C++ classes) for both
  303.        database and general purpose manipulation.  The Ode database
  304.        is   defined,   queried  and  manipulated  in  the  database
  305.        programming language O++, which provides simple and  elegant
  306.        facilities for manipulating the database.
  307.  
  308.        O++  is  an  upward-compatible  extension  of  C++.   A  few
  309.        facilities have been added to C++ to make it into a database
  310.        programming language.  C++ programmers can learn  O++  in  a
  311.        very short time.
  312.  
  313.        O++ programs can be compiled with C++ programs thus allowing
  314.        the use of existing C++ code.
  315.  
  316.        THE ODE MODEL OF PERSISTENCE
  317.  
  318.        Ode offers a simple and elegant notion of persistence  which
  319.        is   modeled  on  the  ``heap''.   Specifically,  memory  is
  320.        partitioned into volatile and persistent.  Volatile  objects
  321.        are   allocated   in   volatile   memory  (stack  or  heap).
  322.        Persistent objects are allocated  in  persistent  store  and
  323.        they  continue  to exist after the program that created them
  324.        has terminated.
  325.  
  326.        An Ode database is a collection of persistent objects.  Each
  327.        object  is  identified  by  a  unique  object  id  (i.e.,  a
  328.        persistent pointer,  or  to  be  precise,  a  pointer  to  a
  329.        persistent object).
  330.  
  331.        The database programming language  O++  provides  facilities
  332.        for   creating  and  manipulating  the  Ode  database.   For
  333.        example,   O++   provides    facilities    for    specifying
  334.        transactions,  creating and manipulating persistent objects,
  335.        querying the database, creating and manipulating versions.
  336.  
  337.        WHAT IS AN OBJECT-ORIENTED DATABASE
  338.  
  339.        Some  important  characteristics   of   an   object-oriented
  340.        database are:
  341.  
  342.           + data is stored as objects,
  343.  
  344.           + data  can  be  interpreted  (using  methods)  only   as
  345.             specified by the class designer,
  346.  
  347.           + relationship  between  similar  objects  is   preserved
  348.             (inheritance), and
  349.  
  350.           + references between objects are preserved.
  351.  
  352.        ADVANTAGES OF OBJECT-ORIENTED DATABASES
  353.  
  354.           + Speed: Queries can  be  faster  because  joins  (as  in
  355.             relational  databases)  are  often not needed.  This is
  356.             because an object can be retrieved directly  without  a
  357.             search, by following object ids.
  358.  
  359.           + No impedance mismatch: The same data model is  used  by
  360.             both   the   database   programming  language  and  the
  361.             database;  it  is  not  necessary  to  do  any   format
  362.             conversions  when  reading  the data from disk and when
  363.             storing the data on disk.
  364.  
  365.           + Programmers  need  to  learn   only   one   programming
  366.             language:  The  same  programming  language is used for
  367.             both data definition and data manipulation.
  368.  
  369.           + Complex applications: The full power  of  the  database
  370.             programming language's type system can be used to model
  371.             the data structures of a complex  application  and  the
  372.             relationship between the different data items.
  373.  
  374.           + Multimedia  applications:  The   semantic   information
  375.             stored  in  the  database  (class  methods) facilitates
  376.             correct  interpretation  of  the  data.   This  reduces
  377.             application complexity since applications do no have to
  378.             be responsible for the correct interpretation of data.
  379.  
  380.           + Versions: Object-oriented databases  typically  provide
  381.             better support for versioning.  An object can viewed as
  382.             the set of all its versions.  Also, object versions can
  383.             be treated as full fledged objects.
  384.  
  385.           + Triggers  and  constraints:  Object-oriented  databases
  386.             provide systematic support for triggers and constraints
  387.             which are the basis of active databases.
  388.  
  389.        Finally, most, if not all, object-oriented applications that
  390.        have  database  needs  will  benefit  from  using an object-
  391.        oriented database.  Specifically, C++ applications that have
  392.        database needs will benefit from using Ode.
  393.  
  394.        FEATURES OF ODE
  395.  
  396.          1.  Ode is C++ based and compatible with C++.
  397.  
  398.          2.  The  Ode  object   database   provides   four   object
  399.              compatible  mechanisms  for  manipulating and querying
  400.              the database: O++, OdeView, OdeFS, and CQL++:
  401.  
  402.                 + O++ is a database programming language  based  on
  403.                   C++.   O++  is  upward compatible with C++ and it
  404.                   makes minimal  changes  to  C++.   O++  offers  a
  405.                   simple and elegant notion of persistence which is
  406.                   modeled on the ``heap''.  O++ provides facilities
  407.                   for querying the database, and a variant of other
  408.                   facilities.
  409.  
  410.                 + OdeView is a graphical X-based interface  to  the
  411.                   Ode database.
  412.  
  413.                 + OdeFS is a  file  system  interface  to  the  Ode
  414.                   object  database.   OdeFS  allows  objects  to be
  415.                   treated and  manipulated  like  files.   Standard
  416.                   commands  such as rm, cp and mv and tools such as
  417.                   vi and grep can be used to manipulate objects  in
  418.                   the database.
  419.  
  420.                 + CQL++ is a C++ variant  of  SQL  for  easing  the
  421.                   transition  from  relational databases to object-
  422.                   oriented databases such as Ode.
  423.  
  424.              Currently, only O++ is shipped with Ode 2.0.  A  beta-
  425.              test version of OdeFS is available upon request.
  426.  
  427.          3.  Ode supports large objects  (these  are  critical  for
  428.              multi-media    applications).    Ode   provides   both
  429.              transparent access for large objects and a  file  like
  430.              interface  for  large objects.  The latter can be used
  431.              to efficiently access and  update  parts  of  a  large
  432.              object.
  433.  
  434.          4.  Users can create versions of objects.  Ode will  track
  435.              the   relationship   between   versions  and  provides
  436.              facilities for accessing the different versions.
  437.  
  438.          5.  Transactions  can  be  specified  as  read-only;  such
  439.              transactions  are  faster  because they are not logged
  440.              and they are less likely to deadlock.
  441.  
  442.          6.  Users   can   run    ``hypothetical''    transactions.
  443.              Hypothetical  transaction  allow users to pose ``what-
  444.              if'' scenarios (as often  done  with  spread  sheets).
  445.              User  can  change  data  and  see  the impact of these
  446.              changes without changing the database.
  447.  
  448.          7.  EOS, the storage engine of Ode, is based on a  client-
  449.              server architecture.  Some features of EOS:
  450.  
  451.                a.  Efficient  and  transparent  handling  of  large
  452.                    objects.  A file-like interface is also provided
  453.                    for very large objects.
  454.  
  455.                b.  Concurrency is based on  multi-granularity  two-
  456.                    version   two-phase   locking;  it  allows  many
  457.                    readers and one writer to access the  same  item
  458.                    simultaneously.
  459.  
  460.                c.  Log  records  contain  only  after   images   of
  461.                    updates,  thus making logs small.  Recovery from
  462.                    system failures requires one scan over  the  log
  463.                    resulting in fast restarts.
  464.  
  465.        USE MODES
  466.  
  467.        Ode supports two modes of use:
  468.  
  469.          1.  Client-server (allows multiple  users  to  access  the
  470.              database concurrently).
  471.  
  472.          2.  Single user (improved performance  compared  to  using
  473.              the client-server mode).
  474.  
  475.        USERS
  476.  
  477.        Ode 2.0 is currently being used as the multi-media  database
  478.        engine  for  AT&T's  Interactive TV project.  Ode 1.1 (older
  479.        version of Ode with  limited  capabilities)  has  also  been
  480.        distributed to 30+ sites within AT&T and 135+ universities.
  481.  
  482.  
  483. >21  POSTGRES (Ext. Rel. DBMS)
  484.  
  485. What: Version 4.0 of the POSTGRES DBMS
  486. From: mer@gaia.CS.Berkeley.EDU (Jeff Meredith)
  487. Date: 16 Jul 92 04:53:17 GMT
  488.  
  489. Version 4.0 of the POSTGRES DBMS is now available for distribution. Version 4.0 
  490. provides significant advances in functionality over 3.1.  General improvements
  491. in the code and some key multi-user bug fixes have resulted in a much more
  492. reliable system than we have ever previously released.
  493.  
  494. Major new features include:
  495.  o  Complete support for language (POSTQUEL) functions.
  496.  o  Handling of nested dot expressions.
  497.  o  Optimization of predicates with expensive functions.
  498.  o  Binary portals
  499.  o  Initial support of sets
  500.  o  Indices on system catalogs.
  501.  
  502. Postgres runs on Sparc I, Sparc II, Sun 4 running SunOs, and DECstations
  503. running ULTRIX >= 4.0, as well as Sequent Symmetry machines.  Postgres
  504. consists of about 250,000 lines of C.
  505.  
  506. If you would like to get Postgres 4.0, you can get it in one of two ways:
  507.  
  508. (1)  Anonymous FTP from postgres.berkeley.edu
  509.  
  510. cd pub
  511. get postgres-setup.me
  512. binary
  513. get postgres-v4r0.tar.Z
  514. quit 
  515.  
  516. Or, if you do not have net.access, you can order a Postgres distribution
  517. tape by sending a check payable to the Regents of the University of California
  518. for $150.00 to:
  519.          Postgres Project
  520.          571 Evans Hall
  521.          University of California
  522.          Berkeley, CA 94720.
  523.  
  524. Indicate in your accompanying letter whether you want the system on a 9-track
  525. tape at 1600 BPI, at 6250 BPI, on a cartridge tape for SUN shoeboxes (QIC 24 
  526. format), or on a TK50 DEC cartridge tape.
  527.  
  528.  
  529. >22  Sniff (C++ devel environ)
  530.  
  531. [See also APPENDIX C, SNiFF+, for the commercial version]
  532.  
  533. What: SNIFF (Sniff 1.1b (C++ Development Environment))
  534. From: shite@sinkhole.unf.edu (Stephen Hite)
  535. Date: 23 Aug 92 18:14:00 GMT
  536.  
  537. Sniff 1.1b is available from iamsun.unibe.ch in the C++ hierarchy.  It's a
  538. development environment for C++ (minus the C++ compiler or interpreter).
  539. It's freely available and you're gonna need OpenWindows 3.0 if you want
  540. to play with it immediately.  I just downloaded it and haven't had a 
  541. chance to look into whether the XView 3.0 package will be able to handle
  542. everything Sniff requires of the OpenLook part.
  543.  
  544. And:
  545.  
  546. From: sniff@takeFive.co.at (Mr. Sniff)
  547. Newsgroups: comp.lang.c++,comp.unix,comp.unix.osf.osf1,comp.unix.solaris,comp.object
  548. Subject: SNiFF+ takeFive Starts Free University Distribution of Commercial C/C++ Programming Environment
  549. Date: 22 Sep 1993 15:51:26 GMT
  550. Organization: EUnet EDV-Dienstleistungsgesellschaft m.b.H
  551. Keywords: programming environments, browsing, C++
  552.  
  553. SNiFF+: takeFive Starts Free University Distribution of Commercial C/C++
  554. Programming Environment
  555.  
  556. 1. Introduction
  557.  ===============
  558. Since the beginning of 1993 takeFive has taken over development and support 
  559. for SNiFF+, a leading edge C/C++ programming environment.  With SNiFF+ 
  560. rapidly gaining commercial acceptance takeFive has decided to offer the 
  561. product free to educational establishments. There are several reasons for 
  562. this step.
  563.  
  564. ...
  565.  
  566. 6. How to Obtain SNiFF+
  567.  =======================
  568. 6.1 FTP
  569.  -------
  570. Sniff can be downloaded from anonymous FTP sites in USA and Europe.
  571. You can get all details from info@takeFive.co.at.
  572.  
  573. And:
  574.  
  575. From: hueni@iam.unibe.ch (Hermann Hueni)
  576. Subject: Re: Browsers
  577. Date: Fri, 11 Jun 1993 12:37:28 GMT
  578.  
  579. Sniff is a commercial product.
  580. Send mail to info@takeFive.co.at
  581. AN early version is available as a SUN SPARC binary only from
  582. siam.unibe.ch:C++/Sniff1.6/     (THIS site is in EUROPE)
  583.  
  584.  
  585. >23  C++ tags
  586. Eiffel archive,24
  587. short tool, 24
  588.  
  589. What: ctags/etags for C and C++
  590. From: kendall@centerline.com (Sam Kendall)
  591. Date: 10 Jun 92 09:31:27 GMT
  592.  
  593. A lot of people have requested this software!  You can now get Tags for
  594. C/C++ version 1.0 via anonymous ftp at:
  595.  
  596.         ftp.centerline.com:/pub/tags-1.0.tar.Z
  597.  
  598. ftp.centerline.com is 140.239.2.29.  Anonymous ftp means login as "ftp" and
  599. give your email address as the password.
  600.  
  601. If you don't have ftp access to the internet, you may want to wait for this
  602. stuff to come out in comp.sources.unix.  Or, if you plan to use it right away,
  603. send me a letter that says "I can't use ftp; please send by email" and I will
  604. do so.
  605.  
  606.  
  607. >24  short tool
  608.  
  609. From: neil@aldur.demon.co.uk (Neil Wilson)
  610. Subject: New version of 'short' available
  611. Date: Sat, 7 Aug 1993 09:38:25 +0000
  612.  
  613. A new beta release (1.2) of 'short' is available from the Stuttgart
  614. Eiffel archive (ftp.informatik.uni-stuttgart.de) in directory
  615. /pub/eiffel/eiffel-3/sig
  616.  
  617. Command line processing is now included in the short system. Short can
  618. now cope with multiple input files, the standard input and deal with
  619. most file errors.
  620.  
  621. Short now depends on the argument cluster which is available from
  622. the same archive and directory.
  623.  
  624. Short supports the following options:
  625.  
  626.         -V, +version, -h, +help
  627.                 Displays the 'short' version information and gives the
  628.                 usage help message for the command.
  629.  
  630.         -e, +abstract, +eiffel
  631.                 Produces a fully deferred version of the input class(es)
  632.                 which will compile just like any other class (hopefully :-)
  633.  
  634.         -l <class_name>, +view <class_name>
  635.                 Produces the output from the point of view of the class
  636.                 <class_name> - the "short form for <class_name>".
  637.                 Special handling for ANY and NONE of course. By default
  638.                 short outputs the "short form for ANY".
  639.  
  640.         -f, +full
  641.                 Produces the short form including all the feature
  642.                 blocks.  (Implemented as the "short form for NONE".)
  643.  
  644.         -p, +parents
  645.                 Retains the inheritance clause in the output. The default is
  646.                 to drop it.
  647.  
  648.         -b <number>, +blank <number>
  649.                 Indent levels by <number> characters. 
  650.  
  651.         -c <number>, +column <number>
  652.                 Width of the output is <number> characters. Should be
  653.                 greater than 20.
  654.  
  655. Obsolete features are not retained. Obsolete classes retain no features.
  656.  
  657. The output of the tool now conforms to the layout rules in Appendix A of
  658. ETL and should look like the 'short' examples in the book. As much as is
  659. possible the output and command line options conform to ISE's 2.3
  660. version of 'short'.
  661.  
  662. This release of short has been tested on all the v1.21 Eiffel/S
  663. libraries, itself and the argument clusters, plus any other class
  664. fragments I had lying around at the time.
  665.  
  666. My biggest debt is of course to David Morgan. This version is only
  667. really a tiny modification of his work. His ELEXER Eiffel 3 parser
  668. remains the core of the tool.  I though am responsible for any remaining
  669. deficiencies or problems with this release.
  670.  
  671. Problems, suggestions, comments, criticisms to me please. All gratefully
  672. received - I can't improve my Eiffel if somebody doesn't tell me where I
  673. blew it.
  674.  
  675.  
  676. >25  COOL(C++, Cfront 2.1, from GE)
  677.  
  678. COOL is a C++ class library developed at Texas Instruments.
  679.  
  680. Features are:
  681. 1. Rich set of containers like Vector, List, Hash_Table, Matrix, etc...
  682. 2. Hierarchy is shallow with no common base class, rather than deep like NIHCL.
  683. 3. Functionality close to Common Lisp data structures, like GNU libg++.
  684. 4. Template syntax very close to Cfront3.x, g++2.x.
  685. 5. Free, with good documentation, and extensive test cases.
  686.  
  687. Light version of COOL from General Electric:
  688. 1. Hairy macros, run-time type, exceptions removed for mainstream C++
  689.    compatibility
  690. 2. Free of memory leaks and bound violations. Leaks and bounds are checked
  691.    with Purify.
  692. 3. Has memory management and efficient copy in expressions like:
  693.   Set c = a+b+c;    
  694.   Pointers are shared with Handle and Reference count. Deep copy in
  695.   expressions are replaced by shallow copy.
  696. 4. Compatible with Cfront2.1, and is being converted to Cfront3.0. You can
  697.   build both static and shared library on SunOS 4.1.x
  698.  
  699. 1. original version from Texas Instruments:
  700.    at csc.ti.com, get pub/COOL.tar.Z
  701. 2. Cfront2.1 version modified by General Electric:
  702.    at cs.utexas.edu, get pub/COOL/GE_COOL2.1.tar.Z
  703.  
  704. I am working on Cfront3.0 version of COOL, using the Beta 3.0 from Sun. I am
  705. experiencing problems with instantiation and specialization of templates.  So
  706. Cfront3.0 version of COOL won't be available until Sun's Cfront 3.0 is
  707. released with bugs fixed.
  708.  
  709. Van-Duc Nguyen
  710. General Electric 
  711. Research & Development Ctr
  712. 1 River Road, Room K1-5C39.
  713. Schenectady, NY 12301.
  714. Phone: (518) 387-5659
  715. Fax:   (518) 387-6845
  716. nguyen@crd.ge.com
  717.  
  718.  
  719. >26  idl.SunOS4.x, idl.Solaris2.x
  720.  
  721. Subject: Binaries for OMG IDL CFE placed on omg.org
  722. Date: 11 Jun 93 00:13:11 GMT
  723. Reply-To: jyl@toss.eng.sun.com
  724.  
  725.  
  726. SunSoft has made available statically linked binaries for the OMG IDL CFE,
  727. for both Solaris 1.x and Solaris 2.x. Because they are statically linked,
  728. these binaries can be used on systems which do not have the SparcWorks (TM)
  729. compilers installed.
  730.  
  731. It is expected that people who only want an IDL parser will prefer to
  732. obtain these binaries instead of compiling the program on their host.
  733. People who want to build a complete compiler, by programming their own
  734. back-end, will continue to obtain the sources which are also provided at
  735. the same location.
  736.  
  737. The binaries can be obtained by anonymous FTP to omg.org. They are
  738. installed in the directory pub/OMG_IDL_CFE_1.2/bin, in idl.SunOS4.x and
  739. idl.Solaris2.x. Uuencoded versions are also available, in the same
  740. directory.
  741.  
  742. Please send email to idl-cfe@sun.com if you obtain these files.
  743.  
  744. The attached copyright applies to the provided binaries and to the source
  745. files provided on the omg.org file server.
  746.  
  747.  
  748. Copyright:
  749. Copyright 1992 Sun Microsystems, Inc.  Printed in the United States of
  750. America.  All Rights Reserved.
  751.  
  752. This product is protected by copyright and distributed under the following
  753. license restricting its use.
  754.  
  755. The Interface Definition Language Compiler Front End (CFE) is made
  756. available for your use provided that you include this license and copyright
  757. notice on all media and documentation and the software program in which
  758. this product is incorporated in whole or part. You may copy and extend
  759. functionality (but may not remove functionality) of the Interface
  760. Definition Language CFE without charge, but you are not authorized to
  761. license or distribute it to anyone else except as part of a product or
  762. program developed by you or with the express written consent of Sun
  763. Microsystems, Inc. ("Sun").
  764.  
  765. The names of Sun Microsystems, Inc. and any of its subsidiaries or
  766. affiliates may not be used in advertising or publicity pertaining to
  767. distribution of Interface Definition Language CFE as permitted herein.
  768.  
  769. This license is effective until terminated by Sun for failure to comply
  770. with this license.  Upon termination, you shall destroy or return all code
  771. and documentation for the Interface Definition Language CFE.
  772.  
  773. [...] etc. on copyright stuff [...]
  774.  
  775. SunSoft, Inc.  
  776. 2550 Garcia Avenue 
  777. Mountain View, California  94043
  778.  
  779.  
  780. >27  Browser for OO info
  781.  
  782. From: oscar@cui.unige.ch (Oscar Nierstrasz)
  783. Subject: CUI & Object Oriented Information Sources on the World Wide Web
  784. Reply-To: oscar@cui.unige.ch
  785. Organization: University of Geneva, Switzerland
  786. Date: Fri, 25 Jun 1993 12:18:38 GMT
  787.  
  788. An HTTP server has been installed at the Centre Universitaire d'Informatique
  789. of the University of Geneva.  Information about various research groups at
  790. the CUI is available, as well as a number of other experimental services.
  791.  
  792. The Object Systems group at CUI is providing a number of pointers to
  793. Object-Oriented Information Sources available on the World Wide Web.
  794. The page containing these sources is accessible from the CUI home page.
  795. The URL is: http://cui_www.unige.ch/home.html
  796.  
  797. You must have a WWW browser to access the information.  If you do not have
  798. a browser, you should obtain, for example, the xmosaic browser from:
  799. ftp.ncsa.uiuc.edu:Web/xmosaic or info.cern.ch:pub/www.
  800.  
  801. The material available from CUI is in an early stage of development.
  802. Suggestions for additional OO references to include (or whatever) are welcome!
  803.  
  804. Oscar Nierstrasz
  805.  
  806. ----------------------------------------------------------------------------
  807.         Dr. O.M. Nierstrasz, Centre Universitaire d'Informatique
  808. University of Geneva, 24, rue General-Dufour, CH-1211 Geneva 4, Switzerland
  809.         Tel: +41 22 705.7664    Secr: 705.7770    Fax: 320.2927
  810.             E-mail: oscar@cui.unige.ch  Home: 733.9568
  811. ----------------------------------------------------------------------------
  812.  
  813.  
  814. >28  Apertos(Meta-Obj Distr OS, research)
  815.  
  816. The Apertos (formerly MUSE) project at Sony Research
  817. is a meta-object based distributed OS for turning portable wireless
  818. hand-held computers into fully-connected Dynabook-like
  819. terminals.  It's very very wizzy.  The papers are on: 
  820.         scslwide.sony.co.jp:pub/CSL-Papers
  821.  
  822. The source is available for research; I think you have to
  823. sign something first.
  824.  
  825.  
  826. >29  Actors Paper (UIUC)
  827.  
  828. From: agha@cs.uiuc.edu (Gul Agha)
  829. Subject: Actor Theory Paper available
  830. Organization: University of Illinois, Dept. of Comp. Sci., Urbana, IL
  831. Date: Wed, 4 Aug 1993 15:41:02 GMT
  832.  
  833. A new paper providing a definitive and detailed development of the
  834. semantics of actor systems is available via anonymous ftp.  Comments
  835. are especially welcome.  
  836.  
  837.  
  838. Title:          A Foundation for Actor Computation
  839.  
  840. Authors:        Gul Agha, Univerity of Illinois at Urbana-Champaign
  841.                 Ian Mason, Stanford University
  842.                 Scott Smith, John Hopkins University
  843.                 Carolyn Talcott, Stanford University
  844.  
  845. Abstract:
  846.  
  847.         We present an actor language which is
  848.         an extension of a simple functional language, and provide a precise
  849.         operational semantics for this extension.  Actor configurations are
  850.         open distributed systems, meaning we explicitly take into account the
  851.         interface with external components in the specification of an actor
  852.         system.  We define and study various notions of equivalence on actor
  853.         expressions and configurations.
  854.  
  855. to ftp the compressed postscript file:
  856.         ftp sail.stanford.edu  (or 36.28.0.130)
  857.         login: anonymous
  858.         send ident as password.
  859.         cd pub/MT
  860. the file is called:  
  861.         93actors.ps.Z
  862.  
  863. Note: the paper is 76pp long.  It subsumes work reported in our paper
  864. in CONCUR '92.  
  865.  
  866. (A number of other recent papers on actor languages and their
  867. implementation may be obtained by anonymous ftp from
  868. biobio.cs.uiuc.edu in the directory pub/papers).
  869.  
  870.  
  871. >30  Chambers' Thesis
  872.  
  873. What: SELF optimizing compiler and Thesis
  874. From: chambers@cs.washington.edu (Craig Chambers)
  875. Date: 9 May 92 22:00:53 GMT
  876.  
  877. My Ph.D. thesis, entitled "The Design and Implementation of the Self Compiler,
  878. an Optimizing Compiler for Object-Oriented Programming Languages," is now
  879. available as Stanford technical report number STAN-CS-92-1420.  Copies may be
  880. ordered from Stanford.  Stanford requires $20 (plus tax for orders from within
  881. California), in advance, for each copy.
  882.  
  883. The dissertation also is available in compressed postscript form.  The
  884. electronic version may be copied via anonymous ftp from self.stanford.edu in
  885. the directory pub/papers/chambers-thesis.  This version is free.  Note however
  886. that the thesis is about 250 pages long.
  887.  
  888.  
  889. >31  graph drawing
  890.  
  891. From: rt@cs.brown.edu (Roberto Tamassia)
  892. Subject: annotated bibliography on graph drawing algorithms
  893. Organization: Brown University Department of Computer Science
  894. Date: Wed, 30 Jun 1993 06:45:48 GMT
  895.  
  896. A new revised version of the annotated bibliography on graph drawing
  897. algorithms by Giuseppe Di Battista, Peter Eades, Roberto Tamassia, and
  898. Ioannis Tollis is now available via anonymous ftp from
  899. wilma.cs.brown.edu (128.148.33.66).  The files are /pub/gdbiblio.tex.Z
  900. and /pub/gdbiblio.ps.Z.
  901.  
  902.  
  903. >32  Law of Demeter
  904.  
  905. From: lieber@ccs.neu.edu (Karl Lieberherr)
  906. Subject: Law of Demeter/Adaptive Software
  907. Organization: College of CS, Northeastern University
  908. Date: Fri, 4 Jun 1993 20:41:49 GMT
  909.  
  910.  >...
  911.  Yes, the Law of Demeter paper is available in electronic form on the
  912.  net. Indeed, many of the Demeter project papers are available from
  913.  the ftp server at Northeastern University (see instructions below).
  914.  
  915.  The Law of Demeter idea has been automated in the Demeter Tools/C++
  916.  as an adaptive software tool which automatically makes much of your C++ code
  917.  compliant with the Law of Demeter. The tool is an add-on tool to
  918.  your favorite C++ development environment and is commercially available
  919.  from Demeter International. The Demeter Tools/C++ lift
  920.  object-oriented programming to a higher level of abstraction
  921.  by allowing the user to focus on the essential and
  922.  stable classes. A paper on ADAPTIVE SOFTWARE will appear in 
  923.  the Communications of the ACM and is also available from the
  924.  ftp server.
  925.  
  926.  For more information, use the ftp instructions below or call
  927.  
  928. Demeter International
  929. 56 Bennett Road
  930. Marblehead, MA 01945
  931.  
  932.  phone: (617) 639 1544
  933.  fax: (617) 373 5121
  934.  
  935. or send e-mail to demeter@ccs.neu.edu 
  936.  
  937. -- Karl Lieberherr
  938.  
  939. FTP instructions:
  940.  
  941. Some of our papers are available in one package by anonymous ftp from
  942.  
  943. ftp.ccs.neu.edu (129.10.10.51)
  944.  
  945. in directory pub/demeter/documents
  946.  
  947. Use the following command sequence to copy the Demeter papers:
  948.  
  949. % ftp ftp.ccs.neu.edu or 129.10.10.51)
  950. Name ( ... ): ftp
  951. Password: your-email-address
  952. ftp> cd pub/demeter/documents
  953. ftp> ls
  954. ftp> binary
  955. ftp> get papers.tar.Z
  956. ftp> quit
  957. % uncompress papers.tar.Z
  958. % tar xf papers.tar
  959.  
  960. If you want to copy individual papers and not all at once, go to 
  961. directory pub/demeter/documents/papers and retrieve them
  962. individually.
  963.  
  964. Law of Demeter paper:
  965.   LH89-law-of-demeter.ps
  966. Adaptive Software papers:
  967.   LSLX93-adaptive-programming.ps
  968.   L92a-component-enhancement.ps
  969.   LHSLX92-pp-experience.ps
  970.  
  971.  
  972. >33  OO Dyn Grping, memory
  973.  
  974. From: mario@cs.man.ac.uk (Mario Wolczko)
  975. Subject: Re: OOPLs and Locality of Reference
  976. Keywords: locality of reference
  977. Date: 5 Jul 93 14:39:13 GMT
  978. Organization: Dept Computer Science, University of Manchester, U.K.
  979.  
  980. [...]
  981. The measurements done as part of the work here on the Mushroom project
  982. show that temporal locality within Smalltalk objects is great (and
  983. hence even conventional caches work reasonably well [unless the GC
  984. scheme trashes the cache]), whereas spatial locality on a scale much
  985. larger than the average object (which is 40 bytes) is much harder to
  986. come by.
  987.  
  988. More details can be found in these papers (all available by ftp from
  989. mushroom.cs.man.ac.uk in /pub/mushroom/papers):
  990.  
  991.   dgvm1.ps.Z
  992.     "Dynamic Grouping in an Object Oriented Virtual Memory Hierarchy"
  993.     Ifor Williams, Mario Wolczko, Trevor Hopkins, Proc. ECOOP 87,
  994.     Springer-Verlag LNCS 276, pp.79-88.
  995.  
  996.   dgvm2.ps.Z
  997.     "Realization of a Dynamically Grouped Object-Oriented Virtual
  998.      Memory Hierarchy", Proceedings of the Workshop on Persistent Object
  999.      Systems: Their Design, Implementation and Use, available as
  1000.      Persistent Programming Research Report PPRR-44-87, Universities
  1001.      of Glasgow and St. Andrews, Aug. 1987, pp.298--308.
  1002.  
  1003.   obma.ps.Z
  1004.     "An Object-Based Memory Architecture"
  1005.     Ifor Williams and Mario Wolczko, in Implementing Persistent Object
  1006.     Bases: Proc. Fourth International Workshop on Persistent Object Systems,
  1007.     Morgan Kaufmann, 1991, pp.114-130.
  1008.     The first three figures are in obma-fig[123].ps.Z.
  1009.  
  1010. Mario Wolczko
  1011.  
  1012.    ______      Dept. of Computer Science   Internet:      mario@cs.man.ac.uk
  1013.  /~      ~\    The University              uucp:    mcsun!uknet!man.cs!mario
  1014. (    __    )   Manchester M13 9PL          JANET:         mario@uk.ac.man.cs
  1015.  `-':  :`-'    U.K.                        Tel: +44-61-275 6146  (FAX: 6236)
  1016. ____;  ;_____________the mushroom project___________________________________
  1017.  
  1018.  
  1019. >34  Pred Classes (Cecil)
  1020.  
  1021. What: "Predicate Classes" paper
  1022. From: chambers@klamath.cs.washington.edu (Craig Chambers)
  1023. Date: Fri, 30 Apr 93 01:25:02 GMT
  1024.  
  1025. "Predicate classes are a new linguistic construct designed to
  1026. complement normal classes in object-oriented languages. Like a normal
  1027. class, a predicate class has a set of superclasses, methods, and
  1028. instance variables. However, unlike a normal class, an object is
  1029. automatically an instance of a predicate class whenever it satisfies a
  1030. predicate expression associated with the predicate class. The
  1031. predicate expression can test the value or state of the object, thus
  1032. supporting a form of implicit property-based classification that
  1033. augments the explicit type-based classification provided by normal
  1034. classes. By associating methods with predicate classes, method lookup
  1035. can depend not only on the dynamic class of an argument but also on
  1036. its dynamic value or state. If an object is modified, the
  1037. property-based classification of an object can change over time,
  1038. implementing shifts in major behavior modes of the object. A version
  1039. of predicate classes has been designed and implemented in the context
  1040. of the Cecil language."
  1041.  
  1042. Comments on the ideas in the paper are appreciated.
  1043.  
  1044. -- Craig Chambers
  1045.  
  1046.  
  1047. >35  Manchester Archive and some
  1048.  
  1049. What: Manchester Archive, SmallTalk-V
  1050. From: johnson@m.cs.uiuc.edu (Ralph Johnson)
  1051. Date: 18 Dec 91 19:41:38 GMT
  1052.  
  1053. We have a complete copy of everything in the Manchester archive, and you
  1054. can either access it by e-mail like the Manchester archive or by anonymous
  1055. ftp.  Our archive is on st.cs.uiuc.edu, and you can get information about the
  1056. e-mail server by sending to archive-server@st.cs.uiuc.edu, and putting the
  1057. line help in your message. We actually have a little more than is in the
  1058. Manchester archive.  We have the Smalltalk-V code from the defunct
  1059. International Smalltalk Association, and a few other odds and ends.
  1060.  
  1061. Also:
  1062. The University of Illinois Smalltalk Archive is now offering a WWW server
  1063. the URL is http://st-www.cs.uiuc.edu/
  1064.  
  1065.  
  1066. >36  Object Design's OO7 Results
  1067.  
  1068. What: Object Design's Results on the OO7 Benchmarks
  1069. From: dudek@odi.com (Glen Dudek)
  1070. Date: Thu, 29 Apr 93 17:17:11 GMT
  1071.  
  1072. OBJECT DESIGN'S RESULTS ON THE OO7 BENCHMARKS
  1073. April 26, 1993
  1074.  
  1075. We have made a copy of our results available to the Internet community. You
  1076. can access this information through anonymous ftp from ftp.odi.com in the
  1077. file /pub/oo7/results.ps.
  1078.  
  1079. The report includes the "official" tests done for ObjectStore by the
  1080. University of Wisconsin, and our internal execution of all the tests using
  1081. ObjectStore Release 2.0.1, the current production version.  As the report
  1082. shows, our internal execution carefully followed the agreed-upon procedures
  1083. for running OO7, and we believe the numbers that were produced accurately
  1084. represent ObjectStore's performance.
  1085.  
  1086.         For further information contact oo7info@odi.com.
  1087.  
  1088.  
  1089. >37  Graph service
  1090.  
  1091. From: north@ulysses.att.com (Stephen C. North)
  1092. Subject: free samples of directed graph layouts by mail
  1093. Keywords: graph layout, DAG, embedder
  1094. Date: 25 Jun 93 18:28:29 GMT
  1095. Organization: AT&T Bell Laboratories, Murray Hill
  1096.  
  1097. I have created an experimental service for remote users to try some of
  1098. our graph layout programs through Internet mail, for research or
  1099. educational purposes.  I'm looking for a few friendly users to try this
  1100. service.  The programs are:
  1101.  
  1102.     dag (directed graphs, old, program, works with some USL C++ utilities.
  1103.                 This may have unintentionally sparked the apparently misdirected 
  1104.                 discussion of "DAG classes" in one newsgroup recently.)
  1105.     dot (directed graphs, newer algorithms, better layouts, more features)
  1106.     neato (undirected graphs, compatible with dot, Kamada-Kawai spring embedder)
  1107.  
  1108. You can ftp PostScript files of documentation from dist/drawdag/*.Z on
  1109. research.att.com
  1110.  
  1111. To draw graphs, send a graph file to drawdag@toucan.research.att.com
  1112. and give the command line in the Subject header.  For example,
  1113.  
  1114.     From cs.Princeton.EDU!north Thu Jun 24 11:45:28 0400 1993 remote from toucan
  1115.     Date: Thu, 24 Jun 1993 11:45:28 -0400
  1116.     From: Stephen North <north@cs.Princeton.EDU>
  1117.     To: drawdag@toucan.research.att.com
  1118.     Subject: dot -Tps 
  1119.  
  1120.     digraph G { a -> b }
  1121.  
  1122. File arguments are disabled for obvious reasons.  Please let me know if
  1123. you hit any snags.  There is a reasonable limit on graph size and probably
  1124. number of invocations from a given site/account. (If you use it that much,
  1125. AT&T's Intellectual Property Division sells binary executables; their number
  1126. is 800-462-8146).
  1127.  
  1128. Stephen North, AT&T Bell Laboratories, Murray Hill NJ, (908) 582 7392
  1129. Parturiunt montes, nascetur ridiculus mus!
  1130.  
  1131.  
  1132. >38  C++SIM (Simula-like Sim Pkg)
  1133.  
  1134. From: M.C.Little@newcastle.ac.uk (Mark Little)
  1135. Subject: C++SIM Release 1.0 Announcement
  1136. Organization: Computing Laboratory, U of Newcastle upon Tyne, UK NE17RU
  1137. Keywords: C++, SIMULA, simulation, object-oriented
  1138. Date: Mon, 14 Jun 1993 15:02:33 GMT
  1139.  
  1140. C++SIM 1.0 Release Announcement.
  1141.  
  1142. This is to announce the release of version 1.0 of C++SIM, a simulation
  1143. package written in C++. C++SIM provides discrete process based
  1144. simulation similar to that provided by the simulation class and
  1145. libraries of SIMULA. The linked list manipulation facilities provided
  1146. by SIMSET are also included in the package.
  1147.  
  1148. Inheritance was used throughout the design to an even greater extent
  1149. than is already provided by SIMULA. This has allowed us to add new
  1150. functionality without affecting the overall system structure, and hence
  1151. provides for a more flexible and expandable simulation package.
  1152.  
  1153. A paper is included which describes the design and implementation of
  1154. C++SIM and includes a worked example of how to use the package. The
  1155. paper describes the class hierarchy which we have created, and
  1156. indicates how it can be used to further refine the simulation package.
  1157.  
  1158. The simulation package requires the use of a threads package and
  1159. currently only works with Sun's lightweight process library or the Gnu
  1160. thread package (which *is* included in the distribution). The package has
  1161. been used on Sun workstations, and, with the exception of the thread
  1162. library requirement, contains no system specific code which should make
  1163. porting to other systems relatively easy. The code has been compiled
  1164. with Cfront 2.1 and Cfront 3.0.1 and g++ 2.3.3
  1165.  
  1166. If you find any bugs or make modifications (e.g., ports to other thread
  1167. packages) or port it to other systems, then please let me know so I can
  1168. keep the sources up-to-date for other users.
  1169.  
  1170. The package is available via anonymous ftp from arjuna.ncl.ac.uk
  1171.  
  1172.  
  1173. >39  commercial on cd-rom
  1174.  
  1175. From: jimad@microsoft.com (Jim Adcock)
  1176. Subject: Re: Non-defense Ada applications - answering several requests
  1177. Date: 11 Jun 93 18:56:55 GMT
  1178. Organization: Microsoft Corporation
  1179.  
  1180.  >...
  1181.  
  1182. 1) Get a copy of the Computer Select Database.  [I notice the company
  1183. is offering free trial copies [the database is CD-ROM based]]
  1184.  
  1185. 2) Select "Section: Software Product Specifications"
  1186.  
  1187. 3) Select "Find: C++"
  1188.  
  1189. Behold!  A list of 734 commercially available software packages written
  1190. in C++, including some of the best known names in the software industry.
  1191.  
  1192.  
  1193. >40  C++ Signatures (subtyping)
  1194.  
  1195. From: gb@cs.purdue.edu (Gerald Baumgartner)
  1196. Newsgroups: comp.object,comp.lang.c++
  1197. Subject: signature implementation for G++ 2.5.2 and tech report available
  1198. Date: 4 Nov 1993 12:03:00 -0500
  1199. Organization: Department of Computer Sciences, Purdue University
  1200.  
  1201. Announcing the paper
  1202.  
  1203.     Signatures: A C++ Extension for
  1204.     Type Abstraction and Subtype Polymorphism
  1205.  
  1206.     by Gerald Baumgartner and Vincent F. Russo.
  1207.     Tech report CSD-TR-93-059, Dept. of Computer
  1208.     Sciences, Purdue University, September 1993.
  1209.     Submitted to Software Practice & Experience.
  1210.  
  1211. and a beta release of our implementation of
  1212.  
  1213.     signatures for GCC 2.5.2.
  1214.  
  1215.  
  1216.  How to Get that Stuff?
  1217.  ----------------------
  1218.  
  1219. You can get both the paper and the implementation by ftp from
  1220.  
  1221.     host:        ftp.cs.purdue.edu    (128.10.2.1)
  1222.  
  1223.     login:        anonymous
  1224.  
  1225.     password:    your e-mail address
  1226.  
  1227.     directory:    pub/gb
  1228.  
  1229.     files:        COPYING            Copyright notice.
  1230.  
  1231.             README            This file.
  1232.  
  1233.             Signatures.{dvi,ps}.gz    DVI and Postscript versions
  1234.                         of the paper.
  1235.  
  1236.             gcc-2.5.2.sig.diff.gz    Patch to upgrade GCC 2.5.2.
  1237.  
  1238.             test.tar.gz        Test files and script to run
  1239.                         the tests.
  1240.  
  1241. To make GCC 2.5.2 understand signatures, just copy the context diff
  1242. file into the GCC source directory, type
  1243.  
  1244.     gunzip gcc-2.5.2.sig.diff.gz
  1245.     patch < gcc-2.5.2.sig.diff
  1246.  
  1247. and rebuild and install `gcc,' `cc1plus,' the man pages, and the manual.
  1248.  
  1249. For compiling C++ code containing signatures, you need to use the
  1250. command line option
  1251.  
  1252.     -fhandle-signatures
  1253.  
  1254. We tested our extension on Sun 4 only, but since there are no changes
  1255. to the compiler backend, it is expected work on other architectures as
  1256. well.  To test whether it works on your architecture, unpack the file
  1257. `test.tar.gz' and run the shell script
  1258.  
  1259.     Test
  1260.  
  1261. It compiles the test programs and runs them.  If everything works
  1262. correctly, all the test programs (all 40 of them) should print
  1263.  
  1264.     Hello World.
  1265.  
  1266.  
  1267.  What are Signatures anyway?
  1268.  ---------------------------
  1269.  
  1270. Roughly, signatures are type abstractions or interfaces of classes.
  1271. They are related to ML's signatures, categories in Axiom, definition
  1272. modules in Modula-2, interface modules in Modula-3, and types in
  1273. POOL-I.
  1274.  
  1275. The main language constructs added are signatures and signature pointers.
  1276. For example, the signature declaration
  1277.  
  1278.     signature S
  1279.     {
  1280.       int foo (void);
  1281.       int bar (int);
  1282.     };
  1283.  
  1284. defines a new abstract type `S' with member functions `int foo (void)'
  1285. and `int bar (int).'  Signature types cannot be instantiated since they
  1286. don't provide any implementation.  Only signature pointers and signature
  1287. references can be defined.  For example,
  1288.  
  1289.     C obj;
  1290.     S * p = &obj;
  1291.  
  1292. defines a signature pointer `p' and initializes it to point to an object
  1293. of class type `C,' where `C' is required to contain the public member
  1294. functions `int foo (void)' and `int bar (int).'  The member function call
  1295.  
  1296.     int i = p->foo ();
  1297.  
  1298. executes then `obj.foo ().'
  1299.  
  1300. Class `C' is called an implementation of the abstract type `S.'  In
  1301. this example, we could have made `S' an abstract virtual class and `C' a
  1302. subclass of `S,' and we would have had the same effect.  The advantages
  1303. of signatures over abstract virtual classes are
  1304.  
  1305.     - you can build a type hierarchy separate from the class inheritance
  1306.       (implementation) hierarchy,
  1307.     - subtyping becomes decoupled from inheritance, and
  1308.     - signatures can be used with compiled classes, while you cannot
  1309.       retrofit an abstract virtual class on top of compiled class
  1310.       hierarchies.
  1311.  
  1312. For more information, please, see the paper.
  1313.  
  1314.  
  1315.  What's Implemented and what's not?
  1316.  ----------------------------------
  1317.  
  1318. Signature declarations and signature pointers are implemented and
  1319. working.  For examples of what's working and how to use them you can
  1320. have a look at the test files.
  1321.  
  1322. The following bugs are known:
  1323.  
  1324.       - The destructor of objects cannot be called though signature pointers.
  1325.       - A signature pointer cannot point to an object of a class defined
  1326.     by multiple inheritance.
  1327.       - The signature conformance check does not work if the signature
  1328.     contains other signature declarations or class declarations.
  1329.       - Operator and conversion operator member functions of signatures
  1330.     can only be called with function call syntax, such as
  1331.     `p->operator+(17),' but not with operator or conversion syntax.
  1332.  
  1333. The following language constructs and features are not yet implemented:
  1334.  
  1335.       - constants in signatures,
  1336.       - signature references,
  1337.       - signature inheritance,
  1338.       - the `sigof' (signature of a class) construct,
  1339.       - views (not even the parsing is done),
  1340.       - signature templates, and
  1341.       - exception specifications in signature member function declarations.
  1342.  
  1343. The following optimization is not implemented:
  1344.  
  1345.       - Looking up a virtual class member function through a signature
  1346.     pointer/reference requires double indirection.  This can be optimized
  1347.     by memoizing, so that only the first lookup of a member function
  1348.     requires double indirection and further lookups require only single
  1349.     indirection.
  1350.  
  1351. The items above are roughly in the order in which they will be implemented.
  1352.  
  1353. Besides bug fixes, the main features that have been implemented since the
  1354. last release are default implementations of signature member functions
  1355. and opaque types.
  1356.  
  1357.  
  1358.  Feedback
  1359.  --------
  1360.  
  1361. Please, send your questions, comments, suggestions, and complaints to
  1362.  
  1363.     gb@cs.purdue.edu
  1364.  
  1365. --
  1366. Gerald Baumgartner
  1367. Dept. of Computer Sciences, Purdue University,  W. Lafayette, IN 47907
  1368. Internet: gb@cs.purdue.edu, UUCP: ...!{decwrl,gatech,ucbvax}!purdue!gb
  1369.  
  1370.  
  1371. >41 The Texas Persistent Store
  1372.  
  1373.   The Texas Persistent Store, version 0.1
  1374.  
  1375. Texas is a simple, portable, high-performance and (best of all) FREE
  1376. persistent store for C++ using "pointer swizzling at page fault time"
  1377. to translate persistent addresses to hardware-supported virtual addresses.
  1378.  
  1379. Texas is built on top of a normal virtual memory, and relies on the
  1380. underlying virtual memory system for caching.  It uses user-level virtual
  1381. memory protections to control the faulting of data from a persistent storage
  1382. file into virtual memory.
  1383.  
  1384. All addresses in a page are translated from a persistent format to
  1385. actual virtual addresses when the page is brought into virtual memory,
  1386. and subsequent memory references (including pointer traversals) are
  1387. just as fast as for non-persistent data.
  1388.  
  1389. Texas is easy to use, and is implemented as a UNIX library.  It is small
  1390. and can be linked into applications.  It requires no special operating 
  1391. system privileges, and persistence is orthogonal to type---objects may be 
  1392. allocated on either a conventional transient heap, or on the persistent
  1393. heap, as desired.
  1394.  
  1395. Texas supports simple checkpointing of heap data.  A log-structured storage
  1396. module is under development, and will provide fast checkpointing of small
  1397. transactions.
  1398.  
  1399. Texas is beta software, and the current prerelease version supports only
  1400. simple single-machine operation.  Future releases will support client-server
  1401. operation, a flexible access control scheme, and transaction support.
  1402.  
  1403. Texas currently runs under SunOS and ULTRIX, using Sun CC or GNU C++.
  1404. Porting to other modern systems (e.g., OS/2, WNT, Mach) should be easy---it
  1405. requires only mprotect(), signal(), and sbrk() calls (or their equivalent)
  1406. to control virtual memory protection setting and trap handling.
  1407.  
  1408. Papers about the pointer swizzling scheme and Texas itself (referenced
  1409. below) are available via anonymous ftp from cs.utexas.edu (IP address
  1410. 128.83.139.9), as postscript files swizz.ps and texaspstore.ps in the
  1411. directory pub/garbage.
  1412.  
  1413. The source code for Texas is also available, in the directory
  1414. pub/garbage/texas.
  1415.  
  1416. References:
  1417.  
  1418. Paul R. Wilson and Sheetal V. Kakkad, "Pointer Swizzling at Page Fault
  1419. Time: Efficiently and Compatibly Supporting Huge Address Spaces on Standard
  1420. Hardware," Proc. Second Int'l. Workshop on Object Orientation in Operating
  1421. Systems, Sept. 1992, Dourdan, France, pp. 364--377.
  1422.  
  1423. Vivek Singhal, Sheetal V. Kakkad, and Paul R. Wilson, "Texas: an Efficient,
  1424. Portable Persistent Store", Proc. Fifth Int'l. Workshop on Persistent Object
  1425. Systems, Sept. 1992, San Miniato, Italy, pp. 11-33.
  1426.  
  1427.  
  1428. >42 OSE C++lib
  1429.  
  1430. OSE is a collection of programming tools and class libraries for C++. The
  1431. core of the environment is the C++ class libraries, of which three are
  1432. provided. These are:
  1433.  
  1434.   OTCLIB - A library of generic components, including support for error
  1435.   handling, error message logging, error recovery, program debugging,
  1436.   memory management, resource management, generic collections, text
  1437.   manipulation, operating system interfacing and event driven systems.
  1438.  
  1439.   OUXLIB - A library of components which primarily extends classes in the
  1440.   OTCLIB library to support features specific to the UNIX operating
  1441.   system.
  1442.  
  1443.   OTKLIB - A library of components which builds on the OTCLIB and OUXLIB
  1444.   libraries to allow integration of the TCL/TK library into applications
  1445.   using the event driven systems framework provided by the OTCLIB
  1446.   library.
  1447.  
  1448. The C++ libraries are portable to a wide range of C++ compilers on the UNIX
  1449. platform. Supported C++ compilers include those from USL (CFRONT), DEC, HP,
  1450. IBM, Lucid, SGI, SUN, CenterLine and ObjectStore, as well as the freely
  1451. available GNU C++ compiler. If your C++ compiler does not support
  1452. templates, it is possible to use a template preprocessor which is supplied
  1453. with OSE. Portability to all the major variants of UNIX has been achieved.
  1454. Supported platforms include BSD, HPUX, IRIX, Linux, OSF, SCO, Solaris,
  1455. SunOS, SYSV and Ultrix. In addition to being available under UNIX, the
  1456. OTCLIB library is portable to DOS and OS/2 using Borland and Watcom C++
  1457. compilers.
  1458.  
  1459. OSE can be obtained via anonymous ftp from:
  1460.  
  1461.   Europe:
  1462.  
  1463.     ftp.th-darmstadt.de [130.83.55.75]
  1464.     directory pub/programming/languages/C++/class-libraries/OSE
  1465.  
  1466.   United States
  1467.  
  1468.     straylight.acs.ncsu.edu [152.1.65.11]
  1469.     directory /pub/ose
  1470.  
  1471.   Australia:
  1472.  
  1473.     csis.dit.csiro.au [192.41.146.1]
  1474.     directory pub/otc
  1475.  
  1476. Documentation for OSE is available online via WWW at:
  1477.  
  1478.   http://www.tansu.com.au/Docs/ose/doc/ose-home.html
  1479.  
  1480. Questions about OSE can be directed to the author (Graham Dumpleton) at:
  1481.  
  1482.   ose@nms.otc.com.au
  1483.  
  1484. A mailing list for discussion of OSE, and a mail server providing a list of
  1485. known problems and fixes is also available.
  1486.  
  1487.  
  1488. >43 Traces,kiczales,MOP,DI
  1489.  
  1490. From: gregor@parc.xerox.com (Gregor Kiczales)
  1491. Subject: Re: Dynamic Objects
  1492. In-Reply-To: rjh@geodesic.com's message of 25 Aug 93 21:52:56 GMT
  1493. Message-ID: <GREGOR.93Sep3093506@calvin.parc.xerox.com>
  1494. Organization: Xerox Palo Alto Research Center
  1495. References: <16C357BF0.MFARMER@utcvm.utc.edu> <1993Aug25.215256.8031@midway.uchicago.edu>
  1496. Date: 3 Sep 93 09:35:06
  1497.  
  1498. Earlier in this series of messages, Craig Chambers and others mentioned
  1499. his ECOOP'93 paper on predicate classes, which provide a powerful handle
  1500. on some of the problems that have been mentioned in this series of
  1501. messages, specifically, how dynamic changes to an object or its context
  1502. can be harnessed to reliably effect the object's (message receipt)
  1503. behavior.  As I see it, predicate classes are a key step towards solving
  1504. one of the most frustrating problems of OO programming: the struggle
  1505. over whether to encode some difference among objects in the value of a
  1506. slot (that is one of its parts) or in the object's `method table' (class
  1507. or that which it is one-of).
  1508.  
  1509. A closely related problem, that has also come up in this series of
  1510. messages, is how so-called factory objects can dynamically select the
  1511. behavior of the objects they create.  We have developed a new OO
  1512. language concept called Traces, that can be used to make much more
  1513. powerful factory objects, as well as handle some of the things predicate
  1514. classes do.  The two ideas are similar in that they both make behavior
  1515. selection a much more dynamic phenomena.
  1516.  
  1517. My ISOTAS'93 paper presents the concept of Traces and shows it
  1518. application to some problems.  This paper is available for anonymous FTP
  1519. from ftp.parc.xerox.com, in the /pub/mops directory.  The file is
  1520. traces.ps.
  1521.  
  1522. Gregor
  1523.  
  1524. Following is the abstract from the paper:
  1525.   
  1526. Object-oriented techniques are a powerful tool for making a system
  1527. end-programmer specializable.  But, in cases where the system not only
  1528. accepts objects as input, but also creates objects internally,
  1529. specialization has been more difficult.  This has been referred to as
  1530. the ``make isn't generic problem.''  We present a new \oo{} language
  1531. concept, called traces, that we have used successfully to support
  1532. specialization in cases that were previously cumbersome.
  1533.   
  1534. The concept of traces makes a fundamental separation between two kinds
  1535. of inheritance in \oo{} languages: inheritance of default implementation
  1536. -- an aspect of code sharing; and inheritance of specialization, a
  1537. sometimes static, sometimes dynamic phenomenon.
  1538.  
  1539.  
  1540. >44 C++ coding standard
  1541.  
  1542. From: metz@iam.unibe.ch (Igor Metz)
  1543. Subject: Re: C++ coding standard
  1544. Organization: Dept. of CS, University of Berne, Switzerland
  1545. Date: Tue, 7 Sep 1993 07:08:21 GMT
  1546.  
  1547. euagate.eua.ericsson.se   (Internet Address: 134.138.134.16)
  1548. ~ftp/pub/eua/c++/rules.ps.Z
  1549.  
  1550. [Also an archive site.  E.g. Coplien includes a dir of C++ examples]
  1551.  
  1552.  
  1553. >45 Kala Archive
  1554.  
  1555. From: sss@world.std.com (Sergiu S Simmel)
  1556. Subject: Kala White Paper now available via anonymous ftp
  1557. Message-ID: <CD4MyB.Hsn@world.std.com>
  1558. Organization: Penobscot Development Corporation, Cambridge MA
  1559. Date: Fri, 10 Sep 1993 07:18:11 GMT
  1560.  
  1561. An 8-page paper providing an overview of what Kala is and what Kala is
  1562. for is now available, in PostScript format, in the Kala Archive. The
  1563. file is accessible, via anonymous FTP, at the following location:
  1564.  
  1565.           anonymous@world.std.com:/pub/kala/TechDocs/Overview.ps
  1566.  
  1567. The outline is the following
  1568.  
  1569.         1 What is Kala For?
  1570.         2 Software Infrastructure
  1571.                 Persistent Data and Persistent Stores
  1572.         3 Data Transfer
  1573.         4 Data Visibility
  1574.                 Changing Visibility
  1575.                 Sharing Visibility
  1576.                 Transactions
  1577.                 Versions
  1578.         5 Runtime and Architectural Models
  1579.         6 Relationship to Other Technologies
  1580.  
  1581. This paper is targeted towards those who don't know anything about
  1582. Kala and would like to find out a bit in 10 pages or less.
  1583.  
  1584. Enjoy!
  1585.  
  1586. P.S. For those of you who do not have FTP access and would like to
  1587.      obtain this file, please send a brief e-mail message to
  1588.      info@Kala.com, requesting that the file be e-mailed to you.
  1589.      Beware that the file is approximately 425Kbytes long (the paper
  1590.      contains 13 illustrations!).
  1591.  
  1592.  
  1593. >46 BeBOP(seq,par,LP,OO,meta)
  1594.  
  1595. From: ad@munta.cs.mu.OZ.AU (Andrew Davison)
  1596. Subject: BeBOP v.1.0 Available
  1597. Message-ID: <9325614.15552@mulga.cs.mu.OZ.AU>
  1598. Organization: Department of Computer Sci, University of Melbourne
  1599. Follow-Up: comp.parallel
  1600. Date: Mon, 13 Sep 1993 04:08:41 GMT
  1601.  
  1602.  BeBOP and bp Version 1.0 now available
  1603.  ======================================
  1604.  
  1605.  What is BeBOP?
  1606.  ==============
  1607. The language BeBOP is a unique combination of sequential 
  1608. and parallel Logic Programming (LP), object oriented 
  1609. programming and meta-level programming. 
  1610.  
  1611. The LP component offers both don't know non-determinism
  1612. and stream AND-parallelism, a combination not possible 
  1613. with concurrent LP languages. 
  1614.  
  1615. BeBOP's object oriented features include object IDs, 
  1616. encapsulation, message passing, state updating, and 
  1617. object behaviour modification. 
  1618.  
  1619. The meta-level capabilities are based on the treatment 
  1620. of Prolog theories as first order entities, which 
  1621. enables them to be updated easily, and for fragments 
  1622. to be passed between objects in messages.
  1623.  
  1624. BeBOP is implemented by translation down to NU-Prolog,
  1625. and its parallel extension, PNU-Prolog. An unusual
  1626. aspect of this is the way that object IDs are utilized 
  1627. as a communication mechanism between objects.
  1628.  
  1629.  What is bp?
  1630.  ===========
  1631. The bp interactive interpreter supports BeBOP programming 
  1632. by allowing the flexible invocation of objects, and 
  1633. offering the means for setting up communication links 
  1634. between objects at any time. An incidental benefit is 
  1635. the ability to use `global' variables in queries. Since 
  1636. bp is an augmentation of the NU-Prolog np system, objects 
  1637. and Prolog goals can be combined, and a by-product is 
  1638. that the floundering of Prolog queries is avoided.
  1639.  
  1640.  
  1641.  Where are they?
  1642.  ===============
  1643. The BeBOP system (BeBOP and bp), and the PNU-Prolog 
  1644. preprocessor pnp, can be found at the anonymous ftp 
  1645. site munnari.oz.au (128.250.1.21), in the directory 
  1646. pub as the file bebop.tar.Z. Remember to use binary 
  1647. mode when copying it.
  1648.