[comp.software-eng] Object-oriented Databases and CASE

dav@island.uu.net (David McClure) (03/16/90)

In article <604@qusunc.queensu.CA> faustino@qucis.queensu.CA (Angelique Faustino) writes:
>	
>	I am doing a study on database support for CASE.  Mainly, I
>want to look at object-oriented databases and extensible databases
>and how they improve data repository support for CASE environments.
>
>	Has anyone seen any literature regarding this topic?  Does
>anyone have any opinions?  Suggestions on what DBMS features would
>be convenient for someone using or building a CASE (Computer-Aided
>Software Engineering) environment?
 
Literature/opinions/suggestions: 

A more advanced information model dealing with abstract datatypes should be 
integrated with the standard requirements model (Yourdon/DeMarco, Gane/Sorenson) 
implemented by many of the major CASE vendors, as well as tools made available
in commercial DBMS to implement same.  Ideally, the industrious entrepeneur
would develop a *truly* integrated CASE/DBMS environment instead of trying to
fit one to work with the other...  

Currently, most information models use Chen entity-relationship (ER) notation,
which I find limiting.  I have seen a few fascinating articles in Communications 
of the ACM discussing the extended entity-relationship (EER) model, and I'm 
trying to get more information on this topic myself.  The major points in the
EER model I find interesting deal with "subtype/supertype" or "categories"
and N-ary relationships.  I believe this is along the lines of what you mean 
by "object-oriented" DBMSs; however the term "object-oriented" is whipped
around lately more often than "relational", so you might clarify what you mean 
by its use in this context.  

Anyway, as far as EER models go, I know of no standard as yet emerging in 
commercial CASE products, although some vendors have announced plans for some
type of EER-type information model implementation in the future.  The key 
problem though is that even if some EER model is available in CASE tools, the 
DBMS tools available are also very primitive in this area, and implementing an
EER model would not be an easy task.

Unless some standards do begin to emerge in both areas, I doubt whether an open 
solution -- CASE product X and DBMS product Y -- will ever work effectively.  
Most likely an integrated product must emerge, or else the developer will have 
to settle for some independent modification (read KLUDGE) in order to achieve 
his/her desires.  I'm currently experiencing this myself using IDE's Software
through Pictures (CASE) and Sybase (DBMS).  

Sybase has adhered to a more faithful interpretation of the relational model 
than other DBMS vendors -- "Referential integrity?  Next release, fer shur!" -- 
making extensions less of a pain than might otherwise be necessary.  However, 
allowing simultaneous multi-table updates to multi-table views would go a 
long way towards solving the subtypes/supertypes problem, assuming you use
separate tables for each supertype and subtype.  Mutual exclusivity rules
should also be dealt with somehow -- if this sounds like a mouthful, email me 
and I'll explain my own solution in more depth.

IDE (and probably most other CASE vendors, to be fair) still has work to do, 
although I've been assured by one of their representatives that a revised 
entity-relationship editor is in the works -- whether this will really be an 
EER model remains to be seen.

So there you have it!  I'm sure with just a few weeks of work, some startup
will put all these ideas together and dominate the market by fall.  BTW, I
have a bridge in the New York metro area I'm interested in selling...

-- 
David McClure
> My opinions are not necessarily those of        ||  serenity=>acceptance
> my employer, or anyone else in this damnfool    ||  courage=>change
> world of ours; *think* for yourself.  Rock on.  ||  wisdom=>differentiate

venu@buckwheat.sps.mot.com (Vasudevan Venugopal) (03/16/90)

>... Has anyone seen literature regarding data repository support for CASE
> Environments....

There are two views to this. For an excellent view of the problem from a database
expert's viewpoint , see Phil Bernstein's paper in the 9th Int. Conference on
Software Engineering. Also see:
	* Klaus Dittrich's paper on DAMOKLES in Lecture Notes in Comp. Science, 
	Vol 244,G.Goos and J.Hartmains (eds).

	* PMDB work,Maria Penedo, TRW.

	* Gail Kaiser's tutorial, ICDE '90 on CASE databases.

	* David Garlan's work at CMU(more programming environments than
	CASE as I see it).....

	* Work at the University of Colorado as part of the CACTIS/SEMBASE
	project.

A contrasting(but not conflicting) view(mine and of the TRIAD group at the Ohio
State University) rests on the belief that CASE is replacing not just the file
system with a database, but an operating system with a DB-CENTERED VIRTUAL MACHINE.
This then implies that a CASE database should not only provide repository 
facilities, but being an active database, should also provide some of the Virtual 
Machine functionality as well. If one chooses a well designed virtual 
m/c (environment) such as UNIX as a starting point, one could ask:

	1. What would be the database equivalent of UNIX pipes.

	2. How would a database(knowledge-base, if you insist) provide
	inferencing facilities such as provided by the UNIX Make tool.
	How can this be buried into the database.

	3. Should CASE databases emulate some of the neat things about
	files and directories and soft links etc., and provide CONTAINERS
	(multiple name spaces)?
...
..
	Some of these q's are addressed by my papers and PhD thesis(Ohio
	State University):
	1. "Integrated Tool Support in Object-Based Environments", to 
	be presented in the International Conf. on Systems integration-90.
	
	2. "Cotools: A tool composition mechanism for object-based environments"
	ACM Computer Science Conference-90.

	3. "Integrated Tool Support for Object-Based Environments", PhD thesis,
	Vasudevan Venugopal, Ohio State, 1990.

	4."Plan Integration in Knowledge-Based Software Environments", OSU
	TR, and to be presented in the 2nd Int. Conference on Software 
	Engg. and Knowledge Engineering-90.

	5. "On database Support for Cooperative Work" to be published as
	an OSU tech report.

--Venu.