home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.pasteur.org/FAQ/
/
ftp-pasteur-org-FAQ.zip
/
FAQ
/
object-faq
/
part5
< prev
next >
Wrap
Text File
|
1996-04-05
|
52KB
|
1,387 lines
Newsgroups: comp.object,comp.answers,news.answers
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!howland.reston.ans.net!newsfeed.internetmci.com!ncar!uchinews!news
From: Bob Hathaway <rjh@geodesic.com>
Subject: Comp.Object FAQ Version 1.0.9 (04-02) Part 5/13
X-Nntp-Posting-Host: ford.uchicago.edu
Message-ID: <Dp9qCu.AFE@midway.uchicago.edu>
Followup-To: comp.object
Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
Sender: news@midway.uchicago.edu (News Administrator)
Organization: Geodesic Systems
References: <Dp9prv.92t@midway.uchicago.edu>
Date: Wed, 3 Apr 1996 04:12:30 GMT
Approved: news-answers-request@MIT.Edu
Lines: 1370
Xref: senator-bedfellow.mit.edu comp.object:46932 comp.answers:17964 news.answers:68637
Archive-name: object-faq/part5
Last-Modified: 04/02/96
Version: 1.0.9
[Stroustrup 91] Stroustrup, B. The C++ Programming Language (2nd edition).
Has the ARM, better reference for the use of C++ (recommended by bs).
Contains sections on object-oriented software engineering.
[Tasker 93] Dan Tasker. The Problem Space, Practical Techniques for
Gathering & Specifying Requirements. ISBN: 0-646-12524-9. Avail only from
author, dant@swdev.research.otc.com.au.
Object-oriented requirements definition. Hypertext. Uses Rumbaugh's OMT as
a base. See also APPENDIX D.
[Ungar 87] D. Ungar and R.B. Smith. The Self Papers. [Entry To Be Completed]
The documents on Self; a delegation/prototyping language. Also covers Self
implementation and optimization. See also APPENDIX E, PAPERS section.
[Wasserman 90] A.I. Wasserman et al. The Object-Oriented Software Design
Notation for Software Design Representation. IEEE Computer, 23(3).
Presents the Object-Oriented Structured Design (OOSD) OOSE methodology.
Traditional structured techniques to OO, hybrid containing structured
design and Booch.
[Wegner 87] Peter Wegner. "Dimensions of Object-Based Language Design",
Proceedings of OOPSLA '87, October 4-8 1987, SIGPLAN Notices
(Special Issue), V22, No 12, pp168-182, 1987.
[Wikstrom 87] Ake Wikstrom. Functional Programming Using Standard ML.
Prentice Hall, ISBN 0-13-331661-0, 1987.
ML reference.
[Wilkie 93] George Wilkie. Object-Oriented Software Engineering - The
Professional Developer's Guide. Addison Wesley.
Covers OOSE, 11 popular analysis and design methodologies with examples,
comparisons, and analysis, information systems (OODB), and case studies.
[Winter Partners] Winter Partners
A proprietary toolset (OSMOSYS) for OOA and OOD.
Winter Partners
London Office: Zurich Office:
West Wing, The Hop Exchange
24a Southwark Street Florastrasse 44
London SE1 1TY CH-8008 Zurich
England Switzerland
Tel. +44-(0)71-357-7292 Tel. +41-(0)1-386-95 11
Fax. +44-(0)71-357-6650 Fax. +41-(0)1-386-95 00
[Wirfs-Brock 90] Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener.
Designing Object Oriented Software, Englewood Cliffs, NJ. Prentice Hall.
Presents a "Responsibility Driven Design" (RDD) with "Class, Responsibility,
Collaboration" (CRC) technique, a modern and new OOA/OOD methodology.
[Yaoqing 93] Gao Yaoqing and Yuen Chung Kwong. A Survey of Implementations
of Parallel, Concurrent, and Distributed Smalltalk. ACM SIGPLAN Notices.
Vol 28, No. 9, Sept 93.
Covers implementations of Parallel, Concurrent, and Distributed Smalltalk.
[Yourdon 92] Edward Yourdon. Decline and Fall of the American Programmer.
YPCS.
Excellent coverage of modern software engineering practice and world-class
software development organizations.
APPENDICES
==========
APPENDIX A VIPS
================
These are individuals whose names appear in comp.object most often.
Please send recommendations for *major* VIPS often cited or referenced.
Booch, Grady <egb@rational.com>
-------------------------------
Grady Booch has been an object- based/oriented advocate for some time. He's
written books such as Software Engineering with Ada [Booch 87], Software
Components with Ada [Booch 87b], and OOA/D with Applications [Booch 91, 94].
His latest notations are often referred to as simply the "Booch" method or
notation and he is Chief Scientist at Rational, a company providing training
and automated support for the method with a tool named "Rose" (See Appendix D).
The Booch method now incorporates many modern methods, including OMT, and Dr.
Rumbaugh has recently joined forces with Grady at Rational.
Cox, Brad
---------
Founder of Objective-C, which grafts the Smalltalk facilities of an
Object id and a messaging mechanism onto C. Author of [Cox 87].
Goldberg, Adele (Alan Kay, Dan Ingalls)
----------------------------------------
One of the founders of Smalltalk (with Alan Kay and Dan Ingalls). Coauthor
of [Goldberg 83, ??], "Smalltalk-80 The Language and its Implementation".
Smalltalk was invented by a group at Xerox PARC; and a spinoff, ParcPlace, is
now marketing Smalltalk environments (see APPENDIX C).
Meyer, Bertrand <bertrand@eiffel.com>
-------------------------------------
Founder of Eiffel, author of [Meyer 88]. Often posts to comp.lang.eiffel
and comp.object [what a FAQ writer notices]. His company, Interactive
Software Engineering, has a case tool called EiffelCase (see APPENDIX D).
Nygaard, Kristen (and Dahl, Ole-Johan)
--------------------------------------
Inventor of Simula, the first object-oriented programming language. Also
inventor of object oriented design, for which Simula-67 was considered an
implementation technique. Now B.B. Kristensen, O.L. Madsen, B. Moller-
Pedersen, and K. Nygaard are working on BETA, their successor to Simula.
Rumbaugh, Dr. James
-------------------
Part of Rumbaugh, Blaha, Premerlani, Eddy and Lorenson, the authors of
[Rumbaugh 91]. They all work for GE Corporate Research and Development Center
in Schenectady New York (See below) and have an OOA/OOD notation/methodology
called the "Object Modeling Technique" (OMT). It is a rather formal and
complete method often discussed in comp.object. OMTool is the name of the
CASE system provided by Martin Marietta which supports OMT. See APPENDIX D.
Recently, Dr. Rumbaugh has joined forces with Chief Scientist Grady Booch at
Rational: Rumbaugh@rational.com
Shlaer, Sally (and Mellor, Stephen J.)
--------------------------------------
>Sally Shlaer sally@projtech.com
>Project Technology Training and Consulting using Shlaer-Mellor OOA/RD
>Berkeley, CA (510) 845 1484
Also: steve@projtech.com
Cofounder of the Shlaer/Mellor OOA/RD method, president of Project Technology.
As shown above, occasionally posts to comp.object [what a FAQ writer notices].
Stroustrup, Bjarne (bs@alice.att.com)
-------------------------------------
Inventor of C++, a C superset, which has probably gained the most widespread
use of any object-oriented language today. Often found in comp.lang.c++ and
comp.object.
APPENDIX B OBJECT-ORIENTED DATABASES AND VENDORS
=================================================
This is a list of available Object-Oriented databases. Thanks go to Stewart
Clamen, who's survey on schema evolution provided a good start. The list
was updated March 1996 by Tim Harvey who keeps the mini-FAQ of object and
object-relational vendors for the sister News group comp.object.databases.
Additional short entries and corrections are encouraged; please send them
to the author of the FAQ or Tim Harvey at:
Email: timh@plaza.ds.adp.com
rwi@teleport.com
Voice: (503) 294-4200, Ext. 3313
The most recent copy of Stewart Clamen's summary on available databases
support for schema evolution will be available indefinitely via anonymous
FTP from BYRON.SP.CS.CMU.EDU:/usr/anon/OODBMS/evolution-summary.
[Kim 89] covers a few of the research systems below in depth.
Starred entries also have an entry in "APPENDIX E ANONYMOUS FTP SITES".
See also section 3.5 for an Object Database Management Group (ODMG) reference.
TABLE OF CONTENTS
Extended Relational Database Model
Research Systems
POSTGRES* [marketed by Montage]
Starburst [IBM almaden, entry NYI]
Commercial Systems
Illustra
Montage [Research System POSTGRES]
Omniscience ORDBMS
Raima Database Manager/Velocis/Raima Object Manager
Total ORDB [Cincom Systems]
Object-Oriented Data Model
Research Systems
AVANCE
CLOSQL
ConceptBase*
COOL/COCOON
Encore*
Exodus*
Machiavelli
MOOD4-PC*
OBST/STONE*
Ode*
Oggetto
Orion [marketed as ITASCA, see Entry]
OTGen
PLOB
VODAK
Commercial Systems
ArtBASE
EasyDB (Basesoft Open Systems, Sweden)
GemStone
IDB Object Database
ITASCA
Matisse
NeoAccess
OBST+
O2
Objectivity/DB
ObjectStore
Ontos [formerly VBase]
Odapter/OpenODB program (HP)
OOFILE
Phyla
POET
Statice
UniSQL
Unisys Universal Repository
Versant
VisualWorks
Other Models
Research Systems
GRAS*
IRIS
Commercial Systems
IDL
Kala
Pick
Interfaces
Research Systems
Penguin
Commercial Systems
AllegroStore (Franz)
DBTools.h++
Object Gateway
Persistence
Subtleware
Synchronicity (Smalltalk)
EXTENDED RELATIONAL DB MODEL
----------------------------
Research Systems
________________
> POSTGRES (Berkeley)
POSTGRES is an extended-relational database manager that supports
inheritance, user-defined types, functions, and operators, ad-hoc
queries, time travel, a rules system, tertiary storage devices,
and very large typed objects, among other things. POSTGRES speaks
postquel, a derivative of the quel query language originally
designed at berkeley for the ingres database system. User functions
may be written in C or in postquel. C functions will be dynamically
loaded into the database server on demand, and either kind of function
may be executed from the query language.
POSTGRES and the papers that describe it are available free of charge
from toe.CS.Berkeley.EDU (128.32.149.117) in directory pub/postgres.
The code is stored in a directory named after the latest release; at
the time of this writing, that directory is postgres-v4r1. The list
of officially-supported ports is short (decstations running ultrix 4.x
and sparcstations). Unofficially, many more are supported -- people
elsewhere have done the ports and distribute their versions of the
code. The list of unofficial ports is available in pub/postgres as
file UNOFFICIAL-PORT-LIST.
On Type Evolution:
You ask explicitly about type evolution. We support schema
modification on all classes, including user classes. This means that
you can add attributes (instance slots) and methods at any time.
Further, since postgres is a shared database system, such changes are
instantly visible to any other user of the class.
The language syntax supports attribute deletion, but the system won't
do it yet. Since all data is persistent, removing attributes from a
class requires some work -- you need to either get rid of or ignore
all the values you've already stored.
Contact:
Paul Aoki <aoki@cs.berkeley.edu>
The postgres code from uc berkeley is being commercialized by
Miro Systems, Inc. [This seems to have been updated to Montage]
Contact:
paula hawthorn (paula@miro.com)
dave segleau (dave@miro.com)
Commercial Systems
------------------
> Illustra
Illustra Information Technologies Ltd.
Illustra is an Object-Relational Database Management System (ORDBMS). It
supports SQL-3 and standard relational syntax and operations on tables.
In addition, programmers may define new classes and methods inside the
database server, and use them from client programs. Customers may build
their own class extensions, or purchase extensions called DataBlades
from Illustra and its partners. Illustra offers a wide collection of
DataBlade modules, including time series support, spatial data handling,
web publishing, document management, video and image support, and others.
Illustra originated from Postgres.
NOTE: Can use with Visual Basic.
Illustra Information Technologies, Inc.
1111 Broadway Suite 2000
Oakland, CA 94607
U.S.A.
Voice: (510) 652 8000
Fax: (510) 869 6388
Email: info@illustra.com
sales@illustra.com
resellers-info@illustra.com
training-info@illustra.com
Web: http://www.illustra.com Note: This web server uses Illustra
OODBMS for backend.
Ftp: ftp://ftp.illustra.com
Illustra Information Technologies Ltd.
150 Minories
London EC3N 1LS
United Kingdom
Voice: 0171-264-2185
Fax: 0171-264-2193
Email: 100436.1264@compuserve.com
> Montage (ORDBMS) [Research System POSTGRES]
>From: markh@montage.com (Mark Helfen)
Subject: Montage Database - brief product announcement
Followup-To: sales@montage.com
Organization: Montage Software, Inc.
Date: Wed, 10 Nov 1993 23:05:03 GMT
The Montage object-relational database management system
(ORDBMS) is now available from Montage Software, Inc.
The Montage object-relational database management system
includes the Montage Server(tm) database engine, the Montage
Viewer(tm) -- a new visualization tool that simplifies queries of
complex data -- and Montage DataBlades(tm), specialized modules
that extend the capabilities of the database for specific applications.
Montage represents the commercialization of the seven-year
POSTGRES research project.
The Montage Server extends the relational database model through
its ability to handle complex information, and the inclusion of object-
oriented facilities and capabilities. It uses the familiar relational row-
column metaphor for all data, so that text, numbers and complex data
are all viewed, managed, manipulated and queried the same way.
The relational metaphor is extended to allow data of any size and
complexity to be stored and accessed in the way that is most
effective. SQL, used to access and manage data, is extended with
SQL3-based capabilities to allow the definition of user data types and
functions.
The Montage Viewer uses visualization technology to organize
information in visual terms -- by location, shape, color and intensity,
for example. Similar to a "flight simulator," the Montage Viewer allows
the user to visually navigate through data, refining each step by
"panning" and "zooming" with a mouse.
A DataBlade is a combination of data types and functions that are
designed to support a specific application. Text, Spatial, and Image
are the first of many DataBlades that will comprise a full-range of
industry-specific products created by Montage, third parties and
users based upon their own expertise.
o The Text DataBlade expands the database's functionality by
adding new data types and functions that manage text and document
libraries, as well as a providing a new access method (Doc-Tree)
which provides exceptional search performance for text.
o The Image DataBlade supports image conversion, storage,
manipulation, enhancement and management of more than 50 image
formats, and performs automatic conversion of formats at the user's
discretion.
o Points, lines, polygons and their spatial relationships are now
supported in the relational model with the Spatial DataBlade. The
DataBlade defines nine basic spatial types and makes over 200 SQL
functions available for use on spatial data, as well as supports the
R-Tree access method for high speed navigation of spatial data.
Montage Software was co-founded by Gary Morgenthaler of
Morgenthaler Ventures and Dr. Michael Stonebraker of the University
of California, Berkeley, . Morgenthaler is Montage Software's
chairman of the board and Stonebraker serves as the company's
chief technology officer. Morgenthaler and Stonebraker co-
founded Ingres Corporation (then called Relational Technology,
Inc.), in 1980.
FOR ADDITIONAL INFORMATION:
Montage Software Inc. can be contacted at:
email: sales@montage.com
phone: (510) 652-8000
fax: (510) 652-9688
Mailing Address:
Montage Software, Inc.
2000 Powell Street, Suite 1405
Emeryville, CA 94608
> Omniscience ORDBMS
Omniscience Object Technology, Inc.
Omniscience ORDBMS is a light weight scalable database managment system
with a very small footprint suitable for small systems such as notebook
computers running Microsoft Windows. It is built on top of a compact
object kernal that supports programs written in SQL and Object-Oriented
programming languages. Available for most platforms. Single user
version costs $99.
Omniscience Object Technology, Inc.
3080 Olcott Street, Suite 100-C
Mountain View, CA 95054
U.S.A.
Voice: (408) 562-0799
Fax: (408) 562-0757
Email: info@oot.com
> Raima Database Manager/Velocis/Raima Object Manager
Raima Corporation
Offer the Raima Database Manager and Velocis as well as Raima Object
Manager, a C++ programming interface/class library that lets developers
interface their application with a Raima embedded database engine.
Raima Database Manager (formerly db_VISTA) is a very efficient high
performance database engine for C and C++ developers. The proven C-API
includes over 200 functions for database manipulation and control.
Available with source, RDM supports combined relation and network model
database designs, transaction processing, and portability. Single-user
versions start at $595, and multi-user versions begin at $1995.
Velocis is an embeddable high performance, SQL client/server database
engine for C and C++ programmers. It provides high through-put
transaction processing, support for multiple API's and compliance with
industry standards including ANSI SQL, Microsoft ODBC, and SAG CLI.
Several unique features support development of very high performance,
scalable applications. Velocis is available for Windows, Windows NT,
Netware, OS/2, SCO, HP/UX, Solaris, and AIX. Prices start at $595 for
Windows Standalone.
Raima Object Manager is a class library that encapsulates object storage
and database navigation into C++ class definitions to provide a consistent,
object oriented interface to Velocis or Raima Database Manager. Combined,
Raima Object Manager and Velocis provide a comprehensive feature set for
your object oriented C++ database development. Includes source and
supports popular operating systems. Priced at $495.
Raima Corporation
1605 N.W. Sammamish Road
Issaquah, WA 98027
U.S.A.
Toll Free: 1-800-327-2462
Direct: (206) 557-0200
Email: dmorse@raima.com
Web: http://www.raima.com
> Total ORDB
Cincom Systems, Inc. produce Total ORDB, a integrated set of object
technology software products and services. Features include an
object-relational data model, ANSI SQL with object-oriented extensions.
Cost ranges from $2,400-$60,000 depending in usage.
The TOTAL ORDB that CINCOM markets is a re-badged version of the UniSQL
product, but there is a long-term technology agreement betwen the two
organizations that will allow improvements made by one to the product
to be shared with the other.
Cincom Systems also produce TOTAL FrameWork, a business application
development environment that integrates an object-relational database,
object develoment tools and workflow automation tehncology.
Cincom Systems, Inc.
Cincinnati, OH
U.S.A.
Voice: (513) 662-2300
Email: info@cincom.com
Web: http://www.cincom.com/
OO DATA MODEL
-------------
Research Systems
________________
> AVANCE (SYSLAB)
An object-oriented, distributed database programming language. Its
most interesting feature is the presence of system-level version
control, which is used to support schema evolution, system-level
versioning (as a way of improving concurrency), and objects with their
own notion of history. System consists of programming language (PAL)
and distributed persistent object manager.
REFERENCES:
Anders Bjornerstedt and Stefan Britts. "AVANCE: An
Object Management System". Proceedings of OOPSLA88.
> CLOSQL (University of Lancaster)
Status:-
CLOSQL is a research prototype OODB designed primarily for prototyping
various schema evolution and view mechanisms based on class versioning.
The system is built using CommonLISP. It would really only be of interest
to other parties as a research tool.
Requirements:-
Common LISP including CLOS standard. The Graphical user interface requires
the Harlequin LispWorks Tool-kit. The system was built on a Sun4 and
has not been tested on any other platform.
Features:-
As a prototype, CLOSQL is not robust enough to sell. The system is single
user and does not properly support persistence - that is, the data has to
be loaded and saved explicitly. The query language is quite good
making good use of the functional nature of the environment.
Methods (LISP and query language only), class versioning and
multiple inheritance are all supported in the data model. Type checking
information is held in the database, but is NOT enforced at present. The
GUI is notable for its support for schema evolution, but otherwise rather
ordinary.
Availability:-
Probably freely available, but as the project was part funded by an
industrial partner, some consultation with them would be necessary before
the system could be released.
References:-
[1] Monk, S. R. and I. Sommerville, "A Model for Versioning of Classes
in Object-Oriented Databases", Proceedings of BNCOD 10, Aberdeen.
pp.42-58. 1992.
[2] Monk, S. "The CLOSQL Query Language". Technical report No. SE-91-15.
Computing Dept, Lancaster University, Lancaster, LA1 4YR, UK. 1991.
[3] Monk, S., "A Model For Schema Evolution In Object-Oriented Database
Systems", PhD thesis, Dept of Computing, Lancaster University, Lancaster
LA1 4YR, UK. 1992.
On Schema evolution (from original survey):
CLOSQL implements a class versioning scheme (like ENCORE), but employs a
conversion adaptation strategy. Instances are converted when there is a
version conflict, but unlike ORION and GemStone, CLOSQL can convert instances
to older versions of the class if necessary.
Aberdeen, Scotland. July, 1992.
Contacts;
Simon Monk: srm@computing.lancaster.ac.uk
Ian Sommerville: is@computing.lancaster.ac.uk
> ConceptBase - A Deductive Object Manager for Meta Data Bases
ConceptBase is a multi-user deductive object manager mainly
intended for conceptual modeling and the coordination of design
environments. The system implements a dialect of Telos which
amalgamates properties of deductive and object-oriented languages.
Key features are
hybrid representation with frame-like objects,
semantic nets and logical specifications
unlimited extensibility by metaclass
hierarchies (useful for IRDS, schema evolution etc.)
deductive rules & integrity constraints
queries as classes with membership constraints
persistent object management with the ability to interrogate
past states of the database
ConceptBase follows a client-server architecture. Client programs
can connect to the ConceptBase server and exchange data via
interprocess communication. The X11-based ConceptBase user
interface offers a palette of graphical, tabular and textual tools
for editing and browsing the object base. The ConceptBase
programming interface allows the users to create their own
client programs in C or Prolog.
The system can be obtained for free from ftp.informatik.rwth-aachen.de in
/pub/CB/CB_3.2.4 (released 26-Apr-1994 for Sun/SPARC, SunOS 4.1.3)
/pub/CB/CB_3.3 (released 26-Apr-1994 for Sun/SPARC, Solaris 2.3)
Both versions are functionally equivalent. They only differ in the
operating system platform.Please read file /pub/CB/doc/InstallationGuide
(resp. /pub/CB/doc/InstallationGuide_3.2.4) before downloading the software.
For running the ftp version you must ask for a key by email.
Contact
ConceptBase-Team
RWTH Aachen - Informatik V
D-52056 Aachen - Germany
Tel./Fax: +49-241 80 21 501 / +49-241-8888321
email: CB@picasso.informatik.rwth-aachen.de
href="http://www.informatik.rwth-aachen.de/I5/CBdoc/cbflyer.html"
> COOL/COCOON (Ulm Universitaet)
The COCOON project was intended to extend the concepts and the
architecture of relational database management systems (DBMSs) beyond
nested relational to object-oriented ones. Based upon the nested
relational DBMS kernel DASDBS, we have built a prototype implementation
of the COCOON model. Key characteristics of COCOON are: generic,
set-oriented query and update operators similar to relational algebra
and SQL updates, respectively; object-preserving semantics of query
operators, which allows for the definition of updatable views; a
separation of the two aspects of programming language "classes": type
vs. collection; predicative description of collections, similar to
"defined concepts" in KL-One--like knowledge representation
languages; automatic classification of objects and views (positioning
in the class hierarchy); physical clustering of subobjects via the use
of nested relations as the internal storage structures; support for the
optimization of both, the physical DB design and query transformation,
by corresponding optimizers.
Project goals are:
- to develop a general formal framework for investigations of all
kinds of schema changes in object-oriented database systems
(including schema design, schema modification, schema tailoring, and
schema integration);
- to find implementation techniques for evolving database schemas,
such that changes on the logical level propagate automatically to
adaptations of the physical level (without the need to modify all
instances, if possible).
In their current paper [see below], schema evolution is used as
example of a general framework for change in OODBs, supporting change
on three levels of database objects: data objects, schema objects, and
meta-schema objects.
Contact: Markus Tresch <tresch@informatik.uni-ulm.de>
REFERENCES:
M. Tresch and M.H. Scholl. "Meta Object Management
and its Application to Database Evolution." In
_Proceedings of the Eleventh International
Conference on the Entity-Relationship Approach",
Karlsruhe, Germany, Oct 1992. Springer Verlag (to
appear).
> Encore (Brown University)
email:bpe@browncs.brown.edu
Encore is an object-oriented database system targeted at large scale
software engineering applications which are involved in data modeling.
It was developed at Brown University in the late 1980s. It is notable
for its special support for long-lived (ie. cooperative) transactions,
popular in design applications, and its support for class versioning.
Objects are never converted, rather, classes are versioned, and the
user can specify filters to make old-style instances appear as new
instances to new applications (and vice versa).
References/Additional Information:
[] Mary F. Fernandez. OBSERVER: A storage system
object-oriented applications. Technical Report CS-90-27,
Brown University, Providence, RI, 1990.
[] Mark F. Hornick and Stanley B. Zdonik. A shared, segmented
memory system for an object-oriented database. ACM
Transactions on Office Information Systems, 5(1):70--95,
January 1987.
[] Andrea H. Skarra and Stanley B. Zdonik. Type evolution in an
object-oriented database. In Research Directions in
Object-Oriented Programming, MIT Press Series in Computer
Systems, pages 393--415. MIT Press, Cambridge, MA, 1987. An
early version of this paper appears in the OOPSLA '86
proceedings.
[] Andrea H. Skarra and Stanley B. Zdonik. Concurrency control
for cooperating transactions in an object-oriented database.
In Won. Kim and Frederick H. Lochovsky, editors,
Object-Oriented Concepts, Databases and Applications.
Addison-Wesley, Reading, MA, 1989.
FTP: Complete source can be found in wilma.cs.brown.edu/pub/encore.tar.Z
See also APPENDIX E.
> Exodus (University of Wisconsin)
EXODUS is a DBMS from the University of Wisconsin. An overview,
excerpted from the abstract of [CDG+90] reads:
EXODUS, an extensible database system project that is
addressing data management problems posed by a variety of
challenging new applications. The goal of the project is to
facilitate the fast development of high-performance,
application-specific database systems. EXODUS provides
certain kernel facilities, including a versatile storage
manager. In addition, it provides an architectural framework
for building application-specific database systems; powerful
tools to help automate the generation of such systems,
including a rule-based query optimizer generator and a
persistent programming language; and libraries of generic
software components (e.g., access methods) that are likely to
be useful for many application domains.
The programming language is called E, an extension of C++. [RC89]
REFERENCES:
(see "ftp.cs.wisc.edu:exodus/bibliography" for a complete list)
[CDG+90] Michael J. Carey, David J. DeWitt, Goetz Graefe,
David M. Haight, Joel E. Richardson, Daniel T. Schuh,
Eugene J. Skekita, and Scott L. Vandenberg. The EXODUS
extensible DBMS project: An overview. In Stanley B.
Zdonik and David Maier, editors, Readings in
Object-Oriented Database Systems, Data Management
Series. Morgan Kaufmann, San Mateo, CA, 1990. Also
available as WISC-CS-TR 808.
[CDRS89] Michael J. Carey, David J. DeWitt, Joel E. Richardson,
and Eugene J. Skekita. Storage management for objects
in EXODUS. In Won. Kim and Frederick H. Lochovsky,
editors, Object-Oriented Concepts, Databases and
Applications, chapter 14. Addison-Wesley, Reading, MA,
1989. After Carey et al. Object and File Management in
the EXODUS Database System, Proceedings of the Twelveth
International Conference on Very Large Data Bases,
1986.
[GD87] G. Graefe and D. DeWitt. The EXODUS optimizer
generator. In U. Dayal and I. Traiger, editors,
Proceedings of the SIGMOD International Conference on
Management of Data, San Francisco, CA, May 1987.
[RC89] Joel E. Richardson and Michael J. Carey. Persistence in
the E language: Issues and implementation. Software --
Practice and Experience, 19(12):1115--1150, December
1989.
FTP: source code, documentation and a complete bibliography can be
found at ftp.cs.wisc.edu:exodus/
See also APPENDIX E.
On Schema Evolution (from original survey):
No solution for the problem of schema evolution is provided.
Emulation is rejected by the authors, who claim that the addition of a
layer between the EXODUS Storage Manager and the E program would
seriously reduce efficiency. Automatic conversion, whether lazy or
eager, is also rejected, as it does not mesh well with the C++ data
layout. To implement immediate references to other classes and
structures, C++ embeds class and structure instances within its
referent. The resulting change in the size of the object might
invalidate remote pointer references.
Joel E. Richardson and Michael J. Carey. "Persistence
in the E language: Issues and Implementation." Appeared
in "Software -- Practice and Experience",
19(12):1115-1150, December 1989.
> Machiavelli (University of Pennsylvania)
Machiavelli is a statically-typed programming language developed
at the University of Pennsylvania. Its most outstanding innovation
is the use of conditional typing scheme in its type inference system.
It does not address type evolution.
[communication with limsoon@saul.cis.upenn.edu]
[Note: Machiavelli is included in this summary because it
previously incorporated persistence in its data model.]
> MOOD4-PC: Material's/Miniature Object-Oriented Database Prototype for
NEC/IBM-PC
is an object-oriented database system(OODBS) program developed in the
course of our research project MOOD. The aim of the project MOOD is to
develop a material database system to handle raw material data which
are produced and accumulated in materials research and referred to by
material experts when they face scientific or engineering problems
where the expected behavior of particular materials in particular
environments are crucial importance. We all know that the conventional
database systems do not fulfill this requirement, though they serves
well for bibliographic databases or fact databases which deals with
the standard properties of standard materials.
MOOD4-PC is written in Arity/Prolog and available in source and
executable form via anonymous ftp from:
~/pub/mood/mood4
at mood.mech.tohoku.ac.jp [130.34.88.61]
~/pub/database/mood
at ftp.uu.net [192.48.96.9]
~/pub/computing/databases/mood
at src.doc.ic.ac.uk [146.169.2.1]
Although it is true enough to say that MOOD4 is a general purpose
OODBS, it may be appropriate to point out that MOOD4 is significantly
different from what is generally meant by the term, the
Object-Oriented Database System.
That is, OODBSs, in general, consist of two parts:
(1) Disk storage manager
(2) Database language to define and manipulate data objects to
be stored to and retrieved from the disk.
The database language of OODBS is akin to the object-oriented
programming language such as Smalltalk or C++. You can enjoy the full
versatility of these general purpose programming language in writing
application programs with the database language.
As apparent from these, OODBSs, in general, are for programmers who
write application programs which serve end users' needs. MOOD, on the
other hands, is not; it is for end users. It is provided with a user
interface named the object editor or OE in short. With OE, we can;
(1) Edit class definition objects and save them. This replaces the
data definition language.
(2) Edit data objects and save them.
(3) Create query objects, let the system select data objects which
match the queries, and browse them.
In the other words, we can do everything necessary to manage and use
database with OE. MOOD, therefore, needs no programming language and,
in fact, has none. In this regard, MOOD may better be categorized to
the OODBS application.
The architecture of MOOD as such is the consequence of the nature of
information to be dealt with in material database. If we describe the
nature with a single word, "variety" will be the one most appropriate.
No fixed data structure can handle a handful of material data because
their contents differ from one to another. The feature of OODBS
relevant here is not the intimacy with programming languages but the
flexibility of data structure which allows us to construct data
objects with a variety of structures which match the variety in the
information to be dealt with. Upon inputting and retrieving data
objects, end users are forced to face this variety in data structure
since significant information is born in the structures of individual
representations.
Yet, we say that MOOD is a general purpose OODBS. This is not in the
sense that we can develop application programs on it, but in the
sense that it generally supports the essential capabilities of OODBS;
(1) The abstract data type.
(2) The nesting of structured data objects.
(3) The class hierarchy.
(4) The inheritance of attributes along the hierarchy.
(5) Matching between objects along their structures with the
knowledge of the class hierarchy.
For additional features of MOOD4, please consult its manual available
with the program. Although they are biased to the processing of
material data (or, more generally, scientific and technical data),
MOOD with these capabilities can be used in any application domain at
least by the stage where you are to examine how well the pieces of
information of interest are represented in OODBS and how well specific
items of interest are discriminated out from the database as such.
Questions and suggestions on this software which are ever welcome
indeed may be addressed to;
Noboru Ono
Dept. of Machine Intelligence and Systems Engineering,
Faculty of Engineering, Tohoku University.
Tel:++22-216-8111,
Fax:++22-216-8156,
E-mail:ono@mood.mech.tohoku.ac.jp
> OBST/STONE (Forschungszentrum Informatik [FZI], Karlsruhe, Germany)
OBST3-4 is now available at ftp.fzi.de under /pub/OBST/OBST3-4.
(Please do not confuse this new release with the older OBST3-3.4).
Experienced users will notice that we've changed the structure of
our ftp directory tree somewhat: compressed and gzip'ed files are
now cleanly separated. By sending
echo 'info ftp_listing' | mail obst-listserv@fzi.de
you will get a directory listing from our ftp server.
OBST3-4 is a major release with a new meta schema interface
that enables schema modifications. A graphical schema browser
(USE) based on tclOBST is now also available. Please note that this
new tool has not yet been tested outside the FZI and that it
is currently not part of the OBST core cdistribution.
Beside bug fixes and performance improvements, we have added support
for IBM AIX and FreeBSD and improved the installation on LINUX PCs.
We would like to thank all OBST users who have helped us by testing a
beta version of OBST, most notably:
Naresh Sharma (N.Sharma@LR.TUDelft.NL)
Michael Reifenberger (root@rz-wb.fh-sw.de)
Hans-Ulrich Kobialka (kobi@borneo.gmd.de)
Jean Safar (jsafar@lehman.com)
Gabor Karsai (gabor@vuse.vanderbilt.edu)
Stefan Bohm (bohm@math.uni-muenster.de)
The installation of OBST requires a C++ compiler
(GNU g++ 2.3.3/2.4.5/2.5.8, or AT&T 2.1/3.01).
The OBST graphical tools run under the X-Windows
system (currently X11R4, X11R5 and X11R6).
Installation has been tested for SunOS4.1.3 and LINUX only.
Best regards and happy OBST programming.
The OBST Team
------------------------------------------------------------------------------
README of OBST3-4
-----------------
Version: OBST3-4
Date: 11/4/94
The OBject system of STONE --- OBST
-----------------------------------
The persistent object management system OBST was developed by
Forschungszentrum Informatik (FZI) as a contribution to the STONE
project (supported by grant no. ITS8902A7 from the BMFT, i.e. the
German Ministry for Research).
OBST was originally designed to serve as the common persistent
object store for the tools in software engineering environments.
Data Model
---------
The OBST data model can be characterized by the following properties:
* Schema definition language syntactically similar to C++
* Support of multiple inheritance
* Generic classes
* Abstract classes and methods
* Distinction between public, protected, and private methods
* Redefinition of methods
* Overloading of methods
Schemas and Containers
----------------------
Schemas are compiled by the OBST schema compiler. The compilation
results are instances of classes of the meta schema. From these
instances in a next step interfaces to different programming languages
can be generated. At present the C++ language binding is implemented.
Objects are stored in so-called containers. The container an object
belongs to is determined at the time of object creation and fixed
throughout the object's lifetime. Containers are the units of
clustering, synchronization, and recovery. Objects can be referenced
by other objects across container boundaries.
Incremental Loading
-------------------
OBST provides a mechanism to incrementally load methods. This enables
programs to deal with objects whose type is defined after the program
itself has been developed. This is useful in systems that provide for
inheritance and it supports schema evolution. We used it e.g. for
programs that interpret the object base and call methods of the
found objects (for example the below mentioned browser).
Prototype
---------
Since end 1990 the first prototype of OBST is available and is shipped
to interested universities and research institutions. The current
version is publicly available via FTP (see below) since March '92.
There is a mailing list (see below) with >>100 subscribers.
The system comes with the schema compiler, a library of predefined
classes (like Set<Entity>, List<Entity>, String, ...), a graphical
object browser (more a shell than a browser), a graphical schema
designer (USE), the structurer and flattener (STF), tclOBST,
and all manuals.
For USE, STF and tclOBST see below.
Schema Evolution Support Environment (USE)
------------------------------------------
This environment consists of a graphical schema designer built with
tclOBST (see below). It can be used to inspect existing class hierarchies
and to modify these hierarchies; it allows the addition of new classes
as well as the modification of existing ones.
Structurer and Flattener (STF)
------------------------------
This is a tool to build objects from bytestrings and flatten objects
down to bytestrings. It is intended to be used when coupling UNIX
tools to the object management system. The user defines a grammar that
describes her objects. Afterwards, the structurer parses an ascii
text according to the given grammar and creates an OBST object
structure that represents the corresponding parse tree.
The flattener does the inverse transformation, that means it generates
an ascii text from a given OBST object structure according to the given
grammar.
tclOBST
-------
tclOBST is a library which provides an embedding of OBST into the
interactive tool command language tcl, developed by John Ousterhout
at the University of Berkeley.
Based on the standard tcl shells, which are also comprised in the
tclOBST distribution, tclOBST offers interactive access to the complete
functionality modelled by OBST schemata.
System Requirements
-------------------
For the prototype's installation a C++ compiler
(GNU g++ 2.3.3/2.4.5/2.5.7 or AT&T 2.0/2.1/3.01) and the
X-Windows system (currently X11R4 or X11R5) for the graphical tools
are required.
Installation is well-tried on SUN Sparc stations and should be no
problem on other UNIX machines, too. You can find a more detailed
description of the supported platforms in the README.install.OBST*.
--------------------------------------------------------------------
For more information please mail to:
Forschungszentrum Informatik (FZI)
OBST Projekt
Haid-und-Neu-Strasse 10-14
D-76131 Karlsruhe
Germany
or email to: obst@fzi.de
Phone: ++49-721-9654-701
Fax: ++49-721-9654-709
Teletex: 721 190 fziKA
The OBST system is available via anonymous FTP from
ftp.fzi.de [141.21.4.3] and some mirror servers.
The system as well as some overview papers, documentation
(User's Guide, Language Reference Manual, Tutorial, ...),
and lots of manual pages can be found in the directory /pub/OBST.
There are mailing lists for announcing OBST enhancements,
new versions, porting hints, etc. as well as for exchanging experiences
with other OBST users.
Send a mail with content 'LONGINDEX' to obst-listserv@fzi.de to learn about
the mailing lists which are currently installed:
echo LONGINDEX | mail obst-listserv@fzi.de
The mailing lists are maintained by an automatic list processor.
Use 'HELP' to learn about the commands understood by this processor:
echo HELP | mail obst-listserv@fzi.de
Bug reports should contain a small example program with which the
bug can be reproduced, or at least a detailed description of the
observed phenomenon. They should also mention:
o OBST version
o configuration parameters for your OBST version
(from file config.status)
o kind and version of C++ compiler
o machine
o operating system
Besides bug reports we are strongly interested in all experiences
our users make with OBST (e.g. sufficiency of data model, performance,
...) and in our users' application areas and the applications as
well. So, please don't hesitate to send us a short note.
Best regards and happy OBST programming.
The OBST Team,
Boris Boesler, Dirk Eichberg, Frank Fock, Axel Freyberg,
Michael Gravenhorst, Ingolf Mertens, Michael Pergande, Christian Popp,
Bernhard Schiefer, Dietmar Theobald, Axel Uhl, Walter Zimmer
---
BTW "Obst" is the German word for "fruit",
so have a fruitful time with OBST!
> Ode
Ode 2.0
An Object-Oriented Database
C++ Compatible, Fast Queries, Complex Application Modeling,
Multimedia Support, and more
See APPENDIX E, Databases, for description.
Note: Ode version 3.0 is now available.
> Oggetto, University of Lancaster, UK.
Developed at the University of Lancaster, UK. Summary NYI.
"Oggetto: An Object Oriented Database Layered on a Triple Store",
J.A. Mariani, The Computer Journal, V35, No 2, pp108-118, April 1992.
> IDB Object Database
Produce IDB Object Database, a distributed object database with an
interactive schema designer and browser. Supports most platforms.
Single developer's licenses range form $995-$4000. A IDB introductory
package is available for Macintosh and Windows for $99 including working
application and tutorial.
Persistent Data Systems, Inc.
P.O. Box 38415
Pittsburgh, PA 15238
U.S.A.
Voice: (412) 963-1843
Email: info@persist.com
> ORION (Now marketed as ITASCA)
ORION was a prototype OODBMS developed at MCC, an American consortium by Won
Kim and his group. Won Kim has left MCC and formed a new company, UniSQL, in
Austin, with a new product of the same name.
See also entry under "ITASCA".
REFERENCES:
I have found nearly a dozen papers published by the ORION folks.
Overviews at various stages in its development and commercialization
can be found in:
[KBGW91] Won Kim, N. Ballou, J.F. Garza, and D.; Woelk. A
distributed object-oriented database system supporting
shared and private databases. ACM Transactions on
Information Systems, 9(1):31--51, January 1991.
[KGBW90] W. Kim, J.F. Garza, N. Ballou, and D. Woelk.
Architecture of the orion next-generation database
system. IEEE Transactions on Knowledge and Data
Engineering, 2(1):109--24, March 1990.
[KBCG89] Won Kim, Nat Ballou, Hong-Tai Chou, and Darrell Garza,
Jorge F. Woelk. Features of the ORION object-oriented
database system. In Won. Kim and Frederick H.
Lochovsky, editors, Object-Oriented Concepts, Databases
and Applications, chapter 11. Addison-Wesley, Reading,
MA, 1989.
[KBC+88] Won Kim, N. Ballou, Hong-Tai Chou, J.F. Garza,
D. Woelk, and J. Banerjee. Integrating an
object-oriented programming system with a database
system. In Proceedings of the ACM Conference on
Objected-Oriented Programming: Systems, Languages and
Applications (OOPSLA), pages 142--152, San Diego, CA,
September 1988. Published as ACM SIGPLAN Notices
23(11).
[Pointers to the previous papers documenting each of the
advanced features listed above are cited therein.]
The paper most relevant to the issue of schema evolution is the
following:
[BKKK87] J. Banerjee, W. Kim, H-J. Kim, and H.F. Korth.
Semantics and implementation of schema evolution in
object-oriented databases. In U. Dayal and I. Traiger,
editors, Proceedings of the SIGMOD International
Conference on Management of Data, San Francisco, CA,
May 1987.
You might also like to look at Kim's book, which provides a good
introduction to OODBMS, while focusing on the ORION work:
[Kim90] Won Kim. Introduction to Object-Oriented Databases.
Computer Systems. MIT Press, Cambridge, MA, 1990.
> OTGen (Carnegie Mellon University/UMass Amherst)
OTGen is a design for a system to support schema evolution in
object-oriented databases. The chief contribution of OTGen is support
for programmer extensibility of transformation functions to allow a
system to support a wide range of schema changes, not just those that
can be easily automated. While OTGen was never implemented, it is
based on the implementation of TransformGen, a system to support the
evolution of the specialized databases used by Gandalf programming
environments. For more information on OTGen and TransformGen, please
see:
Barbara Staudt Lerner and A. Nico Habermann, "Beyond Schema Evolution
to Database Reorganization", in Proceedings of the Joint ACM
OOPSLA/ECOOP '90 Conference on Object-Oriented Programming:
Systems, Languages, and Applications, Ottawa, Canada, October
1990, 67-76.
Barbara Staudt, Charles Krueger, and David Garlan, TransformGen:
Automating the Maintenance of Structure-Oriented Environments,
Computer Science Department Carnegie-Mellon University, Technical
Report CMU-CS-88-186, November 1988.
David Garlan, Charles W. Krueger, and Barbara J. Staudt, "A Structural
Approach to the Maintenance of Structure-Oriented Environments",
in Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering
Symposium on Practical Software Development Environments, Palo
Alto, California, December 1986, 160-170.
Contact:
Barbara Lerner
blerner@cs.umass.edu
ontact:
Best regards, Heiko
--
Labor fuer Kuenstliche Intelligenz Heiko Kirschke | |
Fachbereich Informatik Tel: +49 (40) 54715-612 | | ||// ||
Universitaet Hamburg Fax: +49 (40) 54715-572 | | ||\\ ||
Vogt-Koelln-Strasse 30 kirschke@informatik.uni-hamburg.de | ---------
D 22527 Hamburg Raum R017 -----------
World Wide Web: http://lki-www.informatik.uni-hamburg.de/~kirschke/home.html
> PLOB! (Hamburg University)
What is PLOB?
* The sound to be heared when a bottle of sparkling wine (champagne,
cidre, etc.) is opened.
* A system for Persistent Lisp OBjects.
Please check the first point by yourself (this can be rather
delightful); I will concentrate here on the second point. PLOB! offers
persistent objects for LispWorks Common LISP.
It is the result of my diploma thesis in computer science. Here are
some topics which I had in mind when designing PLOB! and which are
working features of it:
* Orthogonal persistency
-- Type completeness
-- Persistency independent of an object's type
* PLOB!'s data modelling adapted to Common LISP's data modelling
-- Persistent symbols
-- Persistent packages
-- Mapping between transient class metaobjects and persistent class
description objects
-- Schema evolution
* Integration of useful database functions
-- Transactions
-- Hierarchical object locking
-- Indices
-- Selection queries
* Efficency
-- Efficient object representation
-- Possibility of direct access to objects in the persistent memory
For details, see
http://lki-www.informatik.uni-hamburg.de/~kirschke/diplom/arbeit-eng.html
Contact:
Heiko Kirschke
Labor fuer Kuenstliche Intelligenz
Fachbereich Informatik
Universitaet Hamburg
Vogt-Koelln-Strasse 30
D 22527 Hamburg Raum R017
kirschke@informatik.uni-hamburg.de
Tel: +49 (40) 54715-612
Fax: +49 (40) 54715-572
World Wide Web: http://lki-www.informatik.uni-hamburg.de/~kirschke/home.html
> VODAK
Research in the framework of VODAK focuses on an extensible data
model and database programming language, an advanced transaction
odel, object-oriented query language, and support for multimedia data.
The VODAK Data Model Language VML
Usually database models lack mechanisms for extending them with
additional modeling primitives. This limitation does not allow the
adaptation of the models for specific application needs, e.g. database
integration, multimedia document handling, hypertext modeling, etc.