APPENDIX E: ANONYMOUS FTP
1 Alcool-90 (dyn ML)
What: Alcool-90 Release 0.40.3
From: rouaix@inria.fr (Francois Rouaix)
Date: 18 May 92 09:36:22 GMT
Alcool-90 is an experimental extension of ML with run-time overloading and
a type-based notion of modules, functors and inheritance.
New constructs have been added:
* Overloaded symbols (overload).
* Local definition of abstract values (overload in).
* Implementations and parametric functors (pack to).
* Extension functors (overload with).
* Class-based Dynamics (dynamic).
This version of Alcool is based on the CAML Light implementation (release
0.4) of the ML language, but this release is autonomous.
Alcool-90 is available by anonymous FTP from ftp.inria.fr:
host: ftp.inria.fr (128.93.1.26)
directory: lang/alcool
files:
README Copyright information.
alcool270492.tar.Z Sources for Un*x machines (Apr 27 1992 Release).
alcooldoc.dvi.tar.Z DVI for the Alcool-90 report draft.
For questions, comments, bug reports, please e-mail to Francois.Rouaix@inria.fr
2 Arjuna (Distr Prog System)
What: Release 2 of Arjuna Distributed Programming System
From: arjuna@newcastle.ac.uk (Arjuna Project)
Date: Mon, 17 May 1993 12:37:34 GMT
We are pleased to announce the availability of a new version
of Arjuna: a programming system for reliable distributed computing,
and the Arjuna mailing list.
The software and the manual for the Arjuna system can be
obtained by anonymous ftp: arjuna.ncl.ac.uk (128.240.150.1)
Arjuna System
This beta release of ArjunaPR2.0 fixes all known bugs present
in ArjunaPR1.2B that have been reported to us or that we have found,
and contains only minimal information about how to use the new features
provided. This release should be compilable with the following
compilers:
AT&T Cfront Release 2.1, on SunOS 4.1.x,
(using Sun supplied lex and yacc).
AT&T Cfront Release 3.0.1, on SunOS 4.1.x and Solaris 2.1,
(using Sun supplied lex and yacc).
GCC versions 2.1, 2.2.2, on SunOS 4.1.x,
(using flex(v2.3.x) and bison).
Patched GCC version 2.3.3 on SunOS 4.1.x and Solaris 2.1,
(using flex(v2.3.x) and bison).
Sun C++ 2.1, on SunOs 4.1.x,
(using Sun's lex++ and yacc++).
HP C++ (B2402 A.02.34), HP-UX 8.07,
(using HP supplied lex and yacc or lex++ and yacc++).
The major new features are:
- Faster object store.
- Support for replicated objects.
- Memory resident object store.
- Support for ANSAware (not available via ftp)
Arjuna supports nested atomic actions (atomic transactions) for
controlling operations on objects (instances of C++ classes), which can
potentially be persistent. Arjuna has been implemented in C++ to run on
stock platforms (Unix on SUNs, HPs etc). The software available
includes a C++ stub generator which hides much of the details of
client-server based programming, plus a system programmer's manual
containing details of how to install Arjuna and use it to build
fault-tolerant distributed applications. The software and the manual
can be obtained by anonymous ftp: arjuna.ncl.ac.uk (128.240.150.1)
Several enhancements and ports on various distributed
computing platforms are in progress. We would be pleased to hear from
researchers and teachers interested in using Arjuna. The programmer's
manual contains the e-mail addresses for sending your comments and
problem reports.
ANSAware version of Arjuna
The ANSAware version of Arjuna is available from:
Architecture Projects Management Limited
Poseidon House
Castle Park Phone +44 223 323010
Cambridge Fax +44 223 359779
CB3 0RD Internet apm@ansa.co.uk
United Kingdom UUCP ...uknet!ansa!apm
Arjuna Mailing List
To enable us to help people using Arjuna, an electronic mail list has
been setup. You can join the Arjuna mailing list by sending an e-mail
message to "mailbase@mailbase.ac.uk" containing:
join arjuna <Your Name>
For example : join arjuna John Smith
Mail messages can then be sent to "arjuna@mailbase.ac.uk", for
distribution.
Arjuna Project Team
The Department of Computing Science,
The University,
Newcastle upon Tyne.
NE1 7RU, UK.
Fax: +44 91 222 8232
e-mail: arjuna@newcastle.ac.uk
anonymous ftp: arjuna.ncl.ac.uk (128.240.150.1)
EMAIL = arjuna@newcastle.ac.uk
POST = Computing Laboratory, The University, Newcastle upon Tyne, UK NE1 7RU
VOICE = +44 91 222 8067 FAX = +44-91-222-8232
Subject: Arjuna papers announcement
Date: Tue, 8 Jun 1993 16:47:02 GMT
This is to announce the availability of most Arjuna related papers and
theses via anonymous ftp from arjuna.ncl.ac.uk. These papers are
available in both US Letter and European A4 standards in postscript and
should now print on systems. Any problems in printing should be directed to
arjuna@newcastle.ac.uk.
Since there are too many papers to describe in one posting there is an index
available in /pub/Arjuna/Index which contains the abstracts from all of
the papers/theses and their locations within the ftp hierarchy.
3 BOS (prototyping)
What: BOS
From: Sean.Levy@cs.cmu.edu
Date: 23 Apr 92 18:07:32 GMT
[For readers of comp.object and self-interest, BOS is a prototype-based
object system that I have, er, prototyped in Tcl. It is available via anon
FTP to monch.edrc.cmu.edu under /usr0/snl/archive/bos-1.2.tar.Z (you have to
cd to /usr0/snl/archive first and then get the file, due to CMU security hacks
in ftpd). I thought that this would be of interest to comp.object and
self-interest, so I'm cross-posting/mailing --S]
Note: I play very fast and loose with the terminology of OOP to get my
point across. I apologize if I offend any sensibilities, and will clarify what
I say if it is obfuscated by my use of terms.
4 G++ for DOS (Many sites)
:From: DJ Delorie <dj@ctron.com>
:Newsgroups: gnu.announce,gnu.misc.discuss
: DJGPP 1.10 is now available!
:
:
: --- DJGPP - G++ for MSDOS/386 ---
:djgpp is normally uploaded to:
: omnigate.clarkson.edu 128.153.4.2 pub/msdos/djgpp
: math.utexas.edu 128.83.133.215 pub/msdos/djgpp(*)
: ftp.uni-koeln.de 134.95.128.208
: msdos/gnuprogs/djgpp (*)
: ftp.eb.ele.tue.nl 131.155.40.15
: pub/pc/gnu/gcc-pl* & gcc-newst
: wowbagger.pc-labor.uni-bremen.de 134.102.228.9 pub/msdos/djgpp
: src.doc.ic.ac.uk 146.169.2.1 ibmpc/djgpp
: ftp.mcc.ac.uk 130.88.200.7 pub/djgpp
: UK.AC.MCC.FTPJ (JANET) user<guest> djgpp
:(*) Please do not access during working hours (7am - 6pm their local time)
5 cooC (Concurrent, OO C ext.)
From: maeda@isl.rdc.toshiba.co.jp (Ken-ichi Maeda)
Subject: cooC FTP release (2nd posting)
Date: 2 Jul 93 15:13:11
Organization: TOSHIBA R & D Center, Kawasaki, JAPAN.
We are pleased to announce the release of new object oriented
language based on C. The language has support for concurrent object
execution with synchronous or asynchronous message pssaing and wait when
necessary reply handling. The language known as cooC (concurrent object
oriented C) is available by anonymous FTP for research purposes.
FTP Site: tsbgw.isl.rdc.toshiba.co.jp (133.196.1.11)
File: pub/toshiba/cooc-beta.1.1.tar.Z
The released version of cooC employs SunOS(TM) LWP (light weight
process), to obtain concurrent execution. The release consists of the
language translator (cooC->C), a runtime library (SunOS(TM)), a
concurrent object based debbuger, an example groupware application
(SharedDraw) and some technical papers.
BECAUSE THE SYSTEM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
ANY PART OF THE SYSTEM.
TOSHIBA Corporation while making cooC free for research, retains
copyright.
For further detail, please refer to COPYRIGHT notice in the
package.
Any questions and/or comments are welcome at the following
e-mail address.
cooc@isl.rdc.toshiba.co.jp
--
--------------------------------------------------------------------
Ken-ichi Maeda <maeda@isl.rdc.toshiba.co.jp>
Communication and Information Systems Research Lab. II
TOSHIBA Research & Development Center
1, Komukai Toshiba-cho, Saiwai-ku, Kawasaki 210, JAPAN
TEL. (+81- or 0)44-549-2237 FAX. (+81- or 0)44-520-1841
--------------------------------------------------------------------
6 FMPL (prototyping)
What: Interpreter for FMPL of Accardi, Release 1
From: blojo@xcf.berkeley.edu (Jon Blow)
Date: 2 Jun 92 08:42:26 GMT
An interpreter for FMPL of Accardi, Release 1 is now available for ftp at
xcf.berkeley.edu:src/local/fmpl/.
*FMPL is a prototype-based object-oriented programming language.
*FMPL possesses lambda-calculus based constructs.
*FMPL is an event-driven language; the events it responds to are mainly
based on the behavior of input/output streams, not only within the unix domain
but across the internet as well.
*FMPL supports "pretty"-printing of internally-represented code back into
readable form.
*FMPL is an experimental language developed at the Experimental Computing
Facility of the University of California, Berkeley. This release is something
of a beta test since the language has not been widely used outside Berkeley.
It is hoped that this release will draw useful comments and suggestions from
the world at large that will help in improving future versions of FMPL.
7 MAX (visual OO)
From: fingerhu@ircam.fr (Michel Fingerhut)
Subject: IRCAM DSP software for DEC/ALPHA and DEC/MIPS
Organization: Inst. de Recherche et Coordination Acoustique/Musique, Paris
Date: Fri, 13 Aug 93 11:25:23 GMT
ftp.ircam.fr:/pub/IRCAM/programs contains some of the IRCAM-developed
software packages (in demo version; see further down for availability
of the fully functional versions), including runnable binaries for
both the DEC/ALPHA (osf1) and DEC/MIPS (ultrix) architectures, and soon
available on other platforms (SGI and Macintosh).
MAX
MAX is a visual, object-oriented, programming language, initially
designed for interactive musical performance, but which is suitable for
digital signal processing as well as real-time control. It allows
interconnecting of oscillators and filters, building custom controller
modules and simulation units all from a core collection of signal
processing objects.
First developed by Miller Puckette at IRCAM in late 1986 to control
the IRCAM 4X, it was later implemented on the Apple Macintosh as a
graphical programming environment for MIDI applications. This version
has been extended by the Opcode company in Palo Alto, CA (USA), and is
available through them.
The Alpha version (and its demo-only subset) is based on the NeXT
version, where it is used to control the IRCAM-designed ISPW board.
This card, based on two Intel i860 microprocessors, handles
numerically-intensive real-time operations.
To date, it has been extensively used in live performance of
full-length musical compositions (see some references in the MAX/doc
directory), as well as in scientific and experimental applications
requiring real-time control.
SVP
SVP (``Super Vocodeur de Phase'') is a signal processing tool which was
designed and developed at IRCAM by Gilles Poirot and Philippe
Depalle. It is a full system for the analysis and synthesis of sound,
whose core is a phase vocoder, and which comprises several modules for
analysis (FFT, LPC..), filtering (band modes, surface modes...), time-
scaling, mixing, spectral combination, cross-synthesis and
amplification, which can be combined in multiple ways.
UDI
UDI is a library of C routines which provides a coherent software
approach for developing and maintaining digital signal processing
algorithms on stand-alone workstations or on host/array processor
configuration. Initially designed for sound signal analysis and
synthesis, it can be used by any application which does vector math
calculation.
It provides functions ranging from elementary vector and matrix
operations to more specific DSP operations, such as, but not limited
to, FFT, least-square, linear prediction coding, discrete cepstrum and
pitch detection.
UDI was actually used in implementing SVP.
HOW TO RETRIEVE
The following example contains underlined text. If it does not print
nicely, use your favorite editor in order to remove all occurrences of
"^H_" (control-H followed by underscore).
Connect via ftp to ftp.ircam.fr. Engage into the following dialog (the
underlined text is the reply you should provide
220 ftp FTP server (Version 6.17 Thu Mar 11 08:30:51 MET 1993) ready.
Name (ftp:host): f _t _p _ (or: a _n _o _n _y _m _o _u _s _)
Passwd: l _o _g _i _n _@ _y _o _u _r _m _a _c _h _i _n _e _ (see NOTE further down)
230-...
230-(informational messages, please read!)
230-...
ftp> c _d _ _p _u _b _/ _I _R _C _A _M _/ _p _r _o _g _r _a _m _s _
250 CWD command successful.
ftp> g _e _t _ _R _E _A _D _M _E _
200 PORT command successful.
150 Opening ASCII mode data connection for README (nnn bytes).
226 Transfer complete.
local: README remote: README
nnn bytes received in mmm seconds (xxx Kbytes/s)
ftp> b _i _n _
200 Type set to I.
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 _)
...
ftp> q _u _i _t _
NOTE
The ftp server requires you to give as password something of the form
l _o _g _i _n _@ _h _o _s _t _
where l _o _g _i _n _ is your login name (or account name, or user information)
and h _o _s _t _ is the fully-qualified name of the machine you are currently calling
from, which is not necessarily the one on which you get your mail. If you
mistype it, the ftp server will advise you with an informative error message.
AVAILABILITY
For information on availability of these and other IRCAM tools with
full functionality and documentation, and/or licensing of source code,
as well as IRCAM publications (technical/scientific reports) please contact
(in french or english, preferably):
Mr. Vincent Puig
Directeur de la Valorisation
IRCAM
31, rue Saint-Merri
F-75004 Paris, France
email: puig@ircam.fr
FAX: +33 1 42 77 29 47
Additional info can be found in the README file in the above directory.
REPORTING PROBLEMS AND GETTING HELP
... in retrieving the software and/or in running it: please send email to
manager@ircam.fr
8 O'small (OO lang for teaching)
From: hense@sol.cs.uni-sb.de (Andreas Hense)
Subject: *** NEW O'small compiler available by ftp !!! ***
Date: 25 Jun 1993 13:54:35 GMT
Organization: Universitaet des Saarlandes,Rechenzentrum
O'small - THE object-oriented language for teaching
---------------------------------------------------
(Announcement of a new compiler)
*** An object-oriented language for teaching?
Depending on which aspects of object-orientation you want to convey you
may choose your teaching language. If you want to teach the aspect of
software reuse and nice graphical user interfaces, you should choose
Smalltalk. If you want to show students how to program in a best
selling language you should choose C++.
*** In which case should I choose O'small?
You should consider O'small if you believe that computer languages
should have a GOOD FORMAL SEMANTICS. Everyone will agree that a
language needs a formal semantics. Otherwise, your program will yield
different results on different implementations. A good formal
semantics does not only serve the purpose of precisely defining what
the results of your programs are, it also gives insights about the
nature of the language.
You should consider O'small if you do not want to waste time on
unnecessary details. O'small is CONCISE. Its syntax and semantics
takes no more than one page (if you choose the right font). Its syntax
is similar to more traditional languages. O'small has been used in a
lecture showing the differences between wrapper semantics
(denotational) and method lookup semantics (operational).
O'small is FREE! Up to now, there has only been an O'small interpreter
written in Miranda [Hen91b]. This interpreter is directly based on the
denotational semantics of O'small [Hen91d]. The interpreter itself is
available by ftp. However, you need Miranda in order to run it. Now,
there is a NEW IMPLEMENTATION of O'small based entirely on EASILY
AVAILABLE SOFTWARE. This software is not free but it does not cost
anything. The new implementation is based on an abstract machine [Boe93].
You can MODIFY the language and have your students make experiments
with it. The source code of the abstract machine and the
specifications for the parser and scanner generators are available.
Using these generators you can make experiments for your own research
in statical analysis of object-oriented languages.
*** I would like to TRY O'small
You get the implementation by anonymous internet ftp.
The following table gives the ftp connection information.
Host: Net Address: Directory:
-------------------------------------------------------------
cs.uni-sb.de 134.96.7.254 /pub/osmall/machine
The directory /pub/osmall/machine contains the files
README
ANNOUNCE this file
HowToGetML
oma.1.00.tar.Z compressed tar-file
***************************************************************************
NOTE: Ftp should be put into binary mode before transferring the compressed
tar file.
***************************************************************************
Here is a sample dialog:
ftp
ftp> open cs.uni-sb.de
Name: anonymous
Password: <your name>
ftp> binary
ftp> cd /pub/osmall/machine
ftp> get README
ftp> get ANNOUNCE
( ftp> get HowToGetML )
ftp> get oma.1.00.tar.Z
ftp> close
ftp> quit
If you have a Sun 4 or a SPARC you can use the existing executable files.
Otherwise, you need 'sml-yacc', 'sml-lex' and 'sml-noshare'. Read
'HowToGetML' to obtain them.
Instructions on using the machine are contained in the file README.
References
[Boe93] Christoph Boeschen. Christmas - An abstract machine for
O'small. Master's thesis, Universit"at des Saarlandes,
Fachbereich 14, June 1993.
[Hen91b] Andreas V. Hense. An O'small interpreter based on denotational
semantics. Technical Report A 07/91, Universit"at des Saarlandes,
Fachbereich 14, November 1991.
[Hen91c] Andreas V. Hense. Type inference for O'small. Technical Report A
06/91, Universit"at des Saarlandes, Fachbereich 14, October 1991.
[Hen91d] Andreas V. Hense. Wrapper semantics of an object-oriented pro-
gramming language with state. In T. Ito and A. R. Meyer, editors,
Theoretical Aspects of Computer Software, volume 526 of Lecture No-
tes in Computer Science, pages 548-568. Springer-Verlag, September
1991.
[Hen93] Andreas V. Hense. Denotational semantics of an object-oriented
programming language with explicit wrappers. Formal Aspects of
Computing, 5(3), 1993. to appear.
[HS92] Andreas V. Hense and Gert Smolka. A verification of extensible
record types. In Zhongzhi Shi, editor, Proceedings of the IFIP
TC12/WG12.3 International Workshop on Automated Reasoning,
pages 137-164, Beijing, P.R. China, 13-16 July 1992. Internatio-
nal Federation for Information Processing, Elsevier, North-Holland,
Excerpta Medica.
[HS93] Andreas V. Hense and Gert Smolka. Principal types for object-
oriented languages. Technical Report A 02/93, Universit"at des Saar-
landes, Fachbereich 14, June 1993.
9 OBJ3 (OO lang)
What: Release 2.0 of OBJ3 (needed for FOOPS and OOZE, concurrent OOP)
Date: Thu, 4 Jun 92 15:07:26 BST
From: Paulo.Borba@prg.oxford.ac.uk
OBJ is available from SRI, see the message below; prototypes implementations of
FOOPS (without the concurrent extension) and OOZE are due to the end of the
year, but for both you also need OBJ.
Unfortunately, I don't have any document about the FOOPS extension now, but
probably by the end of the year. I will send it to you as soon as possible.
What: Release 2.0 of OBJ3 is now available
From: winkler@csl.sri.com (Timothy Winkler)
Date: 6 Apr 92 08:35:40 GMT
Release 2.0 of OBJ3 is now available!
Improvements in this version include some language extensions and additional
theorem proving features. In addition, an effort has been made to speed up
the implementation; rewriting is often twice as fast as in the original
implementation. We are including the AKCL patches from the University of
Texas at Austin in the distribution, which are necessary for maintaining the
portability of OBJ3 and also improve its efficiency. In addition, we are
distributing a SPARC version of OBJ3.
OBJ3 has pattern matching modulo associativity, commutativity, and identity.
New: the system automatically computes conditions for rules involving matching
modulo identity that are used to prevent obvious non-termination problems.
Also new to this version of OBJ3 is a facility for controlled rewriting. This
provides substantially increased support for the use of the system for
equational theorem proving.
To receive the OBJ3 distribution tape or an OBJ3 license, send a request
to:
Judith Burgess (OBJ3)
Computer Science Laboratory
SRI International
333 Ravenswood Ave.
Menlo Park, CA 94025-3493, USA
Telephone: (415) 859-5924
Fax: (415) 859-2844
email: obj3dist@csl.sri.com
Be sure to give us your postal mailing address. Then we will send you the
OBJ3 Information Form, and License Agreement, with instructions on how to
fill them out. (A KCL license form will also be included.) When you return
them to us, appropriately filled out and signed, we will send you the tape,
somedocumentation, and, in case you are requesting a tape, an invoice for
$150.00 plus any required taxes.
If you already have an OBJ3 license, then you don't need to get a new license,
but, if you are requesting a tape from SRI, you are asked to pay the above
distribution fee.
It is also possible to get a license for OBJ3 at no charge from SRI and then
get the OBJ3 distribution itself from some third party also having a license.
Jose Meseguer, Timothy Winkler, and Patrick Lincoln
Computer Science Laboratory
SRI International
333 Ravenswood Avenue
Menlo Park, California 94025, USA
Joseph Goguen
Programming Research Group
Computing Laboratory
Oxford University
11 Keble Road
Oxford OX1 3QD, United Kingdom
10 OBST (lang, perst, OODB)
See entry under Appendix B.
11 OOT (OO Turing demo)
What: OOT
From: holt@turing.toronto.edu (Ric Holt)
Date: 26 Apr 93 20:14:43 GMT
OBJECT ORIENTED TURING: DEMO AVAILABLE VIA FTP
OOT (Object Oriented Turing) is a programming language that has been
developed at the University of Toronto. An OOT demo, which includes the
fully implemented language, is available for Sun/4's running X windows.
See below for instructions to copy the demo to your site.
OOT supports the standard OOPL features of information hiding, classes,
polymorphism and generics, as well as the usual features in C and Pascal
style languages. It also supports concurrency, exception handling
and system programming (pointer arithmetic, bit manipulation, etc).
The OOT environment is designed for teaching Computer Science.
It is being used in introductory programming courses, courses
on OO concepts, compiler courses, OS courses, etc.
The OOT environment is fully integrated, with multi-window editing, turbo
speed compiler, integrated color graphics, GUI user interface, implicit MAKE,
on-line manual, integrated demos, etc. The system includes an experimental
CASE tool with an interface browser and a visual system browser.
12 Sather (simple Eiffel)
What: SATHER
Sather is under development at the International Computer Science Institute.
Sather has clean and simple syntax, parameterized classes, object-oriented
dispatch, multiple inheritance, strong typing, and garbage collection. The
compiler generates efficient and portable C code which is easily integrated
with existing code.
The initial beta test release of the language was in May, 1991. The compiler,
debugger, Emacs development environment, documentation, and library classes
are available by anonymous ftp from "icsi-ftp.berkeley.edu".
"sather@icsi.berkeley.edu" is a mailing list for discussing aspects of Sather
and "sather-admin@icsi.berkeley.edu" should be used for bug reports and
requests to be added or deleted from the mailing list.
Sather is based on Eiffel but is more concerned with efficiency and less with
some of the formal and theoretical issues addressed by Eiffel. The language is
much smaller than the current Eiffel, it eliminates over 40 keywords and
simplifies the syntax and inheritance rules.
Like Eiffel, Sather code is compiled into portable C and efficiently links
with existing C code. The Sather compiler is written in Sather and has been
operational for almost a year, though it is still being improved. Preliminary
benchmarks show a performance improvement over Eiffel of between a factor of 4
and 50 on basic dispatching and function calls. On the benchmarks used at
Stanford to test Self (including 8 queens, towers of hanoi, bubblesort, etc),
Sather is even slightly faster than C++.
The Sather compiler and libraries are publicly available under a very
unrestrictive license aimed at encouraging contribution to the public library
without precluding the use of Sather for proprietary projects. The goal is to
establish a repository for efficient, reusable, well written, publicly
available, classes for most of the important algorithms in computer science.
There are currently about 120 classes in the library. The libraries are
growing quickly and will collect together classes from many authors under the
same unrestrictive license.
A GNU emacs development environment for Sather is available. A debugger based
on gdb from the Free Software Foundation is also available. A parallel version
of Sather for shared memory machines called "Psather" is also under
development.
From the Sather FAQ, August 16, 1993 (See Section 1.24):
Q 1: What is Sather?
~~~~~~~~~~~~~~
Sather is an object oriented language which aims to be simple,
efficient, interactive, safe, and non-proprietary. It aims to meet the
needs of modern research groups and to foster the development of a
large, freely available, high-quality library of efficient
well-written classes for a wide variety of computational tasks. It was
originally based on Eiffel but now incorporates ideas and approaches
from several languages. One way of placing it in the "space of
languages" is to say that it attempts to be as efficient as C, C++, or
Fortran, as elegant and safe as Eiffel or CLU, and to support
interactive programming and higher-order functions as well as Common
Lisp, Scheme, or Smalltalk.
Sather has garbage collection, statically-checked strong typing,
multiple inheritance, separate implementation and type inheritance,
parameterized classes, dynamic dispatch, iteration abstraction,
higher-order routines and iters, exception handling, assertions,
preconditions, postconditions, and class invariants. The development
environment integrates an interpreter, a debugger, and a
compiler. Sather code can be compiled into C code and can efficiently
link with C object files.
13 Self
From: hoelzle@Xenon.Stanford.EDU (Urs Hoelzle)
Subject: Announcing Self 3.0
Date: 28 Dec 93 22:19:34 GMT
ANNOUNCING Self 3.0
The Self Group at Sun Microsystems Laboratories, Inc., and Stanford
University is pleased to announce Release 3.0 of the experimental
object-oriented programming language Self.
This release provides simple installation, and starts up with an
interactive, animated tutorial.
Designed for expressive power and malleability, Self combines a pure,
prototype-based object model with uniform access to state and
behavior. Unlike other languages, Self allows objects to inherit state
and to change their patterns of inheritance dynamically. Self's
customizing compiler can generate very efficient code compared to
other dynamically-typed object-oriented languages.
The latest release is more mature than the earlier releases: more
Self code has been written, debugging is easier, multiprocessing is more
robust, and more has been added to the experimental graphical user interface
which can now be used to develop code. There is now a mechanism
(still under development) for saving objects in modules, and a
source-level profiler.
The Self system is the result of an ongoing research project and
therefore is an experimental system. We believe, however, that the
system is stable enough to be used by a larger community, giving
people outside of the project a chance to explore Self.
2 This Release
This release is available free of charge and can be obtained via
anonymous ftp from Self.stanford.edu. Also available for ftp are a
number of published papers about Self.
There is a mail group for those interested in random ramblings about Self,
Self-interest@Self.stanford.edu. Send mail to self-request@self.stanford.edu
to be added to it (please do not send such requests to the mailing list
itself!).
2.1 Implementation Status
Self currently runs on SPARC-based Sun workstations running SunOS 4.1.x
or Solaris 2.3. The Sun-3 implementation is no longer provided.
2.2 Major Changes
Below is a list of changes and enhancements that have been made since
the last release (2.0.1). Only the major changes are included.
o The graphical browser has been extended to include editing
capabilities. All programming tasks may now be performed through the
graphical user interface (the "ui"). Type-ins allow for expression
evaluation, menus support slot editing, and methods can be entered and
edited. If you are familiar with a previous version of the Self
system, Section 14.1 of the manual entitled "How to Use Self 3.0"
contains a quick introduction to the graphical user interface. The
impatient might want to read that first.
o A mechanism - the transporter - has been added to allow arbitrary
object graphs to be saved into files as Self source. The system has
been completely modularized to use the transporter; every item of
source now resides in a transporter-generated
module. Transport-generated files have the suffix .sm to distinguish
them from "handwritten" files (.Self), though this may change as we
move away from handwritten source. The transporter is usable but rough,
we are still working on it.
o Every slot or object may now have an annotation describing the
purpose of the slot. In the current system, annotations are strings
used to categorize slots. We no longer categorize slots using
explicit category parent objects. Extra syntax is provided to annotate
objects and slots.
o A new profiler has been added, which can properly account for the
time spent in different processes and the run-time system, and which
presents a source-level profile including type information (i.e.,
methods inherited by different objects are not amalgamated in the
profile, nor are calls to the same method from different sites). It
also presents a consistent source-level view, abstracting from the
various compiler optimizations (such as inlining) which may confuse
the programmer.
o Privacy is not enforced, although the privacy syntax is still
accepted. The previous scheme was at once too restrictive (in that
there was no notion of "friend" objects) and too lax (too many object
had access to a private slot). We hope to include a better scheme in
the next release.
o The "new" compiler has been supplanted by the SIC ("simple inlining
compiler"), and the standard configuration of the system is to
compile first with a fast non-optimizing compiler and to
recompile later with the SIC. Pauses due to compilation or
recompilation are much smaller, and applications usually run faster.
o Characters are now single-byte strings. There is no separate
character traits.
o Prioritized inheritance has been removed; the programmer must now
manually resolve conflicts. We found the priority mechanism of
limited use, and had the potential for obscure errors.
2.4 Bug Reports
Bug reports can be sent to self-bugs@self.stanford.edu. Please include
an exact description of the problem and a short Self program
reproducing the bug.
2.5 Documentation
This release comes with two manuals:
How to Use Self 3.0 (SelfUserMan.ps)
The Self Programmer's Reference Manual (progRef.ps)
Happy Holidays!
-- The Self Group
14 C++ gram, etc.
What: ftp site for C++ material
From: schrod@iti.informatik.th-darmstadt.de (Joachim Schrod)
Date: 27 May 92 22:32:35 GMT
There were a lot of questions about C++ material in the last time and some
announcements which involved our ftp server.
ftp.th-darmstadt.de [130.83.55.75]
/pub/programming/languages/C++
At the moment we have:
-- documentation and assorted stuff
C++ products list as announced by Saumen K Dutta (in a subdirectory!)
C++ YACC grammar, ET++ tutorial, summaries from the Net,
sources from James Coplien's book (idioms...), etc.
-- class libraries
NIHCL (original, persistent for ObjectStore, with g++ 1.4x changes)
COOL, OATH, RogueWave vector, ET++,
RPC package, a package for sockets, awe (thread package)
-- tools
class browser (for GNU Emacs), indent++, yacc+, template
processor of Brad Cox[sp?], DEC garbage collector
More stuff is always welcome. (Btw, Interviews and Motif C++ wrapper
classes are to be found in the /pub/X11 subtree.)
15 ConceptBase (OODB, reqkey)
What: ConceptBase
See APPENDIX B.
A four week test-version of ConceptBase V3.1 is available
on the FTP server ftp.informatik.rwth-aachen.de in the
directory pub/CB. For running the ftp version you must ask for a
key by email.
16 C++ OODB
From: darrenp@dibbler.cs.monash.edu.au (Daz)
Subject: Re: Class libraries for accessing RDBs ?
Organization: Monash University, Melb., Australia.
Date: Thu, 17 Jun 1993 23:53:22 GMT
shekar@gizmo.CS.MsState.Edu (Chandrashekar Ramanathan) writes:
>Hello,
> Are there any shareware/ftp'able C++ class libraries that
>provide Relational Database access? I would also appreciate any
>pointers (ideas/articles/journals) to the various issues that one has
>to consider in designing such library.
Ok, I'm not sure if it's exactly what you want, but it's a database, it's
fully written in c++ with classes etc, and it's out for beta testing.
Check out pippin.cs.monash.edu.au:pub/export/diamond-0.1.2.tar.Z
and please mail darrenp@dibbler.cs.monash.edu.au if you decide to play with
it.
Daz.
--
Darren Platt, Department of Computer Science
darrenp@dibbler.cs.monash.edu.au
Monash University, Clayton Melbourne, Victoria, Australia
17 Exodus (Storage Man, perst)
What: Exodus project software (Storage Manager & GNU E)
From: zwilling@caseus.cs.wisc.edu (Mike Zwilling)
Date: 16 Jul 92 04:53:19 GMT
In the past there have been discussions in comp.object and comp.databases
about persistent storage for object-oriented databases and programming
languages. As you may know, the EXODUS Database Toolkit project at the
University of Wisconsin has researched these issues and others for a number of
years. The purpose of this note is to inform you that the software from the
EXODUS project is freely available via anonymous ftp. The EXODUS software
includes the EXODUS Storage Manager and the compiler for the E persistent
programming language. Also included is documentation, and a suite of test
programs for both components. This note briefly describes the software and
explains how to obtain it. We currently support DECstation 3100s/5000s and
SPARC based workstations. Others have ported the code to HP700s and IBM
RS6000s.
The EXODUS Storage Manager is a client-server object storage system which
provides "storage objects" for storing data, versions of objects, "files"
for grouping related storage objects, and indexes for supporting efficient
object access. A storage object is an uninterpreted container of bytes which
can range in size from a few bytes to hundreds of megabytes. The Storage
Manager provides routines to read, overwrite, and efficiently grow and shrink
objects. In addition, the Storage Manager provides transactions, lock-based
concurrency control, and log-based recovery.
GNU E is a persistent, object-oriented programming language developed as part
of the Exodus project. GNU E extends C++ with the notion of persistent data,
program level data objects that can be transparently used across multiple
executions of a program, or multiple programs, without explicit input and
output operations.
GNU E's form of persistence is based on extensions to the C++ type system to
distinguish potentially persistent data objects from objects that are always
memory resident. An object is made persistent either by its declaration (via
a new "persistent" storage class qualifier) or by its method of allocation
(via persistent dynamic allocation using a special overloading of the new
operator). The underlying object storage system is the Exodus storage manager,
which provides concurrency control and recovery in addition to storage for
persistent data.
The current release of GNU E is based on gcc/g++ version 2.2.2, and is upward
compatible with C++ as implemented by that compiler.
A bibliography of EXODUS related papers can be obtained from the ftp site
described below.
To obtain the software, simply ftp to ftp.cs.wisc.edu (128.105.8.18), login
as anonymous with your email address as a password, "cd" to the "exodus"
directory, and follow the directions (directions will be given as you "cd").
See the README for the latest information about the software and an indication
of our future plans. If you decide to use the software, please contact us at
exodus@cs.wisc.edu so that we can notify you of changes.
18 GRAS
GRAS - A Graph-Oriented Database System for SE Applications
Copyright (C) 1987-1992 Lehrstuhl Informatik III, RWTH Aachen
This library is free software under the terms of the GNU Library
General Public License.
Lehrstuhl f"ur Informatik III --> GRAS
University of Technology Aachen (RWTH Aachen),
Ahornstr. 55,
D-5100 Aachen
Contact : Dr. Andy Sch"urr (or Richard Breuer),
andy@rwthi3.informatik.rwth-aachen.de
ricki@rwthi3.informatik.rwth-aachen.de (for technical support)
The system GRAS with interfaces for the programming languages Modula-2
and C is available as public domain software for Sun3/Sun4 workstations
(the GRAS system itself is implemented in Modula-2 and consists of many
layers which might be reusable for the implementation of other systems):
Via anonymous ftp from tupac-amaru.informatik.rwth-aachen.de
(137.226.112.31) in the directory /pub/unix/GRAS522_3
There are several files contain documentation, sources, binaries,
and libraries. All binaries are for Sun/4 machines. Sun/3 binaries
are shipped only if explicitly requested.
[See APPENDIX B]
19 MOOD (OODB, lim arch)
What: MOOD/P3 Ver.2.00 OODBS {Miniature,Materials}OODBS.
From: ono@mood.mech.tohoku.ac.jp (Noboru Ono)
Date: 18 May 92 10:28:42 GMT
The following program/sample database package is available through anonymous
FTP at mood.mech.tohoku.ac.jp (130.34.88.61). Sorry it is not the sources and
operates only in NEC-PC9801/MS-DOS environment. Sorry again documents are all
in Japanese. We will tell you later when English documents has become ready.
MOOD/P3 Ver.2.00
Material's Object-Oriented Database, Prototype 3
This program, as you may guess,
1) is an Object-Oriented database system program,
2) operates on PC-9801 series personal computer, and
3) is accompanied by sample material database schema.
Although this program has been developed and being used in the experiments
on material data processing in which we are now involved, it is a general
purpose OODBS.
Noboru Ono
Dept. of Machine Intelligence and Systems Engineering,
Faculty of Engineering, Tohoku University.
Tel:++22-222-1800
Fax:++22-268-3688
E-mail:ono@mood.mech.tohoku.ac.jp
20 Ode (C++ OODB)
Note: Ode version 3.0 is now available.
What: Ode Release 1.1
From: nhg@research.att.com
Ode is an object-oriented database based on the C++ database model. The
primary interface to Ode is the database programming language O++ which is
based on C++.
Ode 1.1 is now available to Universities. This is a beta release. The
current version of Ode runs on Sun (Sparc) workstations and users must have
C++ release 2.0 or a later release. If you are interested in using Ode and
giving us feedback on your experience with Ode, please send me mail with the
appropriate information.
Narain Gehani
AT&T Bell Labs 3D-414
600 Mountain Ave
Murray Hill, NJ 07974
From: thssamj@iitmax.iit.edu (Aditya M. Jani)
Subject: *Announcement* UserGroup for ODE (OODBMS from AT&T)
Organization: Illinois Institute of Technology, Chicago
Date: Fri, 25 Jun 93 17:27:53 GMT
Ode Object database v2.0
------------------------
Ode 2.0 is available via ftp from research.att.com.
Here is a sample session showing how to retrieve Ode 2.0
which is kept in the directory
dist/ode2.0
as a compressed tar file named
2.0.oppbin.tar.Z
First create the directory on the local machine
where ode is to be installed, e.g.,
mkdir ode
cd ode
Retrieve the compressed tar Ode file using ftp into
as illustrated below.
Then uncompress it
uncompress 2.0.oppbin.tar.Z
and unbundle it
tar xvf 2.0.oppbin.tar
Next see file README, fix install file, and run install
./install
Sample ftp session
--------------
$ ftp research.att.com
Connected to tcp!192.20.225.2!1390.
220 inet FTP server (Version 4.271 Fri Apr 9 10:11:04 EDT 1993) ready.
Name (research.att.com:smith): anonymous
331 Guest login ok, send ident as password.
Password: smith@hostname
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd dist
250 CWD command successful.
ftp> cd ode2.0
250 CWD command successful.
ftp> get 2.0.oppbin.tar.Z
200 PORT command successful.
150 Opening BINARY mode data connection for 2.0.oppbin.tar.Z (2762525
bytes).
226 Transfer complete.
2762525 bytes received in 1.6e+02 seconds (16 Kbytes/s)
ftp> quit
221 Goodbye.
-------------------------------------------------------------------------------
Available Now!
Ode 2.0
An Object-Oriented Database
C++ Compatible, Fast Queries, Complex Application Modeling,
Multimedia Support, and more
Ode 2.0 is now available to Universities. Users who currently
have Ode 1.1 will be automatically sent a tape with Ode 2.0.
There is no charge for Ode. However, AT&T requires the signing
of a non-disclosure agreement.
Details
-------
ODE OBJECT-ORIENTED DATABASE
The Ode object database is based on the C++ object paradigm.
Ode uses one integrated data model (C++ classes) for both
database and general purpose manipulation. The Ode database
is defined, queried and manipulated in the database
programming language O++, which provides simple and elegant
facilities for manipulating the database.
O++ is an upward-compatible extension of C++. A few
facilities have been added to C++ to make it into a database
programming language. C++ programmers can learn O++ in a
very short time.
O++ programs can be compiled with C++ programs thus allowing
the use of existing C++ code.
THE ODE MODEL OF PERSISTENCE
Ode offers a simple and elegant notion of persistence which
is modeled on the ``heap''. Specifically, memory is
partitioned into volatile and persistent. Volatile objects
are allocated in volatile memory (stack or heap).
Persistent objects are allocated in persistent store and
they continue to exist after the program that created them
has terminated.
An Ode database is a collection of persistent objects. Each
object is identified by a unique object id (i.e., a
persistent pointer, or to be precise, a pointer to a
persistent object).
The database programming language O++ provides facilities
for creating and manipulating the Ode database. For
example, O++ provides facilities for specifying
transactions, creating and manipulating persistent objects,
querying the database, creating and manipulating versions.
WHAT IS AN OBJECT-ORIENTED DATABASE
Some important characteristics of an object-oriented
database are:
+ data is stored as objects,
+ data can be interpreted (using methods) only as
specified by the class designer,
+ relationship between similar objects is preserved
(inheritance), and
+ references between objects are preserved.
ADVANTAGES OF OBJECT-ORIENTED DATABASES
+ Speed: Queries can be faster because joins (as in
relational databases) are often not needed. This is
because an object can be retrieved directly without a
search, by following object ids.
+ No impedance mismatch: The same data model is used by
both the database programming language and the
database; it is not necessary to do any format
conversions when reading the data from disk and when
storing the data on disk.
+ Programmers need to learn only one programming
language: The same programming language is used for
both data definition and data manipulation.
+ Complex applications: The full power of the database
programming language's type system can be used to model
the data structures of a complex application and the
relationship between the different data items.
+ Multimedia applications: The semantic information
stored in the database (class methods) facilitates
correct interpretation of the data. This reduces
application complexity since applications do no have to
be responsible for the correct interpretation of data.
+ Versions: Object-oriented databases typically provide
better support for versioning. An object can viewed as
the set of all its versions. Also, object versions can
be treated as full fledged objects.
+ Triggers and constraints: Object-oriented databases
provide systematic support for triggers and constraints
which are the basis of active databases.
Finally, most, if not all, object-oriented applications that
have database needs will benefit from using an object-
oriented database. Specifically, C++ applications that have
database needs will benefit from using Ode.
FEATURES OF ODE
1. Ode is C++ based and compatible with C++.
2. The Ode object database provides four object
compatible mechanisms for manipulating and querying
the database: O++, OdeView, OdeFS, and CQL++:
+ O++ is a database programming language based on
C++. O++ is upward compatible with C++ and it
makes minimal changes to C++. O++ offers a
simple and elegant notion of persistence which is
modeled on the ``heap''. O++ provides facilities
for querying the database, and a variant of other
facilities.
+ OdeView is a graphical X-based interface to the
Ode database.
+ OdeFS is a file system interface to the Ode
object database. OdeFS allows objects to be
treated and manipulated like files. Standard
commands such as rm, cp and mv and tools such as
vi and grep can be used to manipulate objects in
the database.
+ CQL++ is a C++ variant of SQL for easing the
transition from relational databases to object-
oriented databases such as Ode.
Currently, only O++ is shipped with Ode 2.0. A beta-
test version of OdeFS is available upon request.
3. Ode supports large objects (these are critical for
multi-media applications). Ode provides both
transparent access for large objects and a file like
interface for large objects. The latter can be used
to efficiently access and update parts of a large
object.
4. Users can create versions of objects. Ode will track
the relationship between versions and provides
facilities for accessing the different versions.
5. Transactions can be specified as read-only; such
transactions are faster because they are not logged
and they are less likely to deadlock.
6. Users can run ``hypothetical'' transactions.
Hypothetical transaction allow users to pose ``what-
if'' scenarios (as often done with spread sheets).
User can change data and see the impact of these
changes without changing the database.
7. EOS, the storage engine of Ode, is based on a client-
server architecture. Some features of EOS:
a. Efficient and transparent handling of large
objects. A file-like interface is also provided
for very large objects.
b. Concurrency is based on multi-granularity two-
version two-phase locking; it allows many
readers and one writer to access the same item
simultaneously.
c. Log records contain only after images of
updates, thus making logs small. Recovery from
system failures requires one scan over the log
resulting in fast restarts.
USE MODES
Ode supports two modes of use:
1. Client-server (allows multiple users to access the
database concurrently).
2. Single user (improved performance compared to using
the client-server mode).
USERS
Ode 2.0 is currently being used as the multi-media database
engine for AT&T's Interactive TV project. Ode 1.1 (older
version of Ode with limited capabilities) has also been
distributed to 30+ sites within AT&T and 135+ universities.
21 POSTGRES (Ext. Rel. DBMS)
What: Version 4.0 of the POSTGRES DBMS
From: mer@gaia.CS.Berkeley.EDU (Jeff Meredith)
Date: 16 Jul 92 04:53:17 GMT
Version 4.0 of the POSTGRES DBMS is now available for distribution. Version 4.0
provides significant advances in functionality over 3.1. General improvements
in the code and some key multi-user bug fixes have resulted in a much more
reliable system than we have ever previously released.
Major new features include:
o Complete support for language (POSTQUEL) functions.
o Handling of nested dot expressions.
o Optimization of predicates with expensive functions.
o Binary portals
o Initial support of sets
o Indices on system catalogs.
Postgres runs on Sparc I, Sparc II, Sun 4 running SunOs, and DECstations
running ULTRIX >= 4.0, as well as Sequent Symmetry machines. Postgres
consists of about 250,000 lines of C.
If you would like to get Postgres 4.0, you can get it in one of two ways:
(1) Anonymous FTP from postgres.berkeley.edu
cd pub
get postgres-setup.me
binary
get postgres-v4r0.tar.Z
quit
Or, if you do not have net.access, you can order a Postgres distribution
tape by sending a check payable to the Regents of the University of California
for $150.00 to:
Postgres Project
571 Evans Hall
University of California
Berkeley, CA 94720.
Indicate in your accompanying letter whether you want the system on a 9-track
tape at 1600 BPI, at 6250 BPI, on a cartridge tape for SUN shoeboxes (QIC 24
format), or on a TK50 DEC cartridge tape.
22 Sniff (C++ devel environ)
[See also APPENDIX C, SNiFF+, for the commercial version]
What: SNIFF (Sniff 1.1b (C++ Development Environment))
From: shite@sinkhole.unf.edu (Stephen Hite)
Date: 23 Aug 92 18:14:00 GMT
Sniff 1.1b is available from iamsun.unibe.ch in the C++ hierarchy. It's a
development environment for C++ (minus the C++ compiler or interpreter).
It's freely available and you're gonna need OpenWindows 3.0 if you want
to play with it immediately. I just downloaded it and haven't had a
chance to look into whether the XView 3.0 package will be able to handle
everything Sniff requires of the OpenLook part.
And:
From: sniff@takeFive.co.at (Mr. Sniff)
Newsgroups: comp.lang.c++,comp.unix,comp.unix.osf.osf1,comp.unix.solaris,comp.object
Subject: SNiFF+ takeFive Starts Free University Distribution of Commercial C/C++ Programming Environment
Date: 22 Sep 1993 15:51:26 GMT
Organization: EUnet EDV-Dienstleistungsgesellschaft m.b.H
Keywords: programming environments, browsing, C++
SNiFF+: takeFive Starts Free University Distribution of Commercial C/C++
Programming Environment
1. Introduction
===============
Since the beginning of 1993 takeFive has taken over development and support
for SNiFF+, a leading edge C/C++ programming environment. With SNiFF+
rapidly gaining commercial acceptance takeFive has decided to offer the
product free to educational establishments. There are several reasons for
this step.
...
6. How to Obtain SNiFF+
=======================
6.1 FTP
-------
Sniff can be downloaded from anonymous FTP sites in USA and Europe.
You can get all details from info@takeFive.co.at.
And:
From: hueni@iam.unibe.ch (Hermann Hueni)
Subject: Re: Browsers
Date: Fri, 11 Jun 1993 12:37:28 GMT
Sniff is a commercial product.
Send mail to info@takeFive.co.at
AN early version is available as a SUN SPARC binary only from
siam.unibe.ch:C++/Sniff1.6/ (THIS site is in EUROPE)
23 C++ tags
What: ctags/etags for C and C++
From: kendall@centerline.com (Sam Kendall)
Date: 10 Jun 92 09:31:27 GMT
A lot of people have requested this software! You can now get Tags for
C/C++ version 1.0 via anonymous ftp at:
ftp.centerline.com:/pub/tags-1.0.tar.Z
ftp.centerline.com is 140.239.2.29. Anonymous ftp means login as "ftp" and
give your email address as the password.
If you don't have ftp access to the internet, you may want to wait for this
stuff to come out in comp.sources.unix. Or, if you plan to use it right away,
send me a letter that says "I can't use ftp; please send by email" and I will
do so.
24 short tool
From: neil@aldur.demon.co.uk (Neil Wilson)
Subject: New version of 'short' available
Date: Sat, 7 Aug 1993 09:38:25 +0000
A new beta release (1.2) of 'short' is available from the Stuttgart
Eiffel archive (ftp.informatik.uni-stuttgart.de) in directory
/pub/eiffel/eiffel-3/sig
Command line processing is now included in the short system. Short can
now cope with multiple input files, the standard input and deal with
most file errors.
Short now depends on the argument cluster which is available from
the same archive and directory.
Short supports the following options:
-V, +version, -h, +help
Displays the 'short' version information and gives the
usage help message for the command.
-e, +abstract, +eiffel
Produces a fully deferred version of the input class(es)
which will compile just like any other class (hopefully :-)
-l <class_name>, +view
Produces the output from the point of view of the class
<class_name> - the "short form for ".
Special handling for ANY and NONE of course. By default
short outputs the "short form for ANY".
-f, +full
Produces the short form including all the feature
blocks. (Implemented as the "short form for NONE".)
-p, +parents
Retains the inheritance clause in the output. The default is
to drop it.
-b <number>, +blank
Indent levels by <number> characters.
-c <number>, +column
Width of the output is <number> characters. Should be
greater than 20.
Obsolete features are not retained. Obsolete classes retain no features.
The output of the tool now conforms to the layout rules in Appendix A of
ETL and should look like the 'short' examples in the book. As much as is
possible the output and command line options conform to ISE's 2.3
version of 'short'.
This release of short has been tested on all the v1.21 Eiffel/S
libraries, itself and the argument clusters, plus any other class
fragments I had lying around at the time.
My biggest debt is of course to David Morgan. This version is only
really a tiny modification of his work. His ELEXER Eiffel 3 parser
remains the core of the tool. I though am responsible for any remaining
deficiencies or problems with this release.
Problems, suggestions, comments, criticisms to me please. All gratefully
received - I can't improve my Eiffel if somebody doesn't tell me where I
blew it.
25 COOL(C++, Cfront 2.1, from GE)
COOL is a C++ class library developed at Texas Instruments.
Features are:
1. Rich set of containers like Vector, List, Hash_Table, Matrix, etc...
2. Hierarchy is shallow with no common base class, rather than deep like NIHCL.
3. Functionality close to Common Lisp data structures, like GNU libg++.
4. Template syntax very close to Cfront3.x, g++2.x.
5. Free, with good documentation, and extensive test cases.
Light version of COOL from General Electric:
1. Hairy macros, run-time type, exceptions removed for mainstream C++
compatibility
2. Free of memory leaks and bound violations. Leaks and bounds are checked
with Purify.
3. Has memory management and efficient copy in expressions like:
Set c = a+b+c;
Pointers are shared with Handle and Reference count. Deep copy in
expressions are replaced by shallow copy.
4. Compatible with Cfront2.1, and is being converted to Cfront3.0. You can
build both static and shared library on SunOS 4.1.x
1. original version from Texas Instruments:
at csc.ti.com, get pub/COOL.tar.Z
2. Cfront2.1 version modified by General Electric:
at cs.utexas.edu, get pub/COOL/GE_COOL2.1.tar.Z
I am working on Cfront3.0 version of COOL, using the Beta 3.0 from Sun. I am
experiencing problems with instantiation and specialization of templates. So
Cfront3.0 version of COOL won't be available until Sun's Cfront 3.0 is
released with bugs fixed.
Van-Duc Nguyen
General Electric
Research & Development Ctr
1 River Road, Room K1-5C39.
Schenectady, NY 12301.
Phone: (518) 387-5659
Fax: (518) 387-6845
nguyen@crd.ge.com
26 idl.SunOS4.x, idl.Solaris2.x
Subject: Binaries for OMG IDL CFE placed on omg.org
Date: 11 Jun 93 00:13:11 GMT
Reply-To: jyl@toss.eng.sun.com
SunSoft has made available statically linked binaries for the OMG IDL CFE,
for both Solaris 1.x and Solaris 2.x. Because they are statically linked,
these binaries can be used on systems which do not have the SparcWorks (TM)
compilers installed.
It is expected that people who only want an IDL parser will prefer to
obtain these binaries instead of compiling the program on their host.
People who want to build a complete compiler, by programming their own
back-end, will continue to obtain the sources which are also provided at
the same location.
The binaries can be obtained by anonymous FTP to omg.org. They are
installed in the directory pub/OMG_IDL_CFE_1.2/bin, in idl.SunOS4.x and
idl.Solaris2.x. Uuencoded versions are also available, in the same
directory.
Please send email to idl-cfe@sun.com if you obtain these files.
The attached copyright applies to the provided binaries and to the source
files provided on the omg.org file server.
Copyright:
Copyright 1992 Sun Microsystems, Inc. Printed in the United States of
America. All Rights Reserved.
This product is protected by copyright and distributed under the following
license restricting its use.
The Interface Definition Language Compiler Front End (CFE) is made
available for your use provided that you include this license and copyright
notice on all media and documentation and the software program in which
this product is incorporated in whole or part. You may copy and extend
functionality (but may not remove functionality) of the Interface
Definition Language CFE without charge, but you are not authorized to
license or distribute it to anyone else except as part of a product or
program developed by you or with the express written consent of Sun
Microsystems, Inc. ("Sun").
The names of Sun Microsystems, Inc. and any of its subsidiaries or
affiliates may not be used in advertising or publicity pertaining to
distribution of Interface Definition Language CFE as permitted herein.
This license is effective until terminated by Sun for failure to comply
with this license. Upon termination, you shall destroy or return all code
and documentation for the Interface Definition Language CFE.
[...] etc. on copyright stuff [...]
SunSoft, Inc.
2550 Garcia Avenue
Mountain View, California 94043
27 Browser for OO info
A search engine for Object-Oriented Information Sources on the World
Wide Web is being maintained by the Software Composition Group at the
University of Berne, Switzerland. The URL to access is:
iamwww.unibe.ch/~scg/OOinfo/index.html
A mirror of the catalog is available from the University of Geneva:
cuiwww.unige.ch/OSG/OOinfo/
Please e-mail suggestions for new entries to: scg@iam.unibe.ch
A searchable bibliography of object-oriented references is also available:
iamwww.unibe.ch/cgi-bin/oobib
as is a (searchable) version of the OO FAQ:
iamwww.unibe.ch/~scg/OOinfo/FAQ/index.html
Oscar Nierstrasz
---
Prof. Dr. Oscar Nierstrasz; oscar@iam.unibe.ch; iamwww.unibe.ch/~oscar
Software Composition Group; CS Inst., U. Berne; Tel/Fax: +41 31 631.4618/3965
28 Apertos(Meta-Obj Distr OS, research)
The Apertos (formerly MUSE) project at Sony Research
is a meta-object based distributed OS for turning portable wireless
hand-held computers into fully-connected Dynabook-like
terminals. It's very very wizzy. The papers are on:
scslwide.sony.co.jp:pub/CSL-Papers
The source is available for research; I think you have to
sign something first.
29 Actors Paper (UIUC)
From: agha@cs.uiuc.edu (Gul Agha)
Subject: Actor Theory Paper available
Organization: University of Illinois, Dept. of Comp. Sci., Urbana, IL
Date: Wed, 4 Aug 1993 15:41:02 GMT
A new paper providing a definitive and detailed development of the
semantics of actor systems is available via anonymous ftp. Comments
are especially welcome.
Title: A Foundation for Actor Computation
Authors: Gul Agha, Univerity of Illinois at Urbana-Champaign
Ian Mason, Stanford University
Scott Smith, John Hopkins University
Carolyn Talcott, Stanford University
Abstract:
We present an actor language which is
an extension of a simple functional language, and provide a precise
operational semantics for this extension. Actor configurations are
open distributed systems, meaning we explicitly take into account the
interface with external components in the specification of an actor
system. We define and study various notions of equivalence on actor
expressions and configurations.
to ftp the compressed postscript file:
ftp sail.stanford.edu (or 36.28.0.130)
login: anonymous
send ident as password.
cd pub/MT
the file is called:
93actors.ps.Z
Note: the paper is 76pp long. It subsumes work reported in our paper
in CONCUR '92.
(A number of other recent papers on actor languages and their
implementation may be obtained by anonymous ftp from
biobio.cs.uiuc.edu in the directory pub/papers).
30 Chambers' Thesis
What: SELF optimizing compiler and Thesis
From: chambers@cs.washington.edu (Craig Chambers)
Date: 9 May 92 22:00:53 GMT
My Ph.D. thesis, entitled "The Design and Implementation of the Self Compiler,
an Optimizing Compiler for Object-Oriented Programming Languages," is now
available as Stanford technical report number STAN-CS-92-1420. Copies may be
ordered from Stanford. Stanford requires $20 (plus tax for orders from within
California), in advance, for each copy.
The dissertation also is available in compressed postscript form. The
electronic version may be copied via anonymous ftp from self.stanford.edu in
the directory pub/papers/chambers-thesis. This version is free. Note however
that the thesis is about 250 pages long.
31 graph drawing
From: rt@cs.brown.edu (Roberto Tamassia)
Subject: annotated bibliography on graph drawing algorithms
Organization: Brown University Department of Computer Science
Date: Wed, 30 Jun 1993 06:45:48 GMT
A new revised version of the annotated bibliography on graph drawing
algorithms by Giuseppe Di Battista, Peter Eades, Roberto Tamassia, and
Ioannis Tollis is now available via anonymous ftp from
wilma.cs.brown.edu (128.148.33.66). The files are /pub/gdbiblio.tex.Z
and /pub/gdbiblio.ps.Z.
32 Law of Demeter
From: lieber@ccs.neu.edu (Karl Lieberherr)
Subject: Law of Demeter/Adaptive Software
Organization: College of CS, Northeastern University
Date: Fri, 4 Jun 1993 20:41:49 GMT
>...
Yes, the Law of Demeter paper is available in electronic form on the
net. Indeed, many of the Demeter project papers are available from
the ftp server at Northeastern University (see instructions below).
The Law of Demeter idea has been automated in the Demeter Tools/C++
as an adaptive software tool which automatically makes much of your C++ code
compliant with the Law of Demeter. The tool is an add-on tool to
your favorite C++ development environment and is commercially available
from Demeter International. The Demeter Tools/C++ lift
object-oriented programming to a higher level of abstraction
by allowing the user to focus on the essential and
stable classes. A paper on ADAPTIVE SOFTWARE will appear in
the Communications of the ACM and is also available from the
ftp server.
For more information, use the ftp instructions below or call
Demeter International
56 Bennett Road
Marblehead, MA 01945
phone: (617) 639 1544
fax: (617) 373 5121
or send e-mail to demeter@ccs.neu.edu
-- Karl Lieberherr
FTP instructions:
Some of our papers are available in one package by anonymous ftp from
ftp.ccs.neu.edu (129.10.10.51)
in directory pub/demeter/documents
Use the following command sequence to copy the Demeter papers:
% ftp ftp.ccs.neu.edu or 129.10.10.51)
Name ( ... ): ftp
Password: your-email-address
ftp> cd pub/demeter/documents
ftp> ls
ftp> binary
ftp> get papers.tar.Z
ftp> quit
% uncompress papers.tar.Z
% tar xf papers.tar
If you want to copy individual papers and not all at once, go to
directory pub/demeter/documents/papers and retrieve them
individually.
Law of Demeter paper:
LH89-law-of-demeter.ps
Adaptive Software papers:
LSLX93-adaptive-programming.ps
L92a-component-enhancement.ps
LHSLX92-pp-experience.ps
33 OO Dyn Grping, memory
From: mario@cs.man.ac.uk (Mario Wolczko)
Subject: Re: OOPLs and Locality of Reference
Keywords: locality of reference
Date: 5 Jul 93 14:39:13 GMT
Organization: Dept Computer Science, University of Manchester, U.K.
[...]
The measurements done as part of the work here on the Mushroom project
show that temporal locality within Smalltalk objects is great (and
hence even conventional caches work reasonably well [unless the GC
scheme trashes the cache]), whereas spatial locality on a scale much
larger than the average object (which is 40 bytes) is much harder to
come by.
More details can be found in these papers (all available by ftp from
mushroom.cs.man.ac.uk in /pub/mushroom/papers):
dgvm1.ps.Z
"Dynamic Grouping in an Object Oriented Virtual Memory Hierarchy"
Ifor Williams, Mario Wolczko, Trevor Hopkins, Proc. ECOOP 87,
Springer-Verlag LNCS 276, pp.79-88.
dgvm2.ps.Z
"Realization of a Dynamically Grouped Object-Oriented Virtual
Memory Hierarchy", Proceedings of the Workshop on Persistent Object
Systems: Their Design, Implementation and Use, available as
Persistent Programming Research Report PPRR-44-87, Universities
of Glasgow and St. Andrews, Aug. 1987, pp.298--308.
obma.ps.Z
"An Object-Based Memory Architecture"
Ifor Williams and Mario Wolczko, in Implementing Persistent Object
Bases: Proc. Fourth International Workshop on Persistent Object Systems,
Morgan Kaufmann, 1991, pp.114-130.
The first three figures are in obma-fig[123].ps.Z.
Mario Wolczko
______ Dept. of Computer Science Internet: mario@cs.man.ac.uk
/~ ~\ The University uucp: mcsun!uknet!man.cs!mario
( __ ) Manchester M13 9PL JANET: mario@uk.ac.man.cs
`-': :`-' U.K. Tel: +44-61-275 6146 (FAX: 6236)
____; ;_____________the mushroom project___________________________________
34 Pred Classes (Cecil)
What: "Predicate Classes" paper
From: chambers@klamath.cs.washington.edu (Craig Chambers)
Date: Fri, 30 Apr 93 01:25:02 GMT
"Predicate classes are a new linguistic construct designed to
complement normal classes in object-oriented languages. Like a normal
class, a predicate class has a set of superclasses, methods, and
instance variables. However, unlike a normal class, an object is
automatically an instance of a predicate class whenever it satisfies a
predicate expression associated with the predicate class. The
predicate expression can test the value or state of the object, thus
supporting a form of implicit property-based classification that
augments the explicit type-based classification provided by normal
classes. By associating methods with predicate classes, method lookup
can depend not only on the dynamic class of an argument but also on
its dynamic value or state. If an object is modified, the
property-based classification of an object can change over time,
implementing shifts in major behavior modes of the object. A version
of predicate classes has been designed and implemented in the context
of the Cecil language."
Comments on the ideas in the paper are appreciated.
-- Craig Chambers
35 Manchester Archive and some
What: Manchester Archive, SmallTalk-V
From: johnson@m.cs.uiuc.edu (Ralph Johnson)
Date: 18 Dec 91 19:41:38 GMT
We have a complete copy of everything in the Manchester archive, and you
can either access it by e-mail like the Manchester archive or by anonymous
ftp. Our archive is on st.cs.uiuc.edu, and you can get information about the
e-mail server by sending to archive-server@st.cs.uiuc.edu, and putting the
line help in your message. We actually have a little more than is in the
Manchester archive. We have the Smalltalk-V code from the defunct
International Smalltalk Association, and a few other odds and ends.
Also:
The University of Illinois Smalltalk Archive is now offering a WWW server
the URL is st-www.cs.uiuc.edu/
36 Object Design's OO7 Results
What: Object Design's Results on the OO7 Benchmarks
From: dudek@odi.com (Glen Dudek)
Date: Thu, 29 Apr 93 17:17:11 GMT
OBJECT DESIGN'S RESULTS ON THE OO7 BENCHMARKS
April 26, 1993
We have made a copy of our results available to the Internet community. You
can access this information through anonymous ftp from ftp.odi.com in the
file /pub/oo7/results.ps.
The report includes the "official" tests done for ObjectStore by the
University of Wisconsin, and our internal execution of all the tests using
ObjectStore Release 2.0.1, the current production version. As the report
shows, our internal execution carefully followed the agreed-upon procedures
for running OO7, and we believe the numbers that were produced accurately
represent ObjectStore's performance.
For further information contact oo7info@odi.com.
37 Graph service
From: north@ulysses.att.com (Stephen C. North)
Subject: free samples of directed graph layouts by mail
Keywords: graph layout, DAG, embedder
Date: 25 Jun 93 18:28:29 GMT
Organization: AT&T Bell Laboratories, Murray Hill
I have created an experimental service for remote users to try some of
our graph layout programs through Internet mail, for research or
educational purposes. I'm looking for a few friendly users to try this
service. The programs are:
dag (directed graphs, old, program, works with some USL C++ utilities.
This may have unintentionally sparked the apparently misdirected
discussion of "DAG classes" in one newsgroup recently.)
dot (directed graphs, newer algorithms, better layouts, more features)
neato (undirected graphs, compatible with dot, Kamada-Kawai spring embedder)
You can ftp PostScript files of documentation from dist/drawdag/*.Z on
research.att.com
To draw graphs, send a graph file to drawdag@toucan.research.att.com
and give the command line in the Subject header. For example,
From cs.Princeton.EDU!north Thu Jun 24 11:45:28 0400 1993 remote from toucan
Date: Thu, 24 Jun 1993 11:45:28 -0400
From: Stephen North <north@cs.Princeton.EDU>
To: drawdag@toucan.research.att.com
Subject: dot -Tps
digraph G { a -> b }
File arguments are disabled for obvious reasons. Please let me know if
you hit any snags. There is a reasonable limit on graph size and probably
number of invocations from a given site/account. (If you use it that much,
AT&T's Intellectual Property Division sells binary executables; their number
is 800-462-8146).
Stephen North, AT&T Bell Laboratories, Murray Hill NJ, (908) 582 7392
Parturiunt montes, nascetur ridiculus mus!
38 C++SIM (Simula-like Sim Pkg)
From: M.C.Little@newcastle.ac.uk (Mark Little)
Subject: C++SIM Release 1.0 Announcement
Organization: Computing Laboratory, U of Newcastle upon Tyne, UK NE17RU
Keywords: C++, SIMULA, simulation, object-oriented
Date: Mon, 14 Jun 1993 15:02:33 GMT
C++SIM 1.0 Release Announcement.
This is to announce the release of version 1.0 of C++SIM, a simulation
package written in C++. C++SIM provides discrete process based
simulation similar to that provided by the simulation class and
libraries of SIMULA. The linked list manipulation facilities provided
by SIMSET are also included in the package.
Inheritance was used throughout the design to an even greater extent
than is already provided by SIMULA. This has allowed us to add new
functionality without affecting the overall system structure, and hence
provides for a more flexible and expandable simulation package.
A paper is included which describes the design and implementation of
C++SIM and includes a worked example of how to use the package. The
paper describes the class hierarchy which we have created, and
indicates how it can be used to further refine the simulation package.
The simulation package requires the use of a threads package and
currently only works with Sun's lightweight process library or the Gnu
thread package (which *is* included in the distribution). The package has
been used on Sun workstations, and, with the exception of the thread
library requirement, contains no system specific code which should make
porting to other systems relatively easy. The code has been compiled
with Cfront 2.1 and Cfront 3.0.1 and g++ 2.3.3
If you find any bugs or make modifications (e.g., ports to other thread
packages) or port it to other systems, then please let me know so I can
keep the sources up-to-date for other users.
The package is available via anonymous ftp from arjuna.ncl.ac.uk
39 commercial on cd-rom
From: jimad@microsoft.com (Jim Adcock)
Subject: Re: Non-defense Ada applications - answering several requests
Date: 11 Jun 93 18:56:55 GMT
Organization: Microsoft Corporation
>...
1) Get a copy of the Computer Select Database. [I notice the company
is offering free trial copies [the database is CD-ROM based]]
2) Select "Section: Software Product Specifications"
3) Select "Find: C++"
Behold! A list of 734 commercially available software packages written
in C++, including some of the best known names in the software industry.
40 C++ Signatures (subtyping)
From: gb@cs.purdue.edu (Gerald Baumgartner)
Newsgroups: comp.object,comp.lang.c++
Subject: signature implementation for G++ 2.5.2 and tech report available
Date: 4 Nov 1993 12:03:00 -0500
Organization: Department of Computer Sciences, Purdue University
Announcing the paper
Signatures: A C++ Extension for
Type Abstraction and Subtype Polymorphism
by Gerald Baumgartner and Vincent F. Russo.
Tech report CSD-TR-93-059, Dept. of Computer
Sciences, Purdue University, September 1993.
Submitted to Software Practice & Experience.
and a beta release of our implementation of
signatures for GCC 2.5.2.
How to Get that Stuff?
----------------------
You can get both the paper and the implementation by ftp from
host: ftp.cs.purdue.edu (128.10.2.1)
login: anonymous
password: your e-mail address
directory: pub/gb
files: COPYING Copyright notice.
README This file.
Signatures.{dvi,ps}.gz DVI and Postscript versions
of the paper.
gcc-2.5.2.sig.diff.gz Patch to upgrade GCC 2.5.2.
test.tar.gz Test files and script to run
the tests.
To make GCC 2.5.2 understand signatures, just copy the context diff
file into the GCC source directory, type
gunzip gcc-2.5.2.sig.diff.gz
patch < gcc-2.5.2.sig.diff
and rebuild and install `gcc,' `cc1plus,' the man pages, and the manual.
For compiling C++ code containing signatures, you need to use the
command line option
-fhandle-signatures
We tested our extension on Sun 4 only, but since there are no changes
to the compiler backend, it is expected work on other architectures as
well. To test whether it works on your architecture, unpack the file
`test.tar.gz' and run the shell script
Test
It compiles the test programs and runs them. If everything works
correctly, all the test programs (all 40 of them) should print
Hello World.
What are Signatures anyway?
---------------------------
Roughly, signatures are type abstractions or interfaces of classes.
They are related to ML's signatures, categories in Axiom, definition
modules in Modula-2, interface modules in Modula-3, and types in
POOL-I.
The main language constructs added are signatures and signature pointers.
For example, the signature declaration
signature S
{
int foo (void);
int bar (int);
};
defines a new abstract type `S' with member functions `int foo (void)'
and `int bar (int).' Signature types cannot be instantiated since they
don't provide any implementation. Only signature pointers and signature
references can be defined. For example,
C obj;
S * p = &obj;
defines a signature pointer `p' and initializes it to point to an object
of class type `C,' where `C' is required to contain the public member
functions `int foo (void)' and `int bar (int).' The member function call
int i = p->foo ();
executes then `obj.foo ().'
Class `C' is called an implementation of the abstract type `S.' In
this example, we could have made `S' an abstract virtual class and `C' a
subclass of `S,' and we would have had the same effect. The advantages
of signatures over abstract virtual classes are
- you can build a type hierarchy separate from the class inheritance
(implementation) hierarchy,
- subtyping becomes decoupled from inheritance, and
- signatures can be used with compiled classes, while you cannot
retrofit an abstract virtual class on top of compiled class
hierarchies.
For more information, please, see the paper.
What's Implemented and what's not?
----------------------------------
Signature declarations and signature pointers are implemented and
working. For examples of what's working and how to use them you can
have a look at the test files.
The following bugs are known:
- The destructor of objects cannot be called though signature pointers.
- A signature pointer cannot point to an object of a class defined
by multiple inheritance.
- The signature conformance check does not work if the signature
contains other signature declarations or class declarations.
- Operator and conversion operator member functions of signatures
can only be called with function call syntax, such as
`p->operator+(17),' but not with operator or conversion syntax.
The following language constructs and features are not yet implemented:
- constants in signatures,
- signature references,
- signature inheritance,
- the `sigof' (signature of a class) construct,
- views (not even the parsing is done),
- signature templates, and
- exception specifications in signature member function declarations.
The following optimization is not implemented:
- Looking up a virtual class member function through a signature
pointer/reference requires double indirection. This can be optimized
by memoizing, so that only the first lookup of a member function
requires double indirection and further lookups require only single
indirection.
The items above are roughly in the order in which they will be implemented.
Besides bug fixes, the main features that have been implemented since the
last release are default implementations of signature member functions
and opaque types.
Feedback
--------
Please, send your questions, comments, suggestions, and complaints to
gb@cs.purdue.edu
--
Gerald Baumgartner
Dept. of Computer Sciences, Purdue University, W. Lafayette, IN 47907
Internet: gb@cs.purdue.edu, UUCP: ...!{decwrl,gatech,ucbvax}!purdue!gb
41 The Texas Persistent Store
The Texas Persistent Store, version 0.1
Texas is a simple, portable, high-performance and (best of all) FREE
persistent store for C++ using "pointer swizzling at page fault time"
to translate persistent addresses to hardware-supported virtual addresses.
Texas is built on top of a normal virtual memory, and relies on the
underlying virtual memory system for caching. It uses user-level virtual
memory protections to control the faulting of data from a persistent storage
file into virtual memory.
All addresses in a page are translated from a persistent format to
actual virtual addresses when the page is brought into virtual memory,
and subsequent memory references (including pointer traversals) are
just as fast as for non-persistent data.
Texas is easy to use, and is implemented as a UNIX library. It is small
and can be linked into applications. It requires no special operating
system privileges, and persistence is orthogonal to type---objects may be
allocated on either a conventional transient heap, or on the persistent
heap, as desired.
Texas supports simple checkpointing of heap data. A log-structured storage
module is under development, and will provide fast checkpointing of small
transactions.
Texas is beta software, and the current prerelease version supports only
simple single-machine operation. Future releases will support client-server
operation, a flexible access control scheme, and transaction support.
Texas currently runs under SunOS and ULTRIX, using Sun CC or GNU C++.
Porting to other modern systems (e.g., OS/2, WNT, Mach) should be easy---it
requires only mprotect(), signal(), and sbrk() calls (or their equivalent)
to control virtual memory protection setting and trap handling.
Papers about the pointer swizzling scheme and Texas itself (referenced
below) are available via anonymous ftp from cs.utexas.edu (IP address
128.83.139.9), as postscript files swizz.ps and texaspstore.ps in the
directory pub/garbage.
The source code for Texas is also available, in the directory
pub/garbage/texas.
References:
Paul R. Wilson and Sheetal V. Kakkad, "Pointer Swizzling at Page Fault
Time: Efficiently and Compatibly Supporting Huge Address Spaces on Standard
Hardware," Proc. Second Int'l. Workshop on Object Orientation in Operating
Systems, Sept. 1992, Dourdan, France, pp. 364--377.
Vivek Singhal, Sheetal V. Kakkad, and Paul R. Wilson, "Texas: an Efficient,
Portable Persistent Store", Proc. Fifth Int'l. Workshop on Persistent Object
Systems, Sept. 1992, San Miniato, Italy, pp. 11-33.
42 OSE C++lib
From: Graham.Dumpleton@nms.otc.com.au (Graham Dumpleton)
Date: Tue, 9 May 1995 08:58:55 +1000 (EST)
OSE is a collection of programming tools and class libraries for C++. The
core of the environment is the C++ class libraries, of which three are
provided. These are:
OTCLIB - A library of generic components, including support for error
handling, error message logging, error recovery, program debugging,
memory management, resource management, generic collections, text
manipulation, date/time, operating system interfacing and event driven
systems.
OUXLIB - A library of components which primarily extends classes in the
OTCLIB library to support features specific to the UNIX operating
system.
OTKLIB - A library of components which builds on the OTCLIB and OUXLIB
libraries to allow integration of the TCL/TK library into applications
using the event driven systems framework provided by the OTCLIB
library.
The C++ libraries are portable to a wide range of C++ compilers on the
UNIX platform. Supported C++ compilers include those from ATT/USL (CFRONT),
CenterLine, DEC, HP, IBM, Lucid, ObjectStore, SGI (CFRONT), SGI (DELTA),
Sun (CFRONT) and Sun (NATIVE), as well as the freely available GNU C++
compiler. If your C++ compiler does not support templates, it is possible
to use a template preprocessor which is supplied with OSE. If your C++
compiler support exceptions, they will be used. Portability to all the
major variants of UNIX has been achieved. Supported platforms include AIX,
BSD, HPUX, IRIX, Linux, NeXT, OSF, SCO, Solaris, SunOS, SYSV and Ultrix. In
addition to being available under UNIX, the OTCLIB library has been ported
to DOS, OS/2 and Windows NT using Borland, Watcom and Microsoft C++
compilers.
The C++ libraries have been fully integrated with the ObjectStore OODBMS,
allowing instances of classes from the C++ libraries to be made persistent.
The C++ libraries can also be used in conjunction with applications using
Versant, although in this case instances of classes from the C++ libraries
cannot be made persistent.
In addition to the C++ libraries, a build environment is provided. The
build environment greatly simplifies the writing of makefiles, making the
the task of building applications, as well as the generation and
installation of both static and shared libraries easy. The details of
template instantiation for many of the C++ compilers is also hidden, making
it possible to write makefiles which are portable between different C++
compilers as well as different platforms. The build environment also
supports tasks such as schema generation for the ObjectStore and Versant
OODBMS, and testing of applications using tools such as Purify, Quantify,
PureCoverage, TestCenter and Sentinel.
Comprehensive documentation for the C++ libraries and build environment is
provided. Documentation for the C++ libraries comes in the form of a UNIX
style manual page for each class and higher level documentation giving
examples of how to use the classes. The UNIX style manual pages are
generated from the class header files using documentation extraction tools.
These tools are provided with OSE and are capable of generating both UNIX
style manual pages and Frame documents.
Development of OSE commenced in 1990, being made freely available via the
Internet in 1993. OSE was winner of CODA'94, the ComputerWorld Object
Developer Awards, held in conjunction with ObjectWorld in Sydney,
Australia. The category in which OSE was a winner was "Best implementation
of a reusable development environment for company deployment".
OSE (source code and documentation) can be obtained via anonymous ftp from:
Europe:
ftp.th-darmstadt.de [130.83.55.75]
directory pub/programming/languages/C++/class-libraries/OSE
United States
-- looking for new site
Australia:
cbr.dit.csiro.au [192.41.146.1]
directory pub/SEG/ose
Documentation for OSE is also available online via WWW at:
www.telstra.com.au/docs/ose/doc/ose-home.html
Questions regarding OSE can be sent to;
ose@nms.otc.com.au
A mailing list for discussion of OSE, and a mail server providing a list of
known problems and fixes also exists.
OSE is made freely available by Dumpleton Software Consulting Pty Limited.
OSE contains licensed program materials which are the copyright of Telstra
Corporation Limited and which are licensed to Dumpleton Software Consulting
Pty Limited by Telstra Corporation Limited.
43 Traces,kiczales,MOP,DI
From: gregor@parc.xerox.com (Gregor Kiczales)
Subject: Re: Dynamic Objects
In-Reply-To: rjh@geodesic.com's message of 25 Aug 93 21:52:56 GMT
Message-ID: <GREGOR.93Sep3093506@calvin.parc.xerox.com>
Organization: Xerox Palo Alto Research Center
References: <16C357BF0.MFARMER@utcvm.utc.edu> <1993Aug25.215256.8031@midway.uchicago.edu>
Date: 3 Sep 93 09:35:06
Earlier in this series of messages, Craig Chambers and others mentioned
his ECOOP'93 paper on predicate classes, which provide a powerful handle
on some of the problems that have been mentioned in this series of
messages, specifically, how dynamic changes to an object or its context
can be harnessed to reliably effect the object's (message receipt)
behavior. As I see it, predicate classes are a key step towards solving
one of the most frustrating problems of OO programming: the struggle
over whether to encode some difference among objects in the value of a
slot (that is one of its parts) or in the object's `method table' (class
or that which it is one-of).
A closely related problem, that has also come up in this series of
messages, is how so-called factory objects can dynamically select the
behavior of the objects they create. We have developed a new OO
language concept called Traces, that can be used to make much more
powerful factory objects, as well as handle some of the things predicate
classes do. The two ideas are similar in that they both make behavior
selection a much more dynamic phenomena.
My ISOTAS'93 paper presents the concept of Traces and shows it
application to some problems. This paper is available for anonymous FTP
from ftp.parc.xerox.com, in the /pub/mops directory. The file is
traces.ps.
Gregor
Following is the abstract from the paper:
Object-oriented techniques are a powerful tool for making a system
end-programmer specializable. But, in cases where the system not only
accepts objects as input, but also creates objects internally,
specialization has been more difficult. This has been referred to as
the ``make isn't generic problem.'' We present a new \oo{} language
concept, called traces, that we have used successfully to support
specialization in cases that were previously cumbersome.
The concept of traces makes a fundamental separation between two kinds
of inheritance in \oo{} languages: inheritance of default implementation
-- an aspect of code sharing; and inheritance of specialization, a
sometimes static, sometimes dynamic phenomenon.
44 C++ coding standard
From: metz@iam.unibe.ch (Igor Metz)
Subject: Re: C++ coding standard
Organization: Dept. of CS, University of Berne, Switzerland
Date: Tue, 7 Sep 1993 07:08:21 GMT
euagate.eua.ericsson.se (Internet Address: 134.138.134.16)
~ftp/pub/eua/c++/rules.ps.Z
[Also an archive site. E.g. Coplien includes a dir of C++ examples]
45 Kala Archive
From: sss@world.std.com (Sergiu S Simmel)
Subject: Kala White Paper now available via anonymous ftp
Message-ID: <CD4MyB.Hsn@world.std.com>
Organization: Penobscot Development Corporation, Cambridge MA
Date: Fri, 10 Sep 1993 07:18:11 GMT
An 8-page paper providing an overview of what Kala is and what Kala is
for is now available, in PostScript format, in the Kala Archive. The
file is accessible, via anonymous FTP, at the following location:
anonymous@world.std.com:/pub/kala/TechDocs/Overview.ps
The outline is the following
1 What is Kala For?
2 Software Infrastructure
Persistent Data and Persistent Stores
3 Data Transfer
4 Data Visibility
Changing Visibility
Sharing Visibility
Transactions
Versions
5 Runtime and Architectural Models
6 Relationship to Other Technologies
This paper is targeted towards those who don't know anything about
Kala and would like to find out a bit in 10 pages or less.
Enjoy!
P.S. For those of you who do not have FTP access and would like to
obtain this file, please send a brief e-mail message to
info@Kala.com, requesting that the file be e-mailed to you.
Beware that the file is approximately 425Kbytes long (the paper
contains 13 illustrations!).
46 BeBOP(seq,par,LP,OO,meta)
From: ad@munta.cs.mu.OZ.AU (Andrew Davison)
Subject: BeBOP v.1.0 Available
Message-ID: <9325614.15552@mulga.cs.mu.OZ.AU>
Organization: Department of Computer Sci, University of Melbourne
Follow-Up: comp.parallel
Date: Mon, 13 Sep 1993 04:08:41 GMT
BeBOP and bp Version 1.0 now available
======================================
What is BeBOP?
==============
The language BeBOP is a unique combination of sequential
and parallel Logic Programming (LP), object oriented
programming and meta-level programming.
The LP component offers both don't know non-determinism
and stream AND-parallelism, a combination not possible
with concurrent LP languages.
BeBOP's object oriented features include object IDs,
encapsulation, message passing, state updating, and
object behaviour modification.
The meta-level capabilities are based on the treatment
of Prolog theories as first order entities, which
enables them to be updated easily, and for fragments
to be passed between objects in messages.
BeBOP is implemented by translation down to NU-Prolog,
and its parallel extension, PNU-Prolog. An unusual
aspect of this is the way that object IDs are utilized
as a communication mechanism between objects.
What is bp?
===========
The bp interactive interpreter supports BeBOP programming
by allowing the flexible invocation of objects, and
offering the means for setting up communication links
between objects at any time. An incidental benefit is
the ability to use `global' variables in queries. Since
bp is an augmentation of the NU-Prolog np system, objects
and Prolog goals can be combined, and a by-product is
that the floundering of Prolog queries is avoided.
Where are they?
===============
The BeBOP system (BeBOP and bp), and the PNU-Prolog
preprocessor pnp, can be found at the anonymous ftp
site munnari.oz.au (128.250.1.21), in the directory
pub as the file bebop.tar.Z. Remember to use binary
mode when copying it.
The release comes with a user manual, several papers
(in Postscript format), sample programs, and source code.
System requirements
===================
The BeBOP system requires the following:
* The NU-Prolog system, compiler and interpreter
* The pnp preprocessor
(this is included as part of the BeBOP system release)
* GCC or similar compiler
* Yacc (or Bison) and Lex
For more details, contact:
==========================
Andrew Davison
Dept. of Computer Science
University of Melbourne
Parkville, Victoria 3052
Australia
Email: ad@cs.mu.oz.au
Fax: +61 3 348 1184
Phone: +61 3 287 9172 / 9101
Telex: AA 35185
47 Knowledge Media, Massive cd-rom, lots of freeware
A "Resource Library" of cd-rom discs . CDs for language/OS, graphics, multi-
media, mega-media (3), and audio. "Gathered from the resources of the
Internet, CompuServe, Genie, BIX, and other BBS's". Some shareware. Should be
available at your local software store.
From the back of the Languages CD:
'Over 100 Languages'
...
This is the largest collection of compilers, interpreters, libraries, and
source code for standard and experimental computer languages and operating
systems ever assembled. A must for anyone interested in computer programming,
this disc is just right for everyone, whether he or she is a researcher,
student, or an interested hobbist.
Knowledge Media Inc.
Paradise, CA 95969 USA
48 u++, C++ Trans. and Concry RTS
From: nat@nataa.frmug.fr.net (Nat Makarevitch)
Subject: Re: 'Concurrent Objects' - Suggestions needed
Date: 10 Oct 1993 02:41:15 GMT
Organization: LIVIA
u++ - uC++ Translator and Concurrency Runtime System
DESCRIPTION
The u++ command introduces a translator pass over the
specified source files after the C preprocessor and before
the actual C++ compilation. The translator converts sev-
eral new uC++ constructs into C++ statements. The u++
command also provides the runtime concurrency library,
which must be linked with each uC++ application.
REFERENCES
uC++: Concurrency in the Object-Oriented Language C++, by
P.A. Buhr, G. Ditchfield, R.A. Stroobosscher, B.M.
Younger, C.R. Zarnke; Software-Practise and Experience,
22(2):137--172, February 1992. This paper describes uC++
v2.0, which has been significantly extended.
The uC++ system is available via anonymous FTP
from watmsg.UWaterloo.ca:pub/uSystem. A license agreement
is required to use uC++.
49 Real Time
From: dstewart+@cs.cmu.edu (David B Stewart)
Subject: Re: Object-Oriented Systems and Realtime
Organization: The Robotics Institute, Carnegie Mellon University
Date: Mon, 11 Oct 1993 16:51:19 GMT
In article <1993Oct11.082519.23058@cs.tcd.ie>,
Chris Zimmermann <czimmerm@cs.tcd.ie> wrote:
>Hi community:
>
>What is the state of the art concerning real time in
>object-oriented systems (if any)? By this, I mean the
>marriage of more or less traditional real time systems
>(including systems concerned with "soft" real time aspects
>like multimedia) with the OO paradigm.
>[...]
We've done significant work in that area. Check out the following tech
report:
D. B. Stewart, R. A. Volpe, and P. K. Khosla, "Design of Dynamically
Reconfigurable Real-Time Software using Port-Based Objects,"
Carnegie Mellon University Tech Report #CMU-RI-TR-93-11, July 1993.
Abstract: The current development of applications for sensor-based
robotic and automation (R&A) systems is typically a `one-of-a-kind'
process, where most software is developed from scratch, even though
much of the code is similar to code written for other applications.
The cost of these systems can be drastically reduced and the capability
of these systems improved by providing a suitable software framework
for all R&A sys tems. We describe a novel software framework, based on
the notion of dynamically reconfigurable software for sensor-based
control systems. Tools to support the implementation of this framework
have been built into the Chimera 3.0 Real-Time Operating System. The
framework provides for the systematic development and predictable
execution of flexible R&A applications while maintaining the ability to
reuse code from previous applications. It combines object-oriented
design of software with port-automaton design of digital control
systems. A control module is an instance of a class of port-based
objects. A task set is formed by integrating objects from a module
library to form a specific configuration. An implementation using
global state variables for the automatic integration of port-based
objects is presented. A control subsystem is a collection of jobs
which are executed one at a time, and can be programmed by a user.
Multiple control subsystems can execute in parallel, and operate
either independently or cooperatively. One of the fundamental concepts
of reconfigurable software design is that modules are developed
independent of the target hardware. Our framework defines classes of
reconfigurable device driver objects for proving hardware independence
to I/O devices, sensors, actuators, and special purpose processors.
Hardware independent real-time communication mechanisms for
inter-subsystem communication are also described. Along with providing
a foundation for design of dynamically reconfigurable real-time
software, we are also developing many modules for the control module,
device driver, and subroutine libraries. As the libraries continue to
grow, they will form the basis of code that can eventually be used by
future R&A applications. There will no longer be a need for developing
software from scratch for new applications, since many required modules
will already be available in one of the libraries.
This report is available via anonymous FTP as follows:
% ftp IUS4.IUS.CS.CMU.EDU (128.2.209.143)
Name: anonymous
Password: yourname@yourmachine
ftp> binary
ftp> cd /usr/chimera/public
ftp> get CMU_RI_TR_93_11.ps.Z
ftp> quit
% uncompress CMU_RI_TR_93_11.ps.Z
% lpr CMU_RI_TR_93_11.ps (must be a postscript printer)
For more information, 'finger chimera@cmu.edu'.
50 Ada95 (compiler, GNU)
From: stt@spock.camb.inmet.com (Tucker Taft)
Subject: Re: which language to use ...?
Organization: Intermetrics, Inc.
Date: Mon, 1 Nov 1993 23:22:42 GMT
>[...]
Also, there is a preliminary release of a GNU-GCC-based Ada 9X
compiler available from NYU on cs.nyu.edu in pub/gnat/...
The front end is written in Ada itself; the back end
is the usual GCC back end (enhanced as appropriate).
S. Tucker Taft stt@inmet.com
Intermetrics, Inc.
Cambridge, MA 02138
51 OO Course Slides
From: wellerd@ajpo.sei.cmu.edu (David Weller)
Subject: Re: Slides on OOP or OMT wanted
Organization: Sigma Software Engineering, Inc.
Date: Fri, 5 Nov 1993 11:01:44 EST
In article <2bdot7$3nr@news-rocq.inria.fr> ziane@lolita.inria.fr (Mikal Ziane (Univ. Paris 5 and INRIA) ) writes:
>
>Hello netters,
>
>Is anybody aware of public domain slides available on an ftp site ?
>I'd like slides on OO programming or OO design methods (esp. OMT).
>I know I am crazy to ask for that but someone told me he saw
>a very good C++ course on some ftp site ! (he does not remember which one
>unfortunatemy)
>
It's true! On WUArchive (wuarchive.wustl.edu) there is a series of
slides developed in Microsoft's PowerPoint. The course material
includes lesson plans, tests, and workbooks, along with full notes
accompanying each slide.
There's one _little_ catch -- it's in the Public Ada Library. Now,
the OOP course (there's three courses, one on OOD, OOP, and Software
Engineering) covers both C++ and Ada. It was designed to let the
students work in both languages to get an objective opinion of the
pluses and minuses of each language (gee, what a concept!).
The OOD slides do NOT cover OMT. Some material is used from Booch's
OOD book, but not the notation. From looking at the slides, it appears
very easy to insert your own notation. The important part for students
is communicating the concepts, which (for the price) these slides do
a DAMN good job of. <- (Safire's Violation #45: "A perposition is a
bad thing to end a sentence with." :-)
Ah, but WHERE on WUArchive are they? If you look under
languages/ada/crsware, I believe you'll find them. Good luck!
dgw
--
type My_Disclaimer is new Standard.Disclaimer with record
AJPO, SEI : Cognizance := Disavow_All_Knowledge;
end record;--)
52 GTE Distrib Reports
From: em02@gte.com (Emon)
Subject: Reports Available From The Distributed Object Computing Department
Date: 5 Nov 93 18:10:15 GMT
Organization: GTE Laboratories, Inc.
REPORTS AVAILABLE FROM
THE DISTRIBUTED OBJECT COMPUTING DEPARTMENT
GTE LABORATORIES INCORPORATED
40 Sylvan Road, M/S 62
Waltham, Massachusetts 02254
For over six years, the primary focus of the Distributed Object Computing
Department within GTE Laboratories has been the Distributed Object
Management (DOM) project. The DOM project conducts research into
object-oriented technology for integrating heterogeneous, autonomous,
distributed (HAD) computer systems/resources. Major research areas include:
interoperable object models; interoperable, distributed object
architectures; heterogeneous, extended transaction models; and information
requests in HAD environments. We are experimenting in these areas using our
prototype DOM system which we have developed over the past five years. This
technology is based on ideas from a number of technical areas including
distributed, object-oriented, databases, multi-database systems, operating
systems, and programming languages.
Permission is granted at this time for the operations and uses listed
below. However, this permission is non-transferable and is subject to
revocation on a report-by-report basis, due to possible copyright transfers
that are normal in the publication process. Any additional copyright
restrictions are noted in the reports themselves. Default permissions are
for anonymous ftp, electronic viewing, and single-copy printing.
Permissible uses are research and browsing. Specifically prohibited are
SALES of any copy, whether electronic or hardcopy, of any of these reports
for any purpose. Also prohibited is copying, excerpting or extensive
quoting of any report in another work without the written permission of one
of the report's authors.
Reports marked with a "*" can be retrieved in postscript(ascii) form via
anonymous ftp from ftp.gte.com (132.197.8.2) in the "pub/dom" subdirectory.
>>>>>>>>> 1994
[GEOR94a]* Georgakopoulos, D., M. Rusinkiewicz, and W. Litwin,
"Chronological Scheduling of Transactions with Temporal Dependencies," to
appear in the VLDB journal, January 1994 (submitted in December 1990).
[GEOR94b]* Georgakopoulos, D., M. Hornick, P. Krychniak, and F. Manola,
"Specification and Management of Extended Transactions in a Programmable
Transaction Environment," to appear in the Proceedings of the 10th
International Conference on Data Engineering, Houston, Texas, February
1994. Also published as TC-0207-02-93-165, GTE Laboratories Incorporated,
February 1993.
>>>>>>>>> 1993
[BROD93a]* Brodie, M.L., "The Promise of Distributed Computing and the
Challenge of Legacy Information Systems," in Hsiao, D., E.J. Neuhold, and
R. Sacks-Davis (eds), Proc. IFIP TC2/WG2.6 Conference on Semantics of
Interoperable Database Systems, Lorne, Australia, November 1992, Elsevier
North Holland, Amsterdam 1993.
[BROD93b]* Brodie, M.L. and M. Stonebraker, "DARWIN: On the Incremental
Migration of Legacy Information Systems," DOM Technical Report,
TR-0222-10-92-165, GTE Laboratories Inc., March 1993.
[GEOR93a]* Georgakopoulos, D., M. Hornick, and P. Krychniak, "An
Environment for Specification and Management of Extended Transactions in
DOMS," to appear in Proceedings of the 3rd International Workshop on
Interoperability in Multidatabase Systems, Vienna, Austria, April 1993.
[GEOR93c]* Georgakopoulos, D., M. Rusinkiewicz and A. Sheth, "Using
Ticket-based Methods to Enforce the Serializability of Multidatabase
Transactions," to appear in the IEEE Transactions on Data and Knowledge
Engineering December 1993 (submitted in February 1992).
[GEOR93e]* Georgakopoulos, D., M. Hornick, F. Manola, M. Brodie, S.
Heiler, F. Nayeri, and B. Hurwitz, "An Extended Transaction Environment for
Workflows in Distributed Object Computing," in IEEE Data Engineering, pp.
24-27, vol. 16, no. 2, June 1993.
[MANO93a] Manola, F., "The Need for Object Model Interoperability,"
Workshop Report, Workshop on Application Integration Architectures, Dallas,
Texas, February 1993
[MANO93c]* Manola, F. and S. Heiler, "A 'RISC' Object Model for Object
System Interoperation: Concepts and Applications," TR-0231-08-93-165, GTE
Laboratories, Inc., August 1993.
[MITC93a] Mitchell, G., "Extensible Query Processing in an
Object-Oriented Database," PhD Thesis, Brown University Technical Report
No. CS-93-16, May 1993. Available in hard copy from Brown University,
Computer Science Department, and postscript format via anonymous ftp from
wilma.cs.brown.edu as file techreports/93/cs93-16.ps.Z
[NAYE93c]* Nayeri, F., and B. Hurwitz, "Experiments with Dispatching in a
Distributed Object System," GTE Laboratories, Inc., TR-0236-09-93-165, July
1993.
[NAYE93d]* Nayeri, F., "Addressing Component Interoperability in the OMG
Object Model," position paper submitted to ORB Implementors' Workshop, San
Francisco, June 1993.
[NICO93a] Nicol, J., T. Wilkes, and F. Manola, "Object Orientation in
Heterogeneous Distributed Computing Systems," IEEE Computer, pp. 57-67,
Vol. 26, No.6, June 1993.
[VENT93]* Ventrone, V. and S. Heiler, "Some Practical Advice for Dealing
with Semantic Heterogeneity in Federated Database Systems," Submitted to
USENIX.
>>>>>>>>> 1992
[BGR92]* Batra, R., D. Georgakopoulos, and M. Rusinkiewicz, "A
Decentralized Deadlock-free Concurrency Control Method for Multidatabase
Transactions," in Proceedings of 12th International Conference on
Distributed Computing Systems, Yokohama, Japan, June, 1992.
[BRO92b]* Brodie, M.L. and J. Mylopoulos , "Artificial Intelligence and
Databases: Dawn, Midday, or Sunset?," Canadian Information Processing
/Informatique Canadienne, July/August 1992.
[BROD92c]* Brodie, M.L. and S. Ceri, "On Intelligent and Cooperative
Information Systems," in International Journal of Intelligent and
Cooperative Information Systems 1, 2 September 1992.
[BUCH92] Buchmann, A.P., M.T. Ozsu, M. Hornick, D. Georgakopoulos, F.A.
Manola, "A Transaction Model for Active Distributed Object Systems," in
Database Transaction Models for Advanced Applications, A.K. Elmagarmid,
(ed.), Morgan Kaufmann, San Mateo, CA, Spring 1992.
[GEOR92]* Georgakopoulos, D., "A Framework for Dynamic Specification of
Extended Multidatabase Transactions and Interdatabase Dependencies,"
Proceedings of Third Workshop on Heterogeneous Databases and Semantic
Interoperability, Boulder, February, 1992.
[HEIL92] Heiler, S., S. Haradhvala, B. Blaustein, A. Rosenthal, and S.
Zdonik, "A Flexible Framework for Transaction Management in Engineering
Environments," in Database Transaction Models for Advanced Applications,
A.K. Elmagarmid (ed.), Morgan Kaufmann, San Mateo, CA, Spring 1992.
[MANO92]* Manola, F., S. Heiler, D. Georgakopoulos, M. Hornick, M.
Brodie, "Distributed Object Management," International Journal of
Intelligent and Cooperative Information Systems 1, 1 March 1992.
[MANO92a]* Manola, F. and S. Heiler, "An Approach To Interoperable Object
Models," Proceedings of the International Workshop on Distributed Object
Management, Edmonton, Canada, August 1992 (also in Distributed Object
Management, M.T. Ozsu, U. Dayal, and P. Valduriez (eds.), Morgan Kaufmann,
San Mateo, CA, 1993).
>>>>>>>>> 1991
[BROD91] Brodie, M., "Distributed Object Management Research,"
Proceedings of the Second Telecommunications Information Networking
Architecture (TINA) Workshop, pp. 297-303, Chantilly, France, March 1991.
[BROD91a]* Brodie, M. and M. Hornick, "An Interoperability Development
Environment For Intelligent Information Systems," Proceedings of the
International Workshop on the Development of Intelligent Information
Systems, Niagara-on-the-Lake, April 1991.
[BUCH91]* Buchmann, A.P., M. Tamer Ozsu, and D. Georgakopoulos, "Towards
a Transaction Management System for DOM," TR-0146-06-91-165, GTE
Laboratories Incorporated, June 1991.
[GEOR91a]* Georgakopoulos, D., M. Rusinkiewicz, and A. Sheth, "On
Serializability of Multidatabase Transactions Through Forced Local
Conflicts," Proceedings of the 7th International Conference on Data
Engineering, Kobe, Japan, April 1991.
[GEOR91b]* Georgakopoulos, D., "Multidatabase Recoverability and
Recovery," Proceedings of the First International Workshop on
Interoperability in Multidatabase Systems, Kyoto, Japan, April 1991.
[GRL91] Georgakopoulos, D., M. Rusinkiewicz, and W. Litwin,
"Chronological Scheduling of Transactions with Temporal Dependencies," in
the VLDB journal, available draft also as a Technical Report from the
Department of Computer Science at the University of Houston, UH-CS-91-03,
February, 1991.
[HEIL91]* Heiler, S., "Extended Data Type Support in Distributed DBMS
Products: A Technology Assessment and Forecast," TR-170-12-91-165. GTE
Laboratories Incorporated, December 1991.
[HORN91]* Hornick, M.F., J.D. Morrison, and F. Nayeri, "Integrating
Heterogeneous, Autonomous, Distributed Applications Using the DOM
Prototype," TR-0174-12-91-165. GTE Laboratories Incorporated, December
1991.
[MANO91] Manola, F. and U. Dayal, "An Overview of PDM: An Object-Oriented
Data Model," in K.R. Dittrich, U. Dayal, and A.P. Buchmann (eds.), On
Object-Oriented Database Systems, Springer-Verlag, 1991.
[MANO91a]* Manola, F., "Object Data Language Facilities for Multimedia
Data Types," TR-0169-12-91-165. GTE Laboratories Incorporated, December
1991.
[MANO91b] Manola, F., "The Third-Generation/OODBMS Manifesto, Commercial
Version," SIGMOD Record, Vol. 20, No. 4, December 1991.
[RUSI91] Rusinkiewicz, M. and D. Georgakopoulos, "Multidatabase
Transactions: Impediments and Opportunities," Compcon Spring '91 Digest of
Papers, San Francisco, February 1991.
[VENT91] Ventrone, V. and S. Heiler, "Semantic Heterogeneity as a Result
of Domain Evaluation," SIGMOD Record Special Issue: Semantic Issues in
Multidatabase Systems, Vol. 20, No. 4, December 1991.
>>>>>>>>> 1990
[BREI90] Breitbart, Y., D. Georgakopoulos, and M. Rusinkiewicz, A.
Silberschatz, "Rigorous Scheduling in Multidatabase Systems," Proceedings
of Workshop in Multidatabases and Semantic Interoperability, Tulsa, pp.
658-667, November 1990.
[BROD90]* Brodie, M.L., F. Bancilhon, C. Harris, M. Kifer, Y. Masunaga,
E.D. Sacerdoti, K. Tanaka, "Next Generation Database Management Systems
Technology," in Deductive and Object-Oriented Databases, W. Kim, J-M
Nicolas, S. Nishio, (eds.), Elsevier Science Publishers, 1990.
[HEIL90] Heiler, S., F. Manola and S. Zdonik, "An Object-Oriented
Database Approach to Federated Systems," (unpublished paper), 1990.
[MANO90] Manola, F., "Object-Oriented Knowledge Bases," AI Expert, 5(3),
5(4), March and April 1990.
[MANO90a]* Manola, F. and A. Buchmann "A Functional/Relational
Object-Oriented Model for Distributed Object Management: Preliminary
Description" TM-0331-11-90-165. GTE Laboratories Incorporated, December
1990.
[MANO90b]* Manola, F., M. Hornick, and A. Buchmann "Object Data Model
Facilities for Multimedia Data Types" TM-0332-11-90-165, GTE Laboratories
Incorporated, December 1990.
[MYLO90]* Mylopoulos, J. and M. Brodie, "Knowledge Bases and Databases:
Current Trends and Future Directions," Lecture Notes in Computer Science,
Vol. 474: Information Systems and Artificial Intelligence: Integration
Aspects, D. Karagiannia, (ed.), Springer-Verlag, New York, 1990.
[RUSI90] Rusinkiewicz, M., D. Georgakopoulos, and R. Thomas, "RDS: A
Primitive for the Maintenance of Replicated Data Objects," Proceedings of
Second IEEE Symposium on Parallel and Distributed Processing, Dallas, pp.
658-667, December 1990.
[SILB90] Silberschatz, A., M. Stonebraker, and J.D. Ullman (eds.), M.L.
Brodie, P. Buneman, M. Carey, A. Chandra, H. Garcia-Molina, J. Gray, R.
Fagin, D. Lomet, D. Maier, M.A. Niemat, A. Silberschatz, M. Stonebraker, I.
Traiger, J. Ullman, G. Wiederhold, C. Zaniolo, and M. Zemankova, P.A.
Bernstein, W. Kim, H.F. Korth, and A. van Tilborg, (co-authors), "Database
Systems: Achievements and Opportunities," ACM SIGMOD Record, 19, 4,
December 1990; also appeared in Communications of the ACM, Vol. 34, No.10,
pp. 110-120, October 1991.
[STON90] Stonebraker, M. , L.A. Rowe, B. Lindsay, J. Gray, M. Carey, M.L.
Brodie, P. Bernstein, and D. Beech, "Third-Generation Data Base System
Manifesto," ACM SIGMOD Recored 19, 3, September 1990.
[ZERT90] Zertuche, D.R. and A.P. Buchmann, "Execution Models for Active
Database Systems: A Comparison," TM-0238-01-90-165, GTE Laboratories
Incorporated, January 1990.
>>>>>>>>> 1989
[BROD89] Brodie, M., D. Bobrow, V. Lesser, S. Madnick, D. Tsichritzis,
and C. Hewitt, "Future Artificial Intelligence Requirements for Intelligent
Database Systems" Expert Database Systems: Proceedings From the Second
International Conference, L. Kerschberg (ed.), Benjamin/Cummings, Menlo
Park, CA, 1989.
[BROD89a] Brodie, M. , J. Mylopoulos, "Future Intelligent Information
Systems: AI and Database Technologies Working Together," in M. Brodie, J.
Mylopoulos, (eds. and contributors), Readings in Artificial Intelligence
and Databases, Morgan Kaufmann, San Mateo, CA, 1989.
[MANO89]* Manola, F., "Applications of Object-Oriented Database
Technology in Knowledge-Based Integrated Information Systems," GTE
Laboratories Incorporated, April 1989.
[MANO89a]* Manola, F., "Object Model Capabilities For Distributed Object
Management," TM-0149-06-89-165, GTE Laboratories Incorporated, June 1989.
[MANO89b]* Manola, F., "An Evaluation of Object-Oriented DBMS
Developments," TR-0066-10-89-165, GTE Laboratories Incorporated, October
1989.
[WELC89] Welch, J.L. and A.P. Sistla, "Object-Based Concurrency Control
and Recovery Mechanisms," TM-0150-06-89-165, GTE Laboratories Incorporated,
June 1989.
>>>>>>>>> 1988
[MANO88]* Manola, F., "Distributed Object Management Technology,"
TM-0014-06-88-165, GTE Laboratories Incorporated, June 1988.
>>>>>>>>> 1987
[MANO87] Manola, F., "A Personal View of DBMS Security," Database
Security: Status and Prospects, C.E. Landwehr (ed.), Elsevier Science
Publishers B.V., North Holland, 1988, 23-34; TN CS1.1, GTE Laboratories
Incorporated, December 1987.
_[GEOR94a]* _[GEOR94b]*
_[BROD93a]* _[BROD93b]* _[GEOR93a]* _[GEOR93c]* _[GEOR93e]*
_[MANO93a] _[MANO93c]* _[NAYE93c]* _[NAYE93d]* _[NICO93a]
_[VENT93]*
_[BGR92] _[BRO92b]* _[BROD92c]* _[BUCH92] _[GEOR92]*
_[HEIL92] _[MANO92]* _[MANO92a]*
_[BROD91] _[BROD91a]* _[BUCH91]* _[GEOR91a]* _[GEOR91b]*
_[GRL91] _[HEIL91]* _[HORN91]* _[MANO91] _[MANO91a]*
_[MANO91b] _[RUSI91] _[VENT91]
_[BREI90] _[BROD90]* _[HEIL90] _[MANO90] _[MANO90a]*
_[MANO90b]* _[MYLO90]* _[RUSI90] _[SILB90] _[STON90]
_[ZERT90]
_[BROD89] _[BROD89a] _[MANO89]* _[MANO89a]* _[MANO89b]*
_[WELC89]
_[MANO88]*
_[MANO87]
53 KEOBJ, OO DSP micro-kernel
From: clb@softia.com (Chris Bidaut)
Subject: Object kernel for DSP & RISC processors
Date: Mon, 15 Nov 1993 22:48:46
Organization: Softia, Inc.
This is an announcement for KEOBJ, an object-oriented micro-kernel for Digital
Signal Processors (DSP) and RISC processors. This is also a request for
comments from the Internet community. Feedback on the architecture and
programming interface will be appreciated and incorporated into the next
release.
1 DESCRIPTION
-------------
KEOBJ is an object-oriented micro-kernel optimized for advanced embedded
applications, and it particularly targets Digital Signal Processors (DSP)
and RISC processors in multimedia environments.
Its main features are object-orientation, real-time behavior, signal processing
support, micro-kernel architecture and scalability.
1.1 Object-orientation
The kernel is a collection of system classes exported to the applications
(e.g Process, Thread, Memory, ...).
An object name space provides a way to locate any public object (e.g. IPC,
memory) using a symbolic path.
The kernel is written in C++ and is easily portable.
1.2 Real-time behavior
The design stresses fast response time and predictability to qualify for the
real-time label. The kernel is reentrant and preeemptable.
1.3 Signal processing support
Besides providing an architecture appropriate for most general purpose
applications, the kernel incorporates dedicated features for signal processing
applications. This includes two phases interrupt processing, time-deadline
scheduling, Inter Process Communications, multiple memory pools, awareness of
the constraints due to a single data type (word).
1.4 Micro-kernel architecture
Probably the most important feature of the kernel is the ability to be
extended at run-time with new services such as devices drivers, public
classes (IPC, file systems, windowing systems). Applications and system
services are dynamically loaded by a COFF compatible loader.
The core kernel is customizable at run-time through a personality mechanism
to emulate other environments (Operating systems) or to tailor the processes
environments.
1.5 Scalability
The API supports physical and virtual memory organizations with the same
semantics.
Applications source code will be portable across DSP and RISC processors.
The architecture supports symmetric multiprocessing and distribution (Available
by mid-1994).
2 WHERE TO FIND THE PACKAGE
---------------------------
A set of documentation about KEOBJ is available via anonymous ftp on the
following Internet server:
netcom.com (192.100.81.100) in file /pub/softia/keobj.zip
If you do not have access to Internet, contact me for other delivery media at:
Chris Bidaut clb@softia.com
Telephone (408) 262-6520 Fax (408) 262-7210
54 MindFrame for Windows
From: gcl@netcom.com (Geoff Lee)
Subject: "MindFrame for Windows" (freeware) application is available for ftp
Date: Tue, 16 Nov 1993 21:07:28 GMT
MindFrame for Windows 1.0 Release Note
======================================
mndframe.zip (MindFrame for Windows) is available for anonymous ftp
on ftp.cica.indiana.edu. It is currently in /pub/pc/win3/uploads.
"MindFrame for Windows" is a freeware application developed to
teach an object modeling approach presented in the
book: "Object-Oriented GUI Application Development" Geoff Lee,
Prentice-Hall, 1993, ISBN 0-13-363086-2.
This application is useful in many other areas as well, for
example, in Bible studying (metaphors, parables, prophecies,
types), neural modeling, ecological modeling, and task modeling.
There are 20 sample applications covering these areas. There
are also description of each of the sample application i