home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / object-faq / part10 < prev    next >
Text File  |  1996-04-03  |  52KB  |  1,293 lines

  1. Newsgroups: comp.object,comp.answers,news.answers
  2. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!gatech!swrinde!howland.reston.ans.net!vixen.cso.uiuc.edu!uchinews!news
  3. From: Bob Hathaway <rjh@geodesic.com>
  4. Subject: Comp.Object FAQ Version 1.0.9 (04-02) Part 10/13
  5. X-Nntp-Posting-Host: ford.uchicago.edu
  6. Message-ID: <Dp9qn1.B2E@midway.uchicago.edu>
  7. Followup-To: comp.object
  8. Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
  9. Sender: news@midway.uchicago.edu (News Administrator)
  10. Organization: Geodesic Systems
  11. References: <Dp9prv.92t@midway.uchicago.edu>
  12. Date: Wed, 3 Apr 1996 04:18:37 GMT
  13. Approved: news-answers-request@MIT.Edu
  14. Lines: 1276
  15. Xref: senator-bedfellow.mit.edu comp.object:46843 comp.answers:17918 news.answers:68450
  16.  
  17. Archive-name: object-faq/part10
  18. Last-Modified: 04/02/96
  19. Version: 1.0.9
  20.  
  21. The major new features are:
  22.  
  23.         - Faster object store.
  24.         - Support for replicated objects.
  25.         - Memory resident object store.
  26.         - Support for ANSAware (not available via ftp)
  27.  
  28.         Arjuna supports nested atomic actions (atomic transactions) for 
  29. controlling operations on objects (instances of C++ classes), which can 
  30. potentially be persistent. Arjuna has been implemented in C++ to run on 
  31. stock  platforms  (Unix  on  SUNs,  HPs  etc).  The  software available 
  32. includes  a C++  stub generator  which hides  much  of the  details  of 
  33. client-server  based  programming,  plus  a system  programmer's manual 
  34. containing  details of  how  to  install  Arjuna and  use it  to  build 
  35. fault-tolerant  distributed  applications.  The software and the manual 
  36. can be obtained by anonymous ftp: arjuna.ncl.ac.uk (128.240.150.1)
  37.  
  38.         Several  enhancements   and   ports  on   various   distributed 
  39. computing platforms are in progress.  We would be pleased  to hear from 
  40. researchers and teachers  interested in using Arjuna.  The programmer's 
  41. manual  contains the  e-mail  addresses for sending  your  comments and 
  42. problem reports.
  43.  
  44. ANSAware version of Arjuna
  45.  
  46. The ANSAware version of Arjuna is available from:
  47.  
  48. Architecture Projects Management Limited
  49. Poseidon House
  50. Castle Park                                  Phone    +44 223 323010
  51. Cambridge                                    Fax      +44 223 359779
  52. CB3 0RD                                      Internet apm@ansa.co.uk
  53. United Kingdom                               UUCP     ...uknet!ansa!apm
  54.  
  55. Arjuna Mailing List
  56.  
  57. To enable us to  help people using Arjuna,  an electronic mail list has 
  58. been setup. You can join  the Arjuna mailing list  by sending an e-mail 
  59. message to "mailbase@mailbase.ac.uk" containing:
  60.  
  61. join arjuna <Your Name>
  62.  
  63. For example : join arjuna John Smith
  64.  
  65. Mail  messages  can  then   be  sent  to  "arjuna@mailbase.ac.uk",  for 
  66. distribution.
  67.  
  68.  
  69. Arjuna Project Team
  70. The Department of Computing Science,
  71. The University,
  72. Newcastle upon Tyne.
  73. NE1 7RU, UK.
  74.  
  75. Fax:           +44 91 222 8232
  76. e-mail:        arjuna@newcastle.ac.uk
  77. anonymous ftp: arjuna.ncl.ac.uk (128.240.150.1)
  78.  
  79. EMAIL = arjuna@newcastle.ac.uk
  80. POST  = Computing Laboratory, The University, Newcastle upon Tyne, UK NE1 7RU
  81. VOICE = +44 91 222 8067         FAX = +44-91-222-8232
  82.  
  83. Subject: Arjuna papers announcement
  84. Date: Tue, 8 Jun 1993 16:47:02 GMT
  85.  
  86. This is to announce the availability of most Arjuna related papers and
  87. theses via anonymous ftp from arjuna.ncl.ac.uk. These papers are
  88. available in both US Letter and European A4 standards in postscript and
  89. should now print on systems. Any problems in printing should be directed to
  90. arjuna@newcastle.ac.uk.
  91.  
  92. Since there are too many papers to describe in one posting there is an index
  93. available in /pub/Arjuna/Index which contains the abstracts from all of
  94. the papers/theses and their locations within the ftp hierarchy.
  95.  
  96.  
  97. >3  BOS (prototyping)
  98.  
  99. What: BOS
  100. From: Sean.Levy@cs.cmu.edu
  101. Date: 23 Apr 92 18:07:32 GMT
  102.  
  103. [For readers of comp.object and self-interest, BOS is a prototype-based
  104. object system that I have, er, prototyped in Tcl. It is available via anon
  105. FTP to monch.edrc.cmu.edu under /usr0/snl/archive/bos-1.2.tar.Z (you have to
  106. cd to /usr0/snl/archive first and then get the file, due to CMU security hacks
  107. in ftpd). I thought that this would be of interest to comp.object and
  108. self-interest, so I'm cross-posting/mailing --S]
  109.  
  110. Note: I play very fast and loose with the terminology of OOP to get my
  111. point across. I apologize if I offend any sensibilities, and will clarify what
  112. I say if it is obfuscated by my use of terms.
  113.  
  114.  
  115. >4  G++ for DOS (Many sites)
  116.  
  117. :From: DJ Delorie <dj@ctron.com>
  118. :Newsgroups: gnu.announce,gnu.misc.discuss
  119.  
  120. :               DJGPP 1.10 is now available!
  121.                          :
  122.                          :
  123. :               --- DJGPP - G++ for MSDOS/386 ---
  124.  
  125. :djgpp is normally uploaded to:
  126. :  omnigate.clarkson.edu                 128.153.4.2     pub/msdos/djgpp
  127. :  math.utexas.edu                       128.83.133.215  pub/msdos/djgpp(*)
  128. :  ftp.uni-koeln.de                      134.95.128.208
  129. :                                                       msdos/gnuprogs/djgpp (*)
  130. :  ftp.eb.ele.tue.nl                     131.155.40.15
  131. :                                                       pub/pc/gnu/gcc-pl* & gcc-newst
  132. :  wowbagger.pc-labor.uni-bremen.de      134.102.228.9   pub/msdos/djgpp
  133. :  src.doc.ic.ac.uk                      146.169.2.1     ibmpc/djgpp
  134. :  ftp.mcc.ac.uk                         130.88.200.7    pub/djgpp
  135. :  UK.AC.MCC.FTPJ (JANET)                user<guest>     <PUB>djgpp
  136.  
  137. :(*) Please do not access during working hours (7am - 6pm their local time)
  138.  
  139.  
  140. >5  cooC (Concurrent, OO C ext.)
  141.  
  142. From: maeda@isl.rdc.toshiba.co.jp (Ken-ichi Maeda)
  143. Subject: cooC FTP release (2nd posting)
  144. Date: 2 Jul 93 15:13:11
  145. Organization: TOSHIBA R & D Center, Kawasaki, JAPAN.
  146.  
  147.         We are pleased to announce the release of new object oriented
  148. language based on C.  The language has support for concurrent object
  149. execution with synchronous or asynchronous message pssaing and wait when
  150. necessary reply handling.  The language known as cooC (concurrent object
  151. oriented C) is available by anonymous FTP for research purposes.
  152.  
  153.         FTP Site:  tsbgw.isl.rdc.toshiba.co.jp (133.196.1.11)
  154.         File: pub/toshiba/cooc-beta.1.1.tar.Z
  155.  
  156.         The released version of cooC employs SunOS(TM) LWP (light weight
  157. process), to obtain concurrent execution.  The release consists of the
  158. language translator (cooC->C), a runtime library (SunOS(TM)), a
  159. concurrent object based debbuger, an example groupware application
  160. (SharedDraw) and some technical papers.
  161.  
  162. BECAUSE THE SYSTEM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
  163. ANY PART OF THE SYSTEM.
  164.  
  165.         TOSHIBA Corporation while making cooC free for research, retains
  166. copyright.
  167.  
  168.         For further detail, please refer to COPYRIGHT notice in the
  169. package.
  170.  
  171.         Any questions and/or comments are welcome at the following
  172. e-mail address.
  173.  
  174.         cooc@isl.rdc.toshiba.co.jp
  175.  
  176. --
  177. --------------------------------------------------------------------
  178. Ken-ichi Maeda <maeda@isl.rdc.toshiba.co.jp>
  179. Communication and Information Systems Research Lab. II
  180. TOSHIBA Research & Development Center
  181. 1, Komukai Toshiba-cho, Saiwai-ku, Kawasaki 210, JAPAN
  182. TEL. (+81- or 0)44-549-2237  FAX. (+81- or 0)44-520-1841
  183. --------------------------------------------------------------------
  184.  
  185.  
  186. >6  FMPL (prototyping)
  187.  
  188. What: Interpreter for FMPL of Accardi, Release 1
  189. From: blojo@xcf.berkeley.edu (Jon Blow)
  190. Date: 2 Jun 92 08:42:26 GMT
  191.  
  192. An interpreter for FMPL of Accardi, Release 1 is now available for ftp at 
  193. xcf.berkeley.edu:src/local/fmpl/.
  194.  
  195. *FMPL is a prototype-based object-oriented programming language.
  196. *FMPL possesses lambda-calculus based constructs.
  197. *FMPL is an event-driven language; the events it responds to are mainly
  198. based on the behavior of input/output streams, not only within the unix domain
  199. but across the internet as well.
  200. *FMPL supports "pretty"-printing of internally-represented code back into
  201. readable form.
  202. *FMPL is an experimental language developed at the Experimental Computing 
  203. Facility of the University of California, Berkeley.  This release is something
  204. of a beta test since the language has not been widely used outside Berkeley.
  205. It is hoped that this release will draw useful comments and suggestions from
  206. the world at large that will help in improving future versions of FMPL.
  207.  
  208.  
  209. >7  MAX (visual OO)
  210.  
  211. From: fingerhu@ircam.fr (Michel Fingerhut)
  212. Subject: IRCAM DSP software for DEC/ALPHA and DEC/MIPS
  213. Organization: Inst. de Recherche et Coordination Acoustique/Musique, Paris
  214. Date: Fri, 13 Aug 93 11:25:23 GMT
  215.  
  216. ftp.ircam.fr:/pub/IRCAM/programs contains some of the IRCAM-developed
  217. software packages (in demo version; see further down for availability
  218. of the fully functional versions), including runnable binaries for
  219. both the DEC/ALPHA (osf1) and DEC/MIPS (ultrix) architectures, and soon
  220. available on other platforms (SGI and Macintosh).
  221.  
  222. MAX
  223.  
  224. MAX is a visual, object-oriented, programming language, initially
  225. designed for interactive musical performance, but which is suitable for
  226. digital signal processing as well as real-time control.  It allows
  227. interconnecting of oscillators and filters, building custom controller
  228. modules and simulation units all from a core collection of signal
  229. processing objects.
  230.  
  231. First developed by Miller Puckette at IRCAM in late 1986 to control
  232. the IRCAM 4X, it was later implemented on the Apple Macintosh as a
  233. graphical programming environment for MIDI applications.  This version
  234. has been extended by the Opcode company in Palo Alto, CA (USA), and is
  235. available through them.
  236.  
  237. The Alpha version (and its demo-only subset) is based on the NeXT
  238. version, where it is used to control the IRCAM-designed ISPW board.
  239. This card, based on two Intel i860 microprocessors, handles
  240. numerically-intensive real-time operations.
  241.  
  242. To date, it has been extensively used in live performance of
  243. full-length musical compositions (see some references in the MAX/doc
  244. directory), as well as in scientific and experimental applications
  245. requiring real-time control.
  246.  
  247. SVP
  248.  
  249. SVP (``Super Vocodeur de Phase'') is a signal processing tool which was
  250. designed and developed at IRCAM by Gilles Poirot and Philippe
  251. Depalle.  It is a full system for the analysis and synthesis of sound,
  252. whose core is a phase vocoder, and which comprises several modules for
  253. analysis (FFT, LPC..), filtering (band modes, surface modes...), time-
  254. scaling, mixing, spectral combination, cross-synthesis and
  255. amplification, which can be combined in multiple ways.
  256.  
  257. UDI
  258.  
  259. UDI is a library of C routines which provides a coherent software
  260. approach for developing and maintaining digital signal processing
  261. algorithms on stand-alone workstations or on host/array processor
  262. configuration.  Initially designed for sound signal analysis and
  263. synthesis, it can be used by any application which does vector math
  264. calculation.
  265.  
  266. It provides functions ranging from elementary vector and matrix
  267. operations to more specific DSP operations, such as, but not limited
  268. to, FFT, least-square, linear prediction coding, discrete cepstrum and
  269. pitch detection.
  270.  
  271. UDI was actually used in implementing SVP.
  272.  
  273. HOW TO RETRIEVE
  274.  
  275. The following example contains underlined text.  If it does not print
  276. nicely, use your favorite editor in order to remove all occurrences of
  277. "^H_" (control-H followed by underscore).
  278.  
  279. Connect via ftp to ftp.ircam.fr.  Engage into the following dialog (the
  280. underlined text is the reply you should provide
  281.  
  282.         220 ftp FTP server (Version 6.17 Thu Mar 11 08:30:51 MET 1993) ready.
  283.         Name (ftp:host): f _t _p _            (or: a _n _o _n _y _m _o _u _s _)
  284.         Passwd: l _o _g _i _n _@ _y _o _u _r _m _a _c _h _i _n _e _       (see NOTE further down)
  285.         230-...
  286.         230-(informational messages, please read!)
  287.         230-...
  288.         ftp> c _d _  _p _u _b _/ _I _R _C _A _M _/ _p _r _o _g _r _a _m _s _
  289.         250 CWD command successful.
  290.         ftp> g _e _t _  _R _E _A _D _M _E _
  291.         200 PORT command successful.
  292.         150 Opening ASCII mode data connection for README (nnn bytes).
  293.         226 Transfer complete.
  294.         local: README remote: README
  295.         nnn bytes received in mmm seconds (xxx Kbytes/s)
  296.         ftp> b _i _n _
  297.         200 Type set to I.
  298.         ftp> g _e _t _  _s _v _p _. _t _a _r _. _g _z _             (or u _d _i _. _t _a _r _. _g _z _ or m _a _x _. _t _a _r _. _g _z _)
  299.         ...
  300.         ftp> q _u _i _t _
  301.  
  302. NOTE
  303.  
  304. The ftp server requires you to give as password something of the form
  305.         l _o _g _i _n _@ _h _o _s _t _
  306. where l _o _g _i _n _ is your login name (or account name, or user information)
  307. and h _o _s _t _ is the fully-qualified name of the machine you are currently calling
  308. from, which is not necessarily the one on which you get your mail.  If you
  309. mistype it, the ftp server will advise you with an informative error message.
  310.  
  311. AVAILABILITY
  312.  
  313. For information on availability of these and other IRCAM tools with
  314. full functionality and documentation, and/or licensing of source code,
  315. as well as IRCAM publications (technical/scientific reports) please contact
  316. (in french or english, preferably):
  317.  
  318.         Mr. Vincent Puig
  319.         Directeur de la Valorisation
  320.         IRCAM
  321.         31, rue Saint-Merri
  322.         F-75004 Paris, France
  323.  
  324.         email:  puig@ircam.fr
  325.         FAX:    +33 1 42 77 29 47
  326.  
  327. Additional info can be found in the README file in the above directory.
  328.  
  329. REPORTING PROBLEMS AND GETTING HELP
  330.  
  331. ... in retrieving the software and/or in running it: please send email to
  332.  
  333.         manager@ircam.fr
  334.  
  335.  
  336.  
  337. >8  O'small (OO lang for teaching)
  338.  
  339. From: hense@sol.cs.uni-sb.de (Andreas Hense)
  340. Subject: *** NEW O'small compiler available by ftp !!! ***
  341. Date: 25 Jun 1993 13:54:35 GMT
  342. Organization: Universitaet des Saarlandes,Rechenzentrum
  343.  
  344.              O'small - THE object-oriented language for teaching
  345.              ---------------------------------------------------
  346.                        (Announcement of a new compiler)
  347.  
  348. *** An object-oriented language for teaching?
  349.  
  350. Depending on which aspects of object-orientation you want to convey you
  351. may choose your teaching language. If you want to teach the aspect of
  352. software reuse and nice graphical user interfaces, you should choose
  353. Smalltalk. If you want to show students how to program in a best
  354. selling language you should choose C++.
  355.  
  356.  
  357. *** In which case should I choose O'small?
  358.  
  359. You should consider O'small if you believe that computer languages
  360. should have a GOOD FORMAL SEMANTICS. Everyone will agree that a
  361. language needs a formal semantics. Otherwise, your program will yield
  362. different results on different implementations. A good formal
  363. semantics does not only serve the purpose of precisely defining what
  364. the results of your programs are, it also gives insights about the
  365. nature of the language. 
  366.  
  367. You should consider O'small if you do not want to waste time on
  368. unnecessary details. O'small is CONCISE. Its syntax and semantics
  369. takes no more than one page (if you choose the right font). Its syntax
  370. is similar to more traditional languages. O'small has been used in a
  371. lecture showing the differences between wrapper semantics
  372. (denotational) and method lookup semantics (operational). 
  373.  
  374. O'small is FREE! Up to now, there has only been an O'small interpreter
  375. written in Miranda [Hen91b]. This interpreter is directly based on the
  376. denotational semantics of O'small [Hen91d]. The interpreter itself is
  377. available by ftp. However, you need Miranda in order to run it. Now,
  378. there is a NEW IMPLEMENTATION of O'small based entirely on EASILY
  379. AVAILABLE SOFTWARE. This software is not free but it does not cost
  380. anything. The new implementation is based on an abstract machine [Boe93].
  381.  
  382. You can MODIFY the language and have your students make experiments
  383. with it. The source code of the abstract machine and the
  384. specifications for the parser and scanner generators are available.
  385. Using these generators you can make experiments for your own research
  386. in statical analysis of object-oriented languages.
  387.  
  388.  
  389. *** I would like to TRY O'small
  390.  
  391. You get the implementation by anonymous internet ftp.
  392. The following table gives the ftp connection information.
  393.  
  394. Host:                   Net Address:      Directory:
  395. -------------------------------------------------------------
  396. cs.uni-sb.de            134.96.7.254      /pub/osmall/machine
  397.  
  398. The directory /pub/osmall/machine contains the files
  399.         README 
  400.         ANNOUNCE                this file
  401.         HowToGetML 
  402.         oma.1.00.tar.Z          compressed tar-file
  403.  
  404.  
  405. ***************************************************************************
  406. NOTE: Ftp should be put into binary mode before transferring the compressed
  407. tar file.
  408. ***************************************************************************
  409.  
  410. Here is a sample dialog:
  411.  
  412.    ftp
  413.    ftp> open cs.uni-sb.de
  414.    Name: anonymous
  415.    Password: <your name>
  416.    ftp> binary
  417.    ftp> cd /pub/osmall/machine
  418.    ftp> get README
  419.    ftp> get ANNOUNCE
  420. (  ftp> get HowToGetML  )
  421.    ftp> get oma.1.00.tar.Z
  422.    ftp> close
  423.    ftp> quit
  424.  
  425. If you have a Sun 4 or a SPARC you can use the existing executable files.
  426. Otherwise, you need 'sml-yacc', 'sml-lex' and 'sml-noshare'. Read
  427. 'HowToGetML' to obtain them.
  428.  
  429. Instructions on using the machine are contained in the file README.
  430.  
  431. References
  432.  
  433. [Boe93]  Christoph Boeschen.  Christmas - An abstract machine for
  434.          O'small.  Master's thesis, Universit"at des Saarlandes, 
  435.          Fachbereich 14, June 1993.
  436.  
  437. [Hen91b] Andreas V. Hense.  An O'small interpreter based on denotational
  438.          semantics.  Technical Report A 07/91, Universit"at des Saarlandes,
  439.          Fachbereich 14, November 1991.
  440.  
  441. [Hen91c] Andreas V. Hense. Type inference for O'small. Technical Report A
  442.          06/91, Universit"at des Saarlandes, Fachbereich 14, October 1991.
  443.  
  444. [Hen91d] Andreas V. Hense.  Wrapper semantics of an object-oriented pro-
  445.          gramming language with state. In T. Ito and A. R. Meyer, editors,
  446.          Theoretical Aspects of Computer Software, volume 526 of Lecture No-
  447.          tes in Computer Science, pages 548-568. Springer-Verlag, September
  448.          1991.
  449.  
  450. [Hen93]  Andreas V. Hense.  Denotational semantics of an object-oriented
  451.          programming language with explicit wrappers.  Formal Aspects of
  452.          Computing, 5(3), 1993. to appear.
  453.  
  454. [HS92]   Andreas V. Hense and Gert Smolka.  A verification of extensible
  455.          record types.  In Zhongzhi Shi, editor, Proceedings of the IFIP
  456.          TC12/WG12.3 International Workshop on Automated Reasoning,
  457.          pages 137-164, Beijing, P.R. China, 13-16 July 1992. Internatio-
  458.          nal Federation for Information Processing, Elsevier, North-Holland,
  459.          Excerpta Medica.
  460.  
  461. [HS93]   Andreas V. Hense and Gert Smolka.  Principal types for object-
  462.          oriented languages. Technical Report A 02/93, Universit"at des Saar-
  463.          landes, Fachbereich 14, June 1993.
  464.  
  465.  
  466. >9  OBJ3 (OO lang)
  467.  
  468. What: Release 2.0 of OBJ3 (needed for FOOPS and OOZE, concurrent OOP)
  469. Date: Thu, 4 Jun 92 15:07:26 BST
  470. From: Paulo.Borba@prg.oxford.ac.uk
  471.  
  472. OBJ is available from SRI, see the message below; prototypes implementations of
  473. FOOPS (without the concurrent extension) and OOZE are due to the end of the
  474. year, but for both you also need OBJ. 
  475.  
  476. Unfortunately, I don't have any document about the FOOPS extension now, but
  477. probably by the end of the year. I will send it to you as soon as possible.
  478.  
  479.  
  480. What: Release 2.0 of OBJ3 is now available
  481. From: winkler@csl.sri.com (Timothy Winkler)
  482. Date: 6 Apr 92 08:35:40 GMT
  483.  
  484. Release 2.0 of OBJ3 is now available!
  485.  
  486. Improvements in this version include some language extensions and additional 
  487. theorem proving features.  In addition, an effort has been made to speed up
  488. the implementation; rewriting is often twice as fast as in the original
  489. implementation.  We are including the AKCL patches from the University of
  490. Texas at Austin in the distribution, which are necessary for maintaining the
  491. portability of OBJ3 and also improve its efficiency.  In addition, we are
  492. distributing a SPARC version of OBJ3.
  493.  
  494. OBJ3 has pattern matching modulo associativity, commutativity, and identity.
  495. New: the system automatically computes conditions for rules involving matching
  496. modulo identity that are used to prevent obvious non-termination problems.
  497.  
  498. Also new to this version of OBJ3 is a facility for controlled rewriting. This
  499. provides substantially increased support for the use of the system for
  500. equational theorem proving.
  501.  
  502. To receive the OBJ3 distribution tape or an OBJ3 license, send a request
  503. to:
  504.  
  505.            Judith Burgess (OBJ3)
  506.            Computer Science Laboratory
  507.            SRI International
  508.            333 Ravenswood Ave.
  509.            Menlo Park, CA 94025-3493, USA
  510.  
  511.         Telephone: (415) 859-5924
  512.         Fax: (415) 859-2844
  513.             email: obj3dist@csl.sri.com
  514.  
  515. Be sure to give us your postal mailing address.  Then we will send you the
  516. OBJ3 Information Form, and License Agreement, with instructions on how to
  517. fill them out.  (A KCL license form will also be included.)  When you return
  518. them to us, appropriately filled out and signed, we will send you the tape,
  519. somedocumentation, and, in case you are requesting a tape, an invoice for
  520. $150.00 plus any required taxes.
  521.  
  522. If you already have an OBJ3 license, then you don't need to get a new license,
  523. but, if you are requesting a tape from SRI, you are asked to pay the above
  524. distribution fee.
  525.  
  526. It is also possible to get a license for OBJ3 at no charge from SRI and then
  527. get the OBJ3 distribution itself from some third party also having a license.
  528.  
  529. Jose Meseguer, Timothy Winkler, and Patrick Lincoln
  530. Computer Science Laboratory
  531. SRI International
  532. 333 Ravenswood Avenue
  533. Menlo Park, California 94025, USA
  534.  
  535. Joseph Goguen
  536. Programming Research Group
  537. Computing Laboratory
  538. Oxford University
  539. 11 Keble Road
  540. Oxford OX1 3QD, United Kingdom
  541.  
  542.  
  543. >10  OBST (lang, perst, OODB)
  544.  
  545. See entry under Appendix B.
  546.  
  547.  
  548. >11  OOT (OO Turing demo)
  549.  
  550. What: OOT
  551. From: holt@turing.toronto.edu (Ric Holt)
  552. Date: 26 Apr 93 20:14:43 GMT
  553.  
  554. OBJECT ORIENTED TURING: DEMO AVAILABLE VIA FTP
  555.  
  556. OOT (Object Oriented Turing) is a programming language that has been 
  557. developed at the University of Toronto.  An OOT demo, which includes the 
  558. fully implemented language, is available for Sun/4's running X windows.  
  559. See below for instructions to copy the demo to your site.
  560.  
  561. OOT supports the standard OOPL features of information hiding, classes,
  562. polymorphism and generics, as well as the usual features in C and Pascal 
  563. style languages.  It also supports concurrency, exception handling 
  564. and system programming (pointer arithmetic, bit manipulation, etc).  
  565.  
  566. The OOT environment is designed for teaching Computer Science.
  567. It is being used in introductory programming courses, courses
  568. on OO concepts, compiler courses, OS courses, etc.
  569.  
  570. The OOT environment is fully integrated, with multi-window editing, turbo 
  571. speed compiler, integrated color graphics, GUI user interface, implicit MAKE, 
  572. on-line manual, integrated demos, etc.  The system includes an experimental
  573. CASE tool with an interface browser and a visual system browser.
  574.  
  575.  
  576. >12  Sather (simple Eiffel)
  577.  
  578. What: SATHER
  579.  
  580. Sather is under development at the International Computer Science Institute.
  581. Sather has clean and simple syntax, parameterized classes, object-oriented
  582. dispatch, multiple inheritance, strong typing, and garbage collection. The
  583. compiler generates efficient and portable C code which is easily integrated
  584. with existing code.
  585.  
  586. The initial beta test release of the language was in May, 1991. The compiler,
  587. debugger, Emacs development environment, documentation, and library classes
  588. are available by anonymous ftp from "icsi-ftp.berkeley.edu".
  589. "sather@icsi.berkeley.edu" is a mailing list for discussing aspects of Sather
  590. and "sather-admin@icsi.berkeley.edu" should be used for bug reports and
  591. requests to be added or deleted from the mailing list.
  592.  
  593. Sather is based on Eiffel but is more concerned with efficiency and less with
  594. some of the formal and theoretical issues addressed by Eiffel. The language is
  595. much smaller than the current Eiffel, it eliminates over 40 keywords and
  596. simplifies the syntax and inheritance rules. 
  597.  
  598. Like Eiffel, Sather code is compiled into portable C and efficiently links
  599. with existing C code. The Sather compiler is written in Sather and has been
  600. operational for almost a year, though it is still being improved. Preliminary
  601. benchmarks show a performance improvement over Eiffel of between a factor of 4
  602. and 50 on basic dispatching and function calls. On the benchmarks used at
  603. Stanford to test Self (including 8 queens, towers of hanoi, bubblesort, etc),
  604. Sather is even slightly faster than C++.
  605.  
  606. The Sather compiler and libraries are publicly available under a very
  607. unrestrictive license aimed at encouraging contribution to the public library
  608. without precluding the use of Sather for proprietary projects.  The goal is to
  609. establish a repository for efficient, reusable, well written, publicly
  610. available, classes for most of the important algorithms in computer science.
  611. There are currently about 120 classes in the library. The libraries are
  612. growing quickly and will collect together classes from many authors under the
  613. same unrestrictive license. 
  614.  
  615. A GNU emacs development environment for Sather is available. A debugger based
  616. on gdb from the Free Software Foundation is also available. A parallel version
  617. of Sather for shared memory machines called "Psather" is also under
  618. development.
  619.  
  620. From the Sather FAQ, August 16, 1993 (See Section 1.24):
  621.  
  622. Q 1: What is Sather?
  623.      ~~~~~~~~~~~~~~ 
  624. Sather is an object oriented language which aims to be simple,
  625. efficient, interactive, safe, and non-proprietary. It aims to meet the
  626. needs of modern research groups and to foster the development of a
  627. large, freely available, high-quality library of efficient
  628. well-written classes for a wide variety of computational tasks. It was
  629. originally based on Eiffel but now incorporates ideas and approaches
  630. from several languages. One way of placing it in the "space of
  631. languages" is to say that it attempts to be as efficient as C, C++, or
  632. Fortran, as elegant and safe as Eiffel or CLU, and to support
  633. interactive programming and higher-order functions as well as Common
  634. Lisp, Scheme, or Smalltalk.
  635.  
  636. Sather has garbage collection, statically-checked strong typing,
  637. multiple inheritance, separate implementation and type inheritance,
  638. parameterized classes, dynamic dispatch, iteration abstraction,
  639. higher-order routines and iters, exception handling, assertions,
  640. preconditions, postconditions, and class invariants. The development
  641. environment integrates an interpreter, a debugger, and a
  642. compiler. Sather code can be compiled into C code and can efficiently
  643. link with C object files.
  644.  
  645.  
  646. >13  Self
  647.  
  648. From: hoelzle@Xenon.Stanford.EDU (Urs Hoelzle)
  649. Subject: Announcing Self 3.0
  650. Date: 28 Dec 93 22:19:34 GMT
  651.  
  652.                ANNOUNCING Self 3.0 
  653.  
  654. The Self Group at Sun Microsystems Laboratories, Inc., and Stanford
  655. University is pleased to announce Release 3.0 of the experimental
  656. object-oriented programming language Self.
  657.  
  658. This release provides simple installation, and starts up with an
  659. interactive, animated tutorial.
  660.  
  661. Designed for expressive power and malleability, Self combines a pure,
  662. prototype-based object model with uniform access to state and
  663. behavior. Unlike other languages, Self allows objects to inherit state
  664. and to change their patterns of inheritance dynamically. Self's
  665. customizing compiler can generate very efficient code compared to
  666. other dynamically-typed object-oriented languages.
  667.  
  668. The latest release is more mature than the earlier releases: more
  669. Self code has been written, debugging is easier, multiprocessing is more
  670. robust, and more has been added to the experimental graphical user interface
  671. which can now be used to develop code. There is now a mechanism
  672. (still under development) for saving objects in modules, and a
  673. source-level profiler.
  674.  
  675. The Self system is the result of an ongoing research project and
  676. therefore is an experimental system. We believe, however, that the
  677. system is stable enough to be used by a larger community, giving
  678. people outside of the project a chance to explore Self.
  679.  
  680. 2 This Release
  681.  
  682. This release is available free of charge and can be obtained via
  683. anonymous ftp from Self.stanford.edu. Also available for ftp are a
  684. number of published papers about Self.
  685.  
  686. There is a mail group for those interested in random ramblings about Self,
  687. Self-interest@Self.stanford.edu. Send mail to self-request@self.stanford.edu
  688. to be added to it (please do not send such requests to the mailing list
  689. itself!).
  690.  
  691. 2.1 Implementation Status
  692.  
  693. Self currently runs on SPARC-based Sun workstations running SunOS 4.1.x
  694. or Solaris 2.3. The Sun-3 implementation is no longer provided.
  695.  
  696. 2.2 Major Changes
  697.  
  698. Below is a list of changes and enhancements that have been made since
  699. the last release (2.0.1).  Only the major changes are included. 
  700.  
  701. o The graphical browser has been extended to include editing
  702.   capabilities. All programming tasks may now be performed through the
  703.   graphical user interface (the "ui"). Type-ins allow for expression
  704.   evaluation, menus support slot editing, and methods can be entered and
  705.   edited. If you are familiar with a previous version of the Self
  706.   system, Section 14.1 of the manual entitled "How to Use Self 3.0"
  707.   contains a quick introduction to the graphical user interface. The
  708.   impatient might want to read that first.
  709.  
  710. o A mechanism - the transporter - has been added to allow arbitrary
  711.   object graphs to be saved into files as Self source. The system has
  712.   been completely modularized to use the transporter; every item of
  713.   source now resides in a transporter-generated
  714.   module. Transport-generated files have the suffix .sm to distinguish
  715.   them from "handwritten" files (.Self), though this may change as we
  716.   move away from handwritten source.  The transporter is usable but rough,
  717.   we are still working on it.
  718.  
  719. o Every slot or object may now have an annotation describing the
  720.   purpose of the slot. In the current system, annotations are strings
  721.   used to categorize slots. We no longer categorize slots using
  722.   explicit category parent objects. Extra syntax is provided to annotate
  723.   objects and slots.
  724.  
  725. o A new profiler has been added, which can properly account for the
  726.   time spent in different processes and the run-time system, and which
  727.   presents a source-level profile including type information (i.e.,
  728.   methods inherited by different objects are not amalgamated in the
  729.   profile, nor are calls to the same method from different sites). It
  730.   also presents a consistent source-level view, abstracting from the
  731.   various compiler optimizations (such as inlining) which may confuse
  732.   the programmer.
  733.  
  734. o Privacy is not enforced, although the privacy syntax is still
  735.   accepted. The previous scheme was at once too restrictive (in that
  736.   there was no notion of "friend" objects) and too lax (too many object
  737.   had access to a private slot). We hope to include a better scheme in
  738.   the next release.
  739.  
  740. o The "new" compiler has been supplanted by the SIC ("simple inlining
  741.   compiler"), and the standard configuration of the system is to
  742.   compile first with a fast non-optimizing compiler and to 
  743.   recompile later with the SIC. Pauses due to compilation or
  744.   recompilation are much smaller, and applications usually run faster.
  745.  
  746. o Characters are now single-byte strings. There is no separate
  747.   character traits.
  748.  
  749. o Prioritized inheritance has been removed; the programmer must now
  750.   manually resolve conflicts. We found the priority mechanism of
  751.   limited use, and had the potential for obscure errors.
  752.  
  753. 2.4 Bug Reports
  754.  
  755. Bug reports can be sent to self-bugs@self.stanford.edu. Please include
  756. an exact description of the problem and a short Self program
  757. reproducing the bug.
  758.  
  759. 2.5 Documentation
  760.  
  761. This release comes with two manuals:
  762.    How to Use Self 3.0 (SelfUserMan.ps)
  763.    The Self Programmer's Reference Manual (progRef.ps)
  764.  
  765. Happy Holidays!
  766.  
  767. -- The Self Group
  768.  
  769.  
  770. >14  C++ gram, etc.
  771.  
  772. What: ftp site for C++ material
  773. From: schrod@iti.informatik.th-darmstadt.de (Joachim Schrod)
  774. Date: 27 May 92 22:32:35 GMT
  775.  
  776. There were a lot of questions about C++ material in the last time and some 
  777. announcements which involved our ftp server.
  778.         ftp.th-darmstadt.de [130.83.55.75]
  779.         /pub/programming/languages/C++
  780. At the moment we have:
  781.  -- documentation and assorted stuff
  782.         C++ products list as announced by Saumen K Dutta (in a subdirectory!)
  783.         C++ YACC grammar, ET++ tutorial, summaries from the Net,
  784.         sources from James Coplien's book (idioms...), etc.
  785.  -- class libraries
  786.         NIHCL (original, persistent for ObjectStore, with g++ 1.4x changes)
  787.         COOL, OATH, RogueWave vector, ET++,
  788.         RPC package, a package for sockets, awe (thread package)
  789.  -- tools
  790.         class browser (for GNU Emacs), indent++, yacc+, template
  791.         processor of Brad Cox[sp?], DEC garbage collector
  792.  
  793. More stuff is always welcome.  (Btw, Interviews and Motif C++ wrapper
  794. classes are to be found in the /pub/X11 subtree.)
  795.  
  796.  
  797. >15  ConceptBase (OODB, reqkey)
  798.  
  799. What: ConceptBase
  800.  
  801. See APPENDIX B.
  802.  
  803. A four week test-version of ConceptBase V3.1 is available 
  804. on the FTP server ftp.informatik.rwth-aachen.de in the 
  805. directory pub/CB.  For running the ftp version you must ask for a 
  806. key by email.
  807.  
  808.  
  809. >16  C++ OODB
  810.  
  811. From: darrenp@dibbler.cs.monash.edu.au (Daz)
  812. Subject: Re: Class libraries for accessing RDBs ?
  813. Organization: Monash University, Melb., Australia.
  814. Date: Thu, 17 Jun 1993 23:53:22 GMT
  815.  
  816. shekar@gizmo.CS.MsState.Edu (Chandrashekar Ramanathan) writes:
  817.  
  818. >Hello,
  819. >       Are there any shareware/ftp'able C++ class libraries that
  820. >provide Relational Database access? I would also appreciate any
  821. >pointers (ideas/articles/journals) to the various issues that one has
  822. >to consider in designing such library. 
  823. Ok, I'm not sure if it's exactly what you want, but it's a database, it's
  824. fully written in c++ with classes etc, and it's out for beta testing.
  825.  
  826. Check out pippin.cs.monash.edu.au:pub/export/diamond-0.1.2.tar.Z
  827. and please mail darrenp@dibbler.cs.monash.edu.au if you decide to play with
  828. it.
  829.  
  830. Daz.
  831. --
  832. Darren Platt, Department of Computer Science
  833. darrenp@dibbler.cs.monash.edu.au
  834. Monash University, Clayton Melbourne, Victoria, Australia
  835.  
  836.  
  837. >17  Exodus (Storage Man, perst)
  838.  
  839. What: Exodus project software (Storage Manager & GNU E)
  840. From: zwilling@caseus.cs.wisc.edu (Mike Zwilling)
  841. Date: 16 Jul 92 04:53:19 GMT
  842.  
  843. In the past there have been discussions in comp.object and comp.databases
  844. about persistent storage for object-oriented databases and programming
  845. languages.  As you may know, the EXODUS Database Toolkit project at the
  846. University of Wisconsin has researched these issues and others for a number of
  847. years.  The purpose of this note is to inform you that the software from the
  848. EXODUS project is freely available via anonymous ftp.  The EXODUS software
  849. includes the EXODUS Storage Manager and the compiler for the E persistent
  850. programming language.  Also included is documentation, and a suite of test
  851. programs for both components.  This note briefly describes the software and
  852. explains how to obtain it.  We currently support DECstation 3100s/5000s and
  853. SPARC based workstations.  Others have ported the code to HP700s and IBM
  854. RS6000s.
  855.  
  856. The EXODUS Storage Manager is a client-server object storage system which
  857. provides "storage objects" for storing data, versions of objects, "files"
  858. for grouping related storage objects, and indexes for supporting efficient
  859. object access.  A storage object is an uninterpreted container of bytes which
  860. can range in size from a few bytes to hundreds of megabytes.  The Storage
  861. Manager provides routines to read, overwrite, and efficiently grow and shrink
  862. objects.  In addition, the Storage Manager provides transactions, lock-based
  863. concurrency control, and log-based recovery.
  864.  
  865. GNU E is a persistent, object-oriented programming language developed as part
  866. of the Exodus project.  GNU E extends C++ with the notion of persistent data,
  867. program level data objects that can be transparently used across multiple
  868. executions of a program, or multiple programs, without explicit input and
  869. output operations.
  870.  
  871. GNU E's form of persistence is based on extensions to the C++ type system to 
  872. distinguish potentially persistent data objects from objects that are always
  873. memory resident.  An object is made persistent either by its declaration (via
  874. a new "persistent" storage class qualifier) or by its method of allocation
  875. (via persistent dynamic allocation using a special overloading of the new
  876. operator).  The underlying object storage system is the Exodus storage manager,
  877. which provides concurrency control and recovery in addition to storage for
  878. persistent data.
  879.  
  880. The current release of GNU E is based on gcc/g++ version 2.2.2, and is upward 
  881. compatible with C++ as implemented by that compiler.
  882.  
  883. A bibliography of EXODUS related papers can be obtained from the ftp site
  884. described below.
  885.  
  886. To obtain the software, simply ftp to ftp.cs.wisc.edu (128.105.8.18), login
  887. as anonymous with your email address as a password, "cd" to the "exodus"
  888. directory, and follow the directions (directions will be given as you "cd").
  889. See the README for the latest information about the software and an indication
  890. of our future plans.  If you decide to use the software, please contact us at
  891. exodus@cs.wisc.edu so that we can notify you of changes.
  892.  
  893.  
  894. >18  GRAS
  895.  
  896. GRAS - A Graph-Oriented Database System for SE Applications
  897. Copyright (C) 1987-1992  Lehrstuhl Informatik III, RWTH Aachen
  898. This library is free software under the terms of the GNU Library 
  899. General Public License.
  900.  
  901. Lehrstuhl f"ur Informatik III --> GRAS
  902. University of Technology Aachen (RWTH Aachen),
  903. Ahornstr. 55,
  904. D-5100 Aachen
  905. Contact : Dr. Andy Sch"urr (or Richard Breuer),
  906. andy@rwthi3.informatik.rwth-aachen.de
  907. ricki@rwthi3.informatik.rwth-aachen.de (for technical support)
  908.  
  909. The system GRAS with interfaces for the programming languages Modula-2
  910. and C is available as public domain software for Sun3/Sun4 workstations
  911. (the GRAS system itself is implemented in Modula-2 and consists of many
  912. layers which might be reusable for the implementation of other systems): 
  913.  
  914.   Via anonymous ftp from tupac-amaru.informatik.rwth-aachen.de
  915.   (137.226.112.31) in the directory /pub/unix/GRAS522_3
  916.  
  917.   There are several files contain documentation, sources, binaries,
  918.   and libraries. All binaries are for Sun/4 machines. Sun/3 binaries
  919.   are shipped only if explicitly requested.
  920.  
  921. [See APPENDIX B]
  922.  
  923.  
  924. >19  MOOD   (OODB, lim arch)
  925.  
  926. What: MOOD/P3 Ver.2.00 OODBS {Miniature,Materials}OODBS.
  927. From: ono@mood.mech.tohoku.ac.jp (Noboru Ono)
  928. Date: 18 May 92 10:28:42 GMT
  929.  
  930. The following program/sample database package is available through anonymous
  931. FTP at mood.mech.tohoku.ac.jp (130.34.88.61). Sorry it is not the sources and
  932. operates only in NEC-PC9801/MS-DOS environment.  Sorry again documents are all
  933. in Japanese. We will tell you later when English documents has become ready.
  934.  
  935.       MOOD/P3 Ver.2.00
  936.       Material's Object-Oriented Database, Prototype 3
  937.  
  938. This program, as you may guess,
  939.  
  940.       1) is an Object-Oriented database system program,
  941.       2) operates on PC-9801 series personal computer, and
  942.       3) is accompanied by sample material database schema.
  943.  
  944. Although this program has been developed and being used in the experiments
  945. on material data processing in which we are now involved, it is a general
  946. purpose OODBS. 
  947.  
  948. Noboru Ono
  949. Dept. of Machine Intelligence and Systems Engineering,
  950. Faculty of Engineering, Tohoku University.
  951. Tel:++22-222-1800
  952. Fax:++22-268-3688
  953. E-mail:ono@mood.mech.tohoku.ac.jp
  954.  
  955.  
  956. >20  Ode    (C++ OODB)
  957.  
  958. Note: Ode version 3.0 is now available.
  959.  
  960. What: Ode Release 1.1
  961. From: nhg@research.att.com
  962.  
  963. Ode is an object-oriented database based on the C++ database model. The
  964. primary interface to Ode is the database programming language O++ which is
  965. based on C++.
  966.  
  967. Ode 1.1 is now available to Universities.  This is a beta release.  The
  968. current version of Ode runs on Sun (Sparc) workstations and users must have
  969. C++ release 2.0 or a later release.  If you are interested in using Ode and
  970. giving us feedback on your experience with Ode, please send me mail with the
  971. appropriate information.
  972.  
  973. Narain Gehani
  974. AT&T Bell Labs 3D-414
  975. 600 Mountain Ave
  976. Murray Hill, NJ 07974
  977.  
  978.  
  979. From: thssamj@iitmax.iit.edu (Aditya M. Jani)
  980. Subject: *Announcement* UserGroup for ODE (OODBMS from AT&T)
  981. Organization: Illinois Institute of Technology, Chicago
  982. Date: Fri, 25 Jun 93 17:27:53 GMT
  983.  
  984.                     Ode Object database v2.0
  985.                     ------------------------
  986. Ode 2.0 is available via ftp from research.att.com.
  987. Here is a sample session showing how to retrieve Ode 2.0
  988. which is kept in the directory
  989.  
  990.     dist/ode2.0
  991.  
  992. as a compressed tar file named
  993.  
  994. 2.0.oppbin.tar.Z
  995.  
  996. First create the directory on the local machine
  997. where ode is to be installed, e.g.,
  998.  
  999. mkdir ode
  1000. cd ode
  1001.  
  1002. Retrieve the compressed tar Ode file using ftp into
  1003. as illustrated below.
  1004. Then uncompress it
  1005.  
  1006. uncompress 2.0.oppbin.tar.Z
  1007.  
  1008. and unbundle it
  1009.  
  1010. tar xvf 2.0.oppbin.tar
  1011.  
  1012. Next see file README, fix install file, and run install
  1013.  
  1014. ./install
  1015.  
  1016.  
  1017.  
  1018.  
  1019. Sample ftp session
  1020. --------------
  1021. $ ftp research.att.com
  1022. Connected to tcp!192.20.225.2!1390.
  1023. 220 inet FTP server (Version 4.271 Fri Apr 9 10:11:04 EDT 1993) ready.
  1024. Name (research.att.com:smith): anonymous
  1025. 331 Guest login ok, send ident as password.
  1026. Password: smith@hostname
  1027. 230 Guest login ok, access restrictions apply.
  1028. Remote system type is UNIX.
  1029. Using binary mode to transfer files.
  1030. ftp> cd dist
  1031. 250 CWD command successful.
  1032. ftp> cd ode2.0
  1033. 250 CWD command successful.
  1034. ftp> get 2.0.oppbin.tar.Z
  1035. 200 PORT command successful.
  1036. 150 Opening BINARY mode data connection for 2.0.oppbin.tar.Z (2762525
  1037. bytes).
  1038. 226 Transfer complete.
  1039. 2762525 bytes received in 1.6e+02 seconds (16 Kbytes/s)
  1040. ftp> quit 
  1041. 221 Goodbye.
  1042.  
  1043. -------------------------------------------------------------------------------
  1044.  
  1045.                               Available Now!
  1046.  
  1047.  
  1048.  
  1049.  
  1050.                                  Ode 2.0
  1051.                        An Object-Oriented Database
  1052.  
  1053.        C++ Compatible, Fast Queries, Complex Application Modeling,
  1054.        Multimedia Support, and more
  1055.  
  1056.  
  1057.  
  1058.  
  1059.        Ode 2.0 is now available to Universities.  Users who currently
  1060.        have Ode 1.1 will be automatically sent a tape with Ode 2.0.
  1061.        There is no charge for Ode.  However, AT&T requires the signing
  1062.        of a non-disclosure agreement.
  1063.  
  1064.  
  1065.  
  1066.        Details
  1067.        -------
  1068.  
  1069.        ODE OBJECT-ORIENTED DATABASE
  1070.  
  1071.        The Ode object database is based on the C++ object paradigm.
  1072.        Ode  uses  one  integrated data model (C++ classes) for both
  1073.        database and general purpose manipulation.  The Ode database
  1074.        is   defined,   queried  and  manipulated  in  the  database
  1075.        programming language O++, which provides simple and  elegant
  1076.        facilities for manipulating the database.
  1077.  
  1078.        O++  is  an  upward-compatible  extension  of  C++.   A  few
  1079.        facilities have been added to C++ to make it into a database
  1080.        programming language.  C++ programmers can learn  O++  in  a
  1081.        very short time.
  1082.  
  1083.        O++ programs can be compiled with C++ programs thus allowing
  1084.        the use of existing C++ code.
  1085.  
  1086.        THE ODE MODEL OF PERSISTENCE
  1087.  
  1088.        Ode offers a simple and elegant notion of persistence  which
  1089.        is   modeled  on  the  ``heap''.   Specifically,  memory  is
  1090.        partitioned into volatile and persistent.  Volatile  objects
  1091.        are   allocated   in   volatile   memory  (stack  or  heap).
  1092.        Persistent objects are allocated  in  persistent  store  and
  1093.        they  continue  to exist after the program that created them
  1094.        has terminated.
  1095.  
  1096.        An Ode database is a collection of persistent objects.  Each
  1097.        object  is  identified  by  a  unique  object  id  (i.e.,  a
  1098.        persistent pointer,  or  to  be  precise,  a  pointer  to  a
  1099.        persistent object).
  1100.  
  1101.        The database programming language  O++  provides  facilities
  1102.        for   creating  and  manipulating  the  Ode  database.   For
  1103.        example,   O++   provides    facilities    for    specifying
  1104.        transactions,  creating and manipulating persistent objects,
  1105.        querying the database, creating and manipulating versions.
  1106.  
  1107.        WHAT IS AN OBJECT-ORIENTED DATABASE
  1108.  
  1109.        Some  important  characteristics   of   an   object-oriented
  1110.        database are:
  1111.  
  1112.           + data is stored as objects,
  1113.  
  1114.           + data  can  be  interpreted  (using  methods)  only   as
  1115.             specified by the class designer,
  1116.  
  1117.           + relationship  between  similar  objects  is   preserved
  1118.             (inheritance), and
  1119.  
  1120.           + references between objects are preserved.
  1121.  
  1122.        ADVANTAGES OF OBJECT-ORIENTED DATABASES
  1123.  
  1124.           + Speed: Queries can  be  faster  because  joins  (as  in
  1125.             relational  databases)  are  often not needed.  This is
  1126.             because an object can be retrieved directly  without  a
  1127.             search, by following object ids.
  1128.  
  1129.           + No impedance mismatch: The same data model is  used  by
  1130.             both   the   database   programming  language  and  the
  1131.             database;  it  is  not  necessary  to  do  any   format
  1132.             conversions  when  reading  the data from disk and when
  1133.             storing the data on disk.
  1134.  
  1135.           + Programmers  need  to  learn   only   one   programming
  1136.             language:  The  same  programming  language is used for
  1137.             both data definition and data manipulation.
  1138.  
  1139.           + Complex applications: The full power  of  the  database
  1140.             programming language's type system can be used to model
  1141.             the data structures of a complex  application  and  the
  1142.             relationship between the different data items.
  1143.  
  1144.           + Multimedia  applications:  The   semantic   information
  1145.             stored  in  the  database  (class  methods) facilitates
  1146.             correct  interpretation  of  the  data.   This  reduces
  1147.             application complexity since applications do no have to
  1148.             be responsible for the correct interpretation of data.
  1149.  
  1150.           + Versions: Object-oriented databases  typically  provide
  1151.             better support for versioning.  An object can viewed as
  1152.             the set of all its versions.  Also, object versions can
  1153.             be treated as full fledged objects.
  1154.  
  1155.           + Triggers  and  constraints:  Object-oriented  databases
  1156.             provide systematic support for triggers and constraints
  1157.             which are the basis of active databases.
  1158.  
  1159.        Finally, most, if not all, object-oriented applications that
  1160.        have  database  needs  will  benefit  from  using an object-
  1161.        oriented database.  Specifically, C++ applications that have
  1162.        database needs will benefit from using Ode.
  1163.  
  1164.        FEATURES OF ODE
  1165.  
  1166.          1.  Ode is C++ based and compatible with C++.
  1167.  
  1168.          2.  The  Ode  object   database   provides   four   object
  1169.              compatible  mechanisms  for  manipulating and querying
  1170.              the database: O++, OdeView, OdeFS, and CQL++:
  1171.  
  1172.                 + O++ is a database programming language  based  on
  1173.                   C++.   O++  is  upward compatible with C++ and it
  1174.                   makes minimal  changes  to  C++.   O++  offers  a
  1175.                   simple and elegant notion of persistence which is
  1176.                   modeled on the ``heap''.  O++ provides facilities
  1177.                   for querying the database, and a variant of other
  1178.                   facilities.
  1179.  
  1180.                 + OdeView is a graphical X-based interface  to  the
  1181.                   Ode database.
  1182.  
  1183.                 + OdeFS is a  file  system  interface  to  the  Ode
  1184.                   object  database.   OdeFS  allows  objects  to be
  1185.                   treated and  manipulated  like  files.   Standard
  1186.                   commands  such as rm, cp and mv and tools such as
  1187.                   vi and grep can be used to manipulate objects  in
  1188.                   the database.
  1189.  
  1190.                 + CQL++ is a C++ variant  of  SQL  for  easing  the
  1191.                   transition  from  relational databases to object-
  1192.                   oriented databases such as Ode.
  1193.  
  1194.              Currently, only O++ is shipped with Ode 2.0.  A  beta-
  1195.              test version of OdeFS is available upon request.
  1196.  
  1197.          3.  Ode supports large objects  (these  are  critical  for
  1198.              multi-media    applications).    Ode   provides   both
  1199.              transparent access for large objects and a  file  like
  1200.              interface  for  large objects.  The latter can be used
  1201.              to efficiently access and  update  parts  of  a  large
  1202.              object.
  1203.  
  1204.          4.  Users can create versions of objects.  Ode will  track
  1205.              the   relationship   between   versions  and  provides
  1206.              facilities for accessing the different versions.
  1207.  
  1208.          5.  Transactions  can  be  specified  as  read-only;  such
  1209.              transactions  are  faster  because they are not logged
  1210.              and they are less likely to deadlock.
  1211.  
  1212.          6.  Users   can   run    ``hypothetical''    transactions.
  1213.              Hypothetical  transaction  allow users to pose ``what-
  1214.              if'' scenarios (as often  done  with  spread  sheets).
  1215.              User  can  change  data  and  see  the impact of these
  1216.              changes without changing the database.
  1217.  
  1218.          7.  EOS, the storage engine of Ode, is based on a  client-
  1219.              server architecture.  Some features of EOS:
  1220.  
  1221.                a.  Efficient  and  transparent  handling  of  large
  1222.                    objects.  A file-like interface is also provided
  1223.                    for very large objects.
  1224.  
  1225.                b.  Concurrency is based on  multi-granularity  two-
  1226.                    version   two-phase   locking;  it  allows  many
  1227.                    readers and one writer to access the  same  item
  1228.                    simultaneously.
  1229.  
  1230.                c.  Log  records  contain  only  after   images   of
  1231.                    updates,  thus making logs small.  Recovery from
  1232.                    system failures requires one scan over  the  log
  1233.                    resulting in fast restarts.
  1234.  
  1235.        USE MODES
  1236.  
  1237.        Ode supports two modes of use:
  1238.  
  1239.          1.  Client-server (allows multiple  users  to  access  the
  1240.              database concurrently).
  1241.  
  1242.          2.  Single user (improved performance  compared  to  using
  1243.              the client-server mode).
  1244.  
  1245.        USERS
  1246.  
  1247.        Ode 2.0 is currently being used as the multi-media  database
  1248.        engine  for  AT&T's  Interactive TV project.  Ode 1.1 (older
  1249.        version of Ode with  limited  capabilities)  has  also  been
  1250.        distributed to 30+ sites within AT&T and 135+ universities.
  1251.  
  1252.  
  1253. >21  POSTGRES (Ext. Rel. DBMS)
  1254.  
  1255. What: Version 4.0 of the POSTGRES DBMS
  1256. From: mer@gaia.CS.Berkeley.EDU (Jeff Meredith)
  1257. Date: 16 Jul 92 04:53:17 GMT
  1258.  
  1259. Version 4.0 of the POSTGRES DBMS is now available for distribution. Version 4.0 
  1260. provides significant advances in functionality over 3.1.  General improvements
  1261. in the code and some key multi-user bug fixes have resulted in a much more
  1262. reliable system than we have ever previously released.
  1263.  
  1264. Major new features include:
  1265.  o  Complete support for language (POSTQUEL) functions.
  1266.  o  Handling of nested dot expressions.
  1267.  o  Optimization of predicates with expensive functions.
  1268.  o  Binary portals
  1269.  o  Initial support of sets
  1270.  o  Indices on system catalogs.
  1271.  
  1272. Postgres runs on Sparc I, Sparc II, Sun 4 running SunOs, and DECstations
  1273. running ULTRIX >= 4.0, as well as Sequent Symmetry machines.  Postgres
  1274. consists of about 250,000 lines of C.
  1275.  
  1276. If you would like to get Postgres 4.0, you can get it in one of two ways:
  1277.  
  1278. (1)  Anonymous FTP from postgres.berkeley.edu
  1279.  
  1280. cd pub
  1281. get postgres-setup.me
  1282. binary
  1283. get postgres-v4r0.tar.Z
  1284. quit 
  1285.  
  1286. Or, if you do not have net.access, you can order a Postgres distribution
  1287. tape by sending a check payable to the Regents of the University of California
  1288. for $150.00 to:
  1289.          Postgres Project
  1290.          571 Evans Hall
  1291.          University of California
  1292.          Berkeley, CA 94720.
  1293.