Pleiades An Ob ject Management System for Engineering

Environments

Peri Tarr

Lori A Clarke

Software Development Laboratory

Department of Computer Science

University of Massachusetts

Amherst MA

analyzed These ob jects must b e maintained in a con Abstract

sistent state for arbitrarily long p erio ds of time p erhaps

Software engineering environments imp ose challeng

while b eing shared by dierent to ols and b eing accessed

ing requirements on the design and implementation of

bymultiple users

an ob ject management system Existing ob ject man

A environment should therefore

agement systems have b een limited in b oth the kinds

provide object management capabilities that facilitate

of functionality they haveprovided and in the mo dels

the denition manipulation and maintenance of com

of supp ort they dene This pap er describ es a system

plex ob jects and their interrelationships Because of

called Pleiades which provides many of the ob ject

the complexityanddiversityofsoftware artifacts and

management capabilities required to supp ort software

the pro cesses that pro duce them software engineer

engineering environments

ing applications imp ose some challenging requirements

on the design of an ob ject management system Pro

Intro duction

gramming languages le systems and database sys

tems currently fail to satisfy these requirements Re

Software engineering environments supp ort the pro

centwork on database programming languages eg

cess of pro ducing and maintaining software systems

and ob jectoriented database systems

One of the most common and p ervasive activities of

eg are attempting to overcome some of

software develop ers is the creation and manipulation

their limitations but to date none of these eorts have

of software objects that represent artifacts of the soft

suciently provided the capabilities needed to supp ort

ware development pro cess such as requirements sp ec

the sp ectrum of software engineering activities There

ications designs source co de test data and analysis

fore as part of the Arcadia pro ject wehave

results Ob jects that are created during the software

b een trying to address these weaknesses to aid our own

dev elopment pro cess tend to b e large complex struc

environmentbuilding eorts esp ecially with regard to

tures with complex interrelationship s to other ob jects

supp ort for pro cess programming and software anal

For example design elements are related to the require

ysis

ments they satisfy source co de is related to the design

This pap er describ es a prototyp e system called

it implements test data are related to the source co de

Pleiades Programming Language Extensions Inte

they test and analysis results are related to the require

grated with Advanced Database Extended Semantics

ments sp ecications designs or source co de that were

whichprovides many of the ob ject management capabil

This work was sp onsored by the Advanced Research Pro jects

ities required to supp ort software engineering environ

Agency under Grant MDAJ

ments Pleiades is a database programming language

in that it extends a programming language in this case

Ada with capabilities asso ciated with traditional

databases It do es not provide these capabilities in the

traditional database style however Whereas database

systems have commonly fo cused on eciency and a

strict mo del of consistency rejecting capabilities that

violate these requirements the Pleiades system em that is asso ciated with eachnodeoftheCFG The de

phasizes functionality exibility and ease of use The p endency builder uses b oth the CFG and the defref

result is an interesting and p owerful system annotations to construct dep endency information A

The remainder of this pap er is organized as follows develop er mightdecidetochange the source co de either

Section provides a small but typical example of a soft bymakingachange to the actual source and resub

ware engineering application to illustrate some of the mitting the co de for reanalysis or by directly editing

ob ject management needs that such applications have a visual depiction of the AST or CFG In either case

This example is used rep eatedly throughout the remain when suchchanges o ccur each to ol asso ciated with an

der of the pap er to justify our requirements and to mo aected data structure is notied so it can recompute

tivate our design decisions Section describ es what we the appropriate information

b elieve are imp ortant requirements on ob ject manage To ols in the software engineering environmentuse

ment systems imp osed bysoftware engineering appli these data structures to provide users develop ers

cations Section provides a brief overview of related andor maintainers with information ab out the soft

work A more detailed description of related work is ware system they are developing or maintaining For

given in Section where each of the ma jor language example a data ow analysis to ol mightbeemployed

features of Pleiades is describ ed justied and con to detect anomalous sequences of events using the

trasted with other approaches Finally Section briey CFG and defref annotations A cross reference to ol

describ es our exp erience s using Pleiades and discusses might use defref annotations to answer users questions

our plans for future work ab out a program under development such as where a

variable is referenced or declared A program mainte

nance to ol could use dep endency information to deter

Ob ject ManagementinSoftware En

mine which pro cedures would b e aected if a particular

gineering An Example

statementwas mo died

To illustrate some typical ob ject management needs

Ob ject Management Requirements

of software engineering applications we describ e here

a subset of the capabilities provided by some Arca

The ab ove example can b e used to illustrate some

dia to ols These to ols create and main

of the functionality that should b e provided in an ob

tain four ma jor data structures abstract syntax trees

ject management system for software engineering envi

AST control ow graphs CFG denition and refer

ronments including highlevel primitivetyp e construc

ence defref annotations and dep endency information

tors navigational and asso ciative access over the same

EachnodeinaCFGpoints to the ro ot of the AST

structure p ersistence consistency management access

subgraph that elab orates the statement asso ciated with

control concurrency control resilienc yversion control

the CFG no de To facilitate analysis defref informa

conguration management name management evolu

tion is derived from an AST and asso ciated with the

tion and distribution In addition it demonstrates

appropriate no de in the corresp onding CF G Based on

some crosscutting requirements which imp ose ad

the defref annotations and the structure of the CFG

ditional constraints on the ways in which the functional

dep endency information is asso ciated with CFGnodes

requirements should b e satised

The dep endency information used here are data depen

The current implementation of Pleiades addresses

dence control dependence and syntactic dependenceA

the rst four functional requirements listed ab ove and

no de n is data dep endent on a no de m if and only if

the crosscutting requirements Although the other

there is a denition of a variable v at m that reaches a

functional requirements are not yet implemented we

reference to v at no de nAnoden is control dep endent

have attempted to anticipate and plan for the incre

on a no de m if and only if there exists a path from m to

mental inclusion of these additional features Both the

n that do es not include the immediate forward domina

functional and crosscutting requirements are discussed

tor of m A no de n is syntactically dep endent onanode

below

m if and only if it is either control or data dep endenton

no de m A program fragment and the resulting AST

Functional Requirements

CFG defref annotations and dep endency information

are shown in Figure

Highlevel typ e mo dels To ols that p opulate soft

Separate to ols build each of these four data struc

ware engineering environments dene and manipulate

tures in turn A frontend to ol accepts source co de and

large amounts of complex data Certain classes of ab

creates an AST A CFG builder uses the AST to create

stract data typ es recur throughout software engineering

the corresp onding CFG The defref annotator uses the

environments graphs varyinglength sequences rela

AST to derive the denition and reference information

tions and relationships Graph ob jects o ccur for exam

ple in the form of abstract syntax graphs control ow

Only informal denitions are needed here The interested

reader should refer to graphs and dep endence information graphs as seen in next_stmt Ref = {B,C} := next_stmt Def = {A}

A + IF next_stmt Ref = {A,D} B C > THEN ELSE Print Def = {O} A D next_stmt := D Ref = {A,D} Ref = {D,E} D + Def = {D} Def = {D} := next_stmt D E D + := Ref = {D} Def = {E} D A E +

2 D Ref = {D} Def = {O} AST Edges CFG Edges Control Dependencies AST to CFG relationship Data Dependencies

AST Node CFG Node

Figure Example of AST CFG DefRef Annotations and Dep endency Information

Section The representation of ordered lists of ob jects An ob ject management system should also provide a

such as the sections of a do cument or the op erands of means of determining when ob jects are no longer use

an AST no de are easily captured through the use of y b e deleted Again ful or meaningful so that they ma

varyinglength sequences Finally the ob jects dened returning to our example if the abstract syntax graph

within a software engineering environment do not exist contained errors and was replaced by a semantically cor

in isolationthey may b e connected to other ob jects rect graph the erroneous abstract syntax graph and all

For example control ow graphs are connected to the the information derived from it could b e deleted

abstract syntax graphs from whichtheywere created

Navigational and asso ciative access Dierent

and dep endence information is connected to the control

kinds of applications need to traverse structured data

ow graph from whichitwas derived Relationships are

dierentlyFor example a data ow analysis to ol that

a natural typ e for representing these interconnections

determines if anyvariables are referenced b efore b eing

and relations are useful for gathering together related

dened would traverse a CFG navigational ly by follow

collections of relationships In the ab ove example a

ing the connections from one no de in the graph to an

collection of all the defref annotations can b e used to

other An analysis to ol that rep orts on all the lo cations

answer crossreference typ e queries

where a selected variable is referenced or dened needs

Persistence Some of the ob jects created during soft

to traverse the annotated CFG associatively by query

ware developmentmayhave to p ersist for arbitrary p e

ing the structure to determine all the no des at which

rio ds of time eg requirements sp ecications while

variables were dened or used Some of the ob jects cre

others may b e transient eg an intermediate result of

ated in software developmentenvironments tend to b e

a computation The determination of which ob jects

traversed only navigationally or only asso ciatively while

should or should not p ersist must rest with applica

others likeaCFG mayhavetobetraversed b oth ways

tions since ultimately only an application has enough

Consistency management Dened in its most gen information to make this decision A p ersistence mo del

eral sense consistency management is the pro cess of suitable for use in a software engineering environment

keeping one or more entities in a state that satises must therefore b e exible enough to supp ort application

some condition For example a CFGforamoduleis control over the p ersistence of arbitrary ob jects In

consistent with resp ect to the AST for that mo dule if our example the AST CFG defref annotations and

the source co de from which the AST was created has not dep endence information might all p ersist as long as the

changed since the CFGwas created Consistency man program b eing develop ed exists whereas information

agement comprises denition of consistency conditions ab out the statements that were exercised on the last

tication of consistency violations and reestablish iden execution might b e of transientinterest

ment of consistency following violations Thus con Completeness Computational completeness sup

sistency management is also a mechanism for supp ort p orts arbitrarily complex computations while typ e

ing reactive control whereby an action is invoked when completeness provides the ability to apply anytyp e

some state or event o ccurs constructor to anytyp e including ones created with

In the context of software engineering applications other typ e constructors which facilitates the denition

a consistency management mechanism must b e exi of complex structured typ es Completeness in general

ble enough to supp ort complex consistency denitions maximizes descriptive ability

and to p ermit a range of consistency violationdetection

Firstclass status Firstclass status provides the

and reestablishment activities For example given

ability to treat all ob jects uniformly The exibilityto

the ab ove consistency denition for CFGs one p ossi

pass a typ e or pro cedure as a parameter is an example

ble consistency managementmechanism might identify

of this requirement

the consistency violation after it had already o ccurred

and then reestablish consistency byinvoking the CFG

Identity Ob ject identity means that a given ob ject

builder to recreate the CFG For other kinds of ob jects

can b e referred to bymultiple ob jects Identity provides

the violation of a consistency denition maybecon

the abilityforachange to a shared ob ject to b ecome im

sidered erroneous and must rst b e detected and then

mediately visible to any ob jects that refer to it Prob

corrected either by undoing the changes or p erforming

lems asso ciated with the satisfaction of this requirement

some other corrective action b efore pro ceeding Fur

are discussed in Section

ther dierent consistency denitions violation identi

Dynamic control The software engineering pro cess

cation and reestablishment mechanisms may b e appli

is laden with decision p oints that must o ccur dynami

cable to a given ob ject during dierent stages of develop

cally during the development or maintenance of an ap

ment For example it may b e acceptable to violate the

plication Thus the exibility to exert dynamic con

consistency constraint on the CFG ob ject during soft

trol over ob ject management capabilities eg to decide

ware maintenance activities but it should not b e p ossi

which ob jects will p ersist or when consistency deni

ble to do so while the software is b eing released Thus

tions should b e enforced is imp ortant

a consistency management mechanism for software en

gineering environments must facilitate the description

Metadata Tomake decisions dynamicallysoftware

of a wide variety of consistency denition violation de

engineering applications require information ab out their

tection and reestablishmentmechanisms

runtime state or environment Information ab out ob

jects typ es and consistency status are examples of the

CrossCutting Requirements

kinds of metadata that may b e required

Generality and Heterogeneity Previous research The functionalityprovided by Pleiades can b e im

has demonstrated that dierent programming lan plemented using current programming language andor

guages p ersistence mo dels transaction mo dels and current database capabilities but not without exten

concurrency control mo dels are more appropriate for sive programming For instance the higherlevel typ es

supp orting dierent kinds of applications and dierent can b e implemented in most programming languages us

phases of software development eg ing a varietyoflowlevel typ e constructors eg with

Our exp erience has led us to conclude that no single records arrays and p ointers However a signicant

highlevel mo del will adequately supp ort the diverse amount of co de is required to implement these classes

needs of software development Within each of the func of typ es using suchlowlevel constructs Further the

tional areas of ob ject management dierent mo dels are development of these typ es is complicated and time

more appropriate for dierent pro jects and at dierent consuming and it can b e errorprone Similar argu

stages of development ments can b e made ab out p ersistence navigational and

It is therefore crucial for an ob ject management sys asso ciative access and consistency management Thus

tem for software engineering environments to b e b oth an overriding concern in the design of Pleiades is to

general so that it can facilitate the implementation of provide a system that greatly facilitates the job of soft

multiple mo dels of supp ort for anyprovided function ware engineering environment builders Ease of use

alityandheterogeneous so that it can enable alterna and exibility are therefore imp ortant criteria that im

tive mo dels and implementation strategies to b e used pacted our design decisions in attempting to satisfy the

together in an integrated manner In combination sup functional requirements Ease of use and exibilityare

p ort for generality and heterogeneity in an ob ject man vague criteria however that wehave translated into

agement system allows software engineers to cho ose or more concrete requirements These crosscutting re

readily develop the mo dels and implementations that quirements listed b elow impacted all asp ects of the

b est satisfy their needs and to vary these according to design of Pleiades and help distinguish our approach

the demands of their pro jects from other similar eorts

Related Work These systems are show

ing promise but they havea numb er of shortcomings

First they tend to b e computationally restricted to en

Ob ject managementneedshave traditionally b een

able query optimization those that do not have this

satised through the use of capabilities provided by

restriction usually overcome it byemb edding the ob ject

programming languages le systems and database sys

oriented database in a host language which causes prob

tems As we will describ e b elow existing systems have

lems of imp edance mismatch Many of these systems do

failed to provide many of the functionalities required to

not supp ort consistency control Finally these systems

supp ort software engineering activities and to address

tend to b e limited in their supp ort for dynamism and

the crosscutting requirements

in the generality of the functionalitytheyprovide

Early eorts to supp ort the ob ject management

needs of software engineering applications can b e cat

Language Features to Supp ort Ob ject

egorized as either database or programming language

Management

approaches The database approaches fo cused on using

relational database systems either alone or emb edded in

The Pleiades system has b een develop ed to supp ort

a programming language for ob ject managementeg

our own eorts to build environments and to explore the

while the programming languagebased

issues asso ciated with ob ject management Although

work attempted to use le systems or lowlevel storage

Pleiades is curren tly implemented as a set of exten

management systems to provide p ersistence of program

sions to Ada the features it supp orts satisfy manyof

ming language structures eg Database

the requirements presented in Section and are of uni

systems supp ort p ersistenc e and coarsegrained concur

versal interest In this section we describ e the ma jor

rency control and consistency management but they

features of PleiadesWe also contrast these features

fail to satisfy the other functionality requirements and

with other approaches and we discuss some currentlim

except for provision of meta data they do not address

itations of the system

the crosscutting issues In addition even in those areas

of functionality they provide their mo dels of supp ort

Appropriate HighLevel Primitive

are very restricti ve eg p ersistence and asso ciativeac

Typ es

cess apply only to relation or set typ es and instances

of these typ es are always p ersistent The programming

As noted in Section graph varyinglength se

languagebased approaches on the other hand provide

quence relation and relationship typ es are p ervasive

p ersistence highlevel typ e mo dels though they pro

in software engineering environments To supp ort the

vide limited supp ort for highlevel typ es of the kind used

denition of these typ es Pleiades denes an extended

so often in software engineering applications complete

set of typ e constructors that includes all of the stan

ness and identity but they otherwise fail to address

dard programming language typ e constructors eg

the need for broadsp ectrum exible integrated ob ject

record and array plus constructs for describing graphs

management supp ort

varyinglength sequences relations and relationships

Later research attempted to address some of these

In addition Pleiades denes a set of op erations for

limitations These eorts can b e divided into database

creating and manipulating instances of these typ es just

programming language and ob jectoriented database

likeany other builtin typ e along with a set of excep

approaches Database programming languages have

tions that these op erations may raise A programmer

generally attempted to extend programming languages

need only describ e a typ e and Pleiades automatically

with some of the kinds of functionality that are typically

provides an abstract data typ e denition for that typ e

found in databases such as set constructors concur

The Pleiades typ e mo del satises a number of the

rency control asso ciative access and p ersistence eg

crosscutting requirements It supp orts the denition

While database programming

of for example graphs of relations and relationships

languages provide the computational completeness of

between graphs or relations All typ es are rstclass

traditional programming languages they have tended

entities and all instances of typ es haveidentity and

to limit their supp ort for p ersistenc e asso ciativeac

are rstclass entities A set of predened op erations

cess and concurrency control to a subset of typ es usu

provides certain kinds of metadata In dening the se

ally sets and have provided highly restricted mo dels

hofthenewtyp e constructors wehave mantics of eac

of supp ort In addition they frequently restrict the

attempted to select a general mo del for each class of ab

kinds of computations that can o ccur over database

stract data typ e and thus to facilitate the denition of

ob jects eg only those actions that can b e sp ecied

higherlevel mo dels We describ e these typ e construc

with a noncomplete query language are p ermitted

tors and demonstrate their generality b elow

Ob jectoriented database research on the other hand

Graphs Pleiades provides twotyp e con has attempted to intro duce notions of inheritance sub

structors to supp ort graph typ e development no de and typing and ob ject identity to database systems eg

edge p osition n causes the element that was formerly at that

No des can have zero or more attributes eachofwhich p osition to move to p osition n Sequences grow and

can haveanytyp e If the typ e of a no des attribute shrink dynamicallysoanynumb er of elements maybe

is itself a no de typ e then the value of that attribute inserted into a given sequence Op erations to create

will b e a reference to another no dethat is an implicit destroyinsertinto remove from retrieve from and it

edge will exist Op erations to create and destroynodes erate over elements in a sequence are supp orted as are

to set and retrievevalues of no de attributes and to op erations to determine dynamically the typ es of a se

dynamically determine the typ e of a given no de or any quence and its elements Sequences are typ e complete

of its attributes are provided for all no de typ es so they can b e dened over anytyp e of ob ject including

While the no de constructor alone is sucienttoper sequences no des edges relations and relationships

mit the denition of directed graph typ es wehave found

that some applications require graphs that contain ex Relationships and Relations Relation

plicit edges for example some applications suchasthe ships are N ary connections b etween entities In

CFG builder must annotate the edges of a graph with Pleiades the attributes of relationships can haveany

typ e including graphs relations and relationships The

edgesp ecic information Although it is p ossible to cre

ate a no de that represents the edge this is not as natural values of relationship elds can also b e computed Un

like traditional relational database mo dels instances of

as incorp orating an edge typ e Thus Pleiades sup

p orts the denition of explicit edge typ es as well as relationship typ es are rstclass ob jects with identity

Op erations are provided to create and destroy relation

implicit ones Edges like no des can b e attributed

Applications can examine explicit edges during graph ships to set and retrievevalues of their attributes and

traversals or they can simply ignore explicit edges and to determine dynamically the typ e of a given relation



traverse the graphs as though they contained implicit ship or any of its attributes



edges An application that do es not care ab out edges Relations are unordered collections of relationships

or edges In Pleiades relations are dened over a sin

or their annotations therefore need not b e aware of their



existence Op erations to create and destroy edges to gle typ e of relationship or edge Relations havemultiset

semanticsthat is the same relationship or edge may

set and retrievevalues of edge attributes to determine

dynamically the typ e of a given edge or any of its at o ccur multiple times in a given relation Because rela

tionships haveidentity the same relationship or edge

tributes to obtain the source and target of an edge and

to traverse an edge are dened on all edge typ es may also o ccur in multiple relations The relation ab

Attributes in b oth no des and edges can have com straction also supp orts the denition of subrelationsA

puted values which are derived dynamically from other subrelation is a relation whose elements are constrained

v to b e a subset of those in another relation Wehave alues For example given the current date and a p er

foundthatanumb er of dierent kinds of software en

sons birth date the p ersons age can b e computed

gineering applications require the ability to represent Pleiades p ermits the values of computed attributes to

and enforce subset and sup erset semantics in the ex

b e derived using any programmersp ecied op eration

ample presented in Section for instance some kinds and it allows the values of computed attributes to b e

of program dep endence information are actually sub

derived either lazily up on demand or eagerly when

sets of other kinds Thus Pleiades supp orts the ever any of the data from which the attributes value is

denition of subrelations to supp ort such applications

derived change as the programmer cho oses

Instances of relation typ es are rstclass ob jects with The Pleiades mo del of graphs is quite general The

identity This feature p ermits the explicit representa no de and edge abstractions can b e used to dene many

tion of for example relationships b etween relations dierent semantics for graphs including directed con

and it p ermits the construction of other typ es with re nected and sets of no des and edges

lations as comp onents

Op erations dened on relation typ es include ones to Sequences Pleiades intro duces the se

create destroy insert into remove from retrieve from quence constructor to supp ort the developmentof

iterate over and query relations Facilities are provided varyinglength ordered sequences of ob jects Sequences

are similar to arrays in that elements in a sequence can



Note that relationships which represent arbitrary is

b e accessed by their p osition within the sequence They

asso ciatedwith connections are semantically dierent from

are also similar to linked lists in that inserting an ele

edges which sp ecically represent ispartof relationships

mentinto a sequence causes all elements stored after the

Thus for example while edges can b e traversed implicitly or

new element to b e shifted thus inserting an elementat

explicitly relationshipscanbetraversed only explicitlyOther

semantic dierences are describ ed later

 

While the semantics of implicit edges are subsumed by those Relational database terminology denes relations as tables

of explicit edges wechose to provide the ability to dene implicit We use the more generic term col lection to describ e

edges for reasons of completeness indeed it may b e more natural Pleiades relations b ecause of the semantic dierences b etween

to use implicit edges for some graph typ es the two relation mo dels

to obtain the dierence b etween two relations ie the ger arrays is not supp orted directly and must b e simu

set of relationships or edges that o ccur in one relation lated with appropriate relation denitions Program

but not the other and to compute the union and inter ming languages generally supp ort ordered sequences

section of two relations Meta data ab out the typ e of a with array constructors or with linked lists but most

given relation and its attributes is available p opular languages eg Ada C C do

The relation abstraction supp orts the denition of in not supp ort varyinglength arrays directlyapplication

dices for ecient querying and for ordered iteration over co de must simulate varyinglength arrays using other

relations Indices can b e anytyp e and they need not b e typ es Ob jectoriented databases often provide array

unique For indices whose typ es are strings or discrete constructors eg but these are generally lim

typ es indices can b e built without programmer inter ited in the same ways that programming language ar

vention For other typ es of indices programmers may rays are two notable exceptions are Gemstone

optionally sp ecify certain kinds of information ab out the whichprovides an indexed set class and EXTRA

typ e to p ermit Pleiades to construct ecient indices ycon whichprovides an explicit varyinglength arra

Currently Pleiades p ermits programmers to sp ecify structor that do es not supp ort insertion but that do es

a hash function andor ordering functions for a given supp ort tail expansion

typ e It also allows programmers to indicate whether Finally supp ort for relations and relationships is

index values are exp ected to b e sparse or dense to guide highly variable among existing systems Relational

Pleiades selection of an index data structure databases do of course supp ort b oth typ es of ob jects

Figure shows some Pleiades typ e denitions for The relational database mo del of supp ort is not appro

the data structures depicted in Figure The no des priate for software engineering environments In

in the abstract syntax graph are represented bytyp e particular the fact that relations must b e normalized

AST No de The control ow graph includes dier ie they maynothave elds whose typ es are com

ent kinds of no des to represent dierent kinds of con p ound ob jects is a signicant problem in the context

trol structures for example typ e CFG If No de rep of software developmentenvironments where connec

resents conditional branches eg if statements tions b etween highly complex structured ob jects such

The edges of CFGnodesmayhave to b e annotated as CFG and AST no des must exist Since the kinds

so they are represented as explicit attributed edges of connections that can b e represented in the relational

eg typ e If mo del are limited the implementations of structured No de Edge Finally the connection b e

ob ject typ es whose instances may participate in rela tween no des in the CFG and the AST no des from

tionships are corresp ondingly limitedsuchtyp es must which they are created is represented with the rela

To CFG Relationship Instances of b e implemented as relations This leads to implementa tionship typ e AST

this relationship may b e collected in a relation typ e tions that are less ecient more dicult to understand

AST and maintain and that incur higher impact of change To CFG Relation

Wehave also found that the lack of identityinthe

semantics of relations and relationships that database

Related Work Most conventional relational data

systems dene is inappropriate in manysoftware engi

bases programming languages database programming

neering applications where b oth typ es of ob jects may

languages and ob jectoriented databases are limited in

have to b e shared bynumerous other ob jects Finally

their supp ort for graph sequence relation and relation

though the denition of subset semantics is p ossible in

ship typ es Existing systems do not provide highlevel

relational database systems it requires varying amounts

constructors for dening graph typ es and require pro

of programmer intervention

grammers to dene graph abstractions using lowerlevel

Programming languages do not typically supp ort ei

constructs which is as noted earlier a timeconsuming

ther relation or relationship constructors directly This

and errorprone pro cess that may result in co de that is

shortcoming in part led to the development of database

dicult to understand and maintain The Gras and

vide some form of programming languages whichpro

IDL systems attempted to address this limitation

relation and relationship constructor but these typ es

by providing supp ort for the denition of graph typ es

are not always fully integrated into the languagesfor

but neither supp orts the denition of attributed edges

example some are not typ ecomplete In

Supp ort for varyinglength ordered sequences of enti

addition the mo dels of relations and relationships that

ties is also surprisingly limited in existing systems Re

are provided usually have the same restricti ons as the

lational database systems supp ort varyingsized collec

relational database mo del Ob jectoriented databases

tions in the form of relations but these collections are

usually only supp ort either relations or some sort of

not ordered Applications can achieve the eect of or

set constructor eg Finallywe

dered sequences by dening a unique key index eld

note that recentwork on data structure precompilers

but the maintenance of this eld is left to the appli

to supp ort software reuse has suggested that the

cation Further since relations apply only to relation

lack of a collection constructor in programming lan

ships the denition of for example varyinglength inte

typ e AST typ e CFG Statement No de CFG If No de No de

typ e If typ e AST No de Edge is No de Sequence is

If No de No de edge from CFG sequence of AST

to CFG typ e AST Statement No de No de is no de

Edge Lab el String Information Information Typ e

No de Sequence Children AST end edge

end no de

typ e CFG If No de is no de

typ e AST Then Branch If No de Edge To CFG Relationship is relationship

Else Branch If No de Edge AST Source No de AST No de

end no de Asso ciated CFG No de CFG Statement No de

end relationship

Kinds is If Stmt For Stmt typ e Statement

typ e AST To CFG Relation is

typ e CFG Statement No de is no de relation of AST To CFG Relationship

Of Statement Statement Kinds Kind

end no de

Figure Partial Pleiades Typ e Denitions for Example in Figure

Navigational Access In addition to the inherent guages reduces the ability to pro duce highly reusable

supp ort for navigational access that Ada and most software comp onents This work attempted to address

programming languages provides Pleiades provides this shortcoming in a system called Predatorbyex

navigational access to no des edges and relationships tending the C language with the higherlevel collection

through the denition of op erations to retrieve attribute typ e constructors list array and binary tree The in

values and it supp orts navigation over relations and se terfaces to the resulting abstract data typ es are very

quences byproviding iteration op erations Figure a similar to those of relational databases Predators

shows a Pleiades co de fragment that declares in collections are limited to collections of C structshow

stances of the CFG ever and so they havemany of the same limitations as If No de and If No de Edge typ es

database relations shown in Figure and then p erforms a simple naviga

tional traversal of the resulting CFG ifno de

Pleiades Limitations and Future Directions At

Asso ciative Access Pleiades supp orts asso ciative

present the Pleiades typ e mo del do es not satisfy all of

access over relations through a set of query op erations

the crosscutting requirements Because of Ada limita

Both relationships and edges can b e placed in relations

tions Pleiades do es not provide pro cedures and func

so a combination of asso ciativeandnavigational access

tions as rstclass typ es these entities cannot for ex

can b e achieved over these typ es of ob jects Figure b

ample b e passed as arguments to op erations and they

shows a Pleiades co de fragment in which the AST

cannot b e used as an op erand of a typ e constructor

no de from which a given CFGnodewas created is lo

The Pleiades typ e mo del also is not currently fully

cated The relation is accessed asso ciatively to nd

typ e complete In particular it has some restrictions on

Edge No de attribute the relationship whose Asso ciated

the denition of relationsas noted earlier the relation

value is If Test This relationship is then accessed navi

constructor can b e applied only to a relationship or edge

gationally to retrieve the asso ciated AST no de

typ e In addition relations cannot b e heterogeneous

they may contain instances of only a single typ e of re

Related Work Programming languages supp ort

lationship or edge We imp osed this restriction initially

navigational access as a matter of course eg byfol

b ecause it is dicult to dene queries or supp ort indices

lowing p ointers or elds of records but imp erative pro

over heterogeneous relations but as our research pro

gramming languages do not directly supp ort asso ciative

gresses we hop e to remove it Finally the query facil

access and rulebased languages such as Prolog in

ities provided are currently limiteda generalpurp ose

clude only a limited notion of asso ciative access Rela

query language has not b een incorp orated

tional databases on the other hand provide asso ciative

access over relations but they do not directly sup

e Access Navigational and Asso ciativ

port navigational accessdevelop er s must implement

As discussed in Section software engineering ap this capability using queries

plications maywanttotraverse data structures naviga Both database programming languages and ob ject

tionally or asso ciatively Pleiades therefore supp orts oriented databases have tended to include a dichotomy

b oth navigational and asso ciative access between typ es that can b e accessed asso ciatively and

If Test CFG If No de

Else Branch No de If No de Edge

Branch No de Get Edge IfTest Else Branch Else

a Navigational Access

AST If No de AST No de The ro ot of the AST representation for the iftest

AST To CFG Connections AST To CFG Relation A collection of relationships b etween corresp onding

AST and CFGnodes

If No de Relationship AST To CFG Relationship The relationship b etween the AST and CFG

representations of the iftest

Asso ciative Access

No de Relationship Select Tuple AST To CFG Connections Asso ciated CFG No de If Test If

Navigational Access

AST If No de Get Attribute IfNo de Relationship AST Source No de

b Asso ciative and Navigational Access

Figure Pleiades Co de for Navigational and Asso ciative Access to Instances of Typ es Dened in Figure

Persistence typ es that can b e accessed navigationallyit would b e

dicult for example to dene CFGs to achieveboth

Pleiades denes p ersistenc e to b e a prop ertyofin

asso ciative and navigational access in systems suchas

stances and this prop ertyis orthogonal to other prop

Some systems such as support

erties of the instance Orthogonality means that the

set constructors over anytyp e of ob ject whichcanbe

interfaces to p ersistent ob jects are identical to those

used to allow a programmer to implement these seman

of nonp ersistent ob jects so that for example

tics but they do not directly supp ort navigational and

queries and concurrency control can o ccur over b oth

asso ciative access over the same structures

p ersistent and transient ob jects Applications can dy

namically select ob jects that should b ecome p ersistent

Pleiades denes op erations on each abstract data typ e

to make instances p ersistent and to retrieve p ersistent

ob jects

Pleiades Limitations and Future Directions

The Pleiades mo del of p ersistenc e is reachability

While Pleiades provides navigational access over most

basedany ob ject that is reachable from or contained

of the typ es it supp orts it only provides sp ecial supp ort

within an ob ject that b ecomes p ersistent itself b ecomes

for accessing relations asso ciatively In addition it do es

p ersistent Similarlywhenapersistent ob ject is re

not supp ort the abilitytoswitchbetween asso ciative

trieved from p ersistent storage all of the ob jects reach

and navigational access patterns dynamically whichis

able from it b ecome available with no additional appli

a capability that manysoftware engineering applica



cation intervention Figure demonstrates the use of

tions require Applications must therefore anticipate

p ersistence mechanism The ro ot of the the Pleiades

that they will require b oth access metho ds and main

abstract syntax graph AST Ro ot b ecomes p ersistent

tain separate data structures for use during asso ciative

after the call to Get PID as do all no des reachable from

or navigational accesses We plan to explore strategies

it When the ro ot is retrieved from the p ersistent store

for automatically supp orting b oth navigation and asso

NPR the graph can b e traversed using op eration Get

ciative access over the same structureseg internally

using the usual graph manipulation op erations

transforming b etween multiple representations of an ob

The reachabilitybased mo del of p ersistence has

ject to optimize a particular access pattern optimizing

proven to b e esp ecially suitable for use in software en

a single representation etc It is likely that dierentap

gineering environments where many of the ob jects cre

proaches will b e more useful for dierent applications

ated are connected structures It is not always appro

and we hop e to provide a framework in whichdevel

priate however In particular wehave found that a

op ers can select the strategy that b est accommo dates

their needs We will also explore the tradeo b etween



Pleiades logical ly retrieves the transitive closure of an ob

query optimizability and generality to determine the ex

ject but to minimize the cost of retrieving ob jects that are not

tent to which asso ciative accesses can b e optimized in

useditdoesnotphysical ly retrieveanyobjectuntil an application

attempts to read that ob ject the presence of typ e and computational completeness

Make the ro ot of an AST p ersistent

AST Ro ot AST Retrieved Ro ot AST No de

AST Ro ot Persistent Identier PID

PID AST Ro ot AST Ro ot Persistent Identier Get

Retrieve the ro ot of the p ersistent AST later

Get NPR AST Ro ot Persistent Identier AST Retrieved Ro ot

Print Lab el of ro ot is Get Attribute AST Retrieved RootLabel

The transitive closure of AST Ro ot is now logically available for traversal

Figure Using the Pleiades Persistenc e Interface

tent eg and where all instances b ecome p ersis reachability denition based on the is part of rela

tent eg are readily mo deled using a p ersistenc e tionship sometimes causes more ob jects to b ecome p er

byinstance mo delthe make p ersistent op eration is sistent than desirable Indeed it is not dicult to see

simply called from the appropriate create ob ject op how the interconnecte dness of ob jects in software engi

erations Toachieve p ersistencebyin stance using ei neering environments could lead to a situation where

ther of these mo dels is considerably more dicult how making any ob ject p ersistent results in a very large

ever since it requires an application to keep trackof numb er of other ob jects b ecoming p ersistent There

and destroy all the ob jects it do es not want to p er fore Pleiades currently provides a mechanism at the

sist SimilarlythePleiades mo del satises the re typ edenition level that allows the abstract data typ e

quirement for dynamic control over p ersistence Fi develop er to indicate which of the sub comp onents of a

nally while reachabilitybased extent of p ersistence has given typ e might not b ecome p ersistent Attributes that

proven to b e appropriate for many software engineer represent p otential cut p oints for reachabilitybased

ing applications Pleiades supp orts the denition of p ersistence are sp ecied using relationships where the

alternate paradigms attribute and the ob ject to which it is related are the

elds of this relationship whichchanges the is part

of relationship to is asso ciated with Attributes

Related Work Traditional programming languages

sp ecied as asso ciated with a p ersistentobjectdo

are generally limited in the ways in which they supp ort

not b ecome p ersistentby reachabilityThus applica

p ersistence they normally provide only a le abstrac

tions gain dynamic control over the p ersistenc e of these

tion which requires a considerable amount of program

attributes For example although the co de shown in

mer eort to atten structured data and savethemin

Figure will cause the entire abstract syntax graph of

aleFurther typ e integrity cannot b e enforced once

Figure to b ecome p ersistent neither the relationships

ob jects havebeensaved to a le Relational databases

between AST no des and CFGnodesnoranyCFGnodes

have just the opp osite problemthey make al l relations

will b ecome p ersistentp ers is tenc e has b een limited by

and only relations p ersistent automatically and pro

the use of relationships b etween AST and CF Gnodes

vide applications with no control over what b ecomes

instead of explicit or implicit edges Of course an

p ersistent thus violating the crosscutting requirements

application that uses this abstract data typ e has the

for dynamism and completeness

ability to make the asso ciated sub comp onents of any

Database programming languages eg

instance p ersistentaswell for example making the rela

often provide p ersistence only over database typ es

To CFG Connections shown in Figure p er tion AST

and therefore violate the completeness requirementin

sistentwould cause all of the relationships b etween AST

much the same way that relational databases do Some

and CFG no des to b ecome p ersistentbyreachability

exceptions are whichprovide dynamic con

and in turn all of the AST and CFG no des that are re

trol over the p ersistence decision but not over extentof

lated and their transitive closures would also b ecome

p ersistence and the Ergo system which provides

p ersistent

static but not dynamic programmer control over ex

The Pleiades mo del of p ersistence satises the re

tent of p ersistenc e ie the denition of a typ e must

quirement for generality in that it readily supp orts

designate comp onents as p ersistent or nonp ersistent

other commonly used mo dels of p ersistence For ex

Ob jectoriented databases on the other hand supp ort

ample mo dels in which p ersistenc e is determined by

p ersistence over a wider range of typ es Most ob ject

typ e ie all instances of a given typ e b ecome p ersis

oriented database systems either assume that all ob jects

p ersist and do not provide applications with control over so any condition for consistency can b e sp ecied Con

which ob jects b ecome p ersistent eg tie straints are dynamically and statically enforceable and

p ersistence to typ es eg or limit the typ es of ob relaxable and they can b e enforced or relaxed on a p er

jects that can b e designated as toplevel p ersistent instance or p ertyp e basis Pleiades provides op era

ob jects eg one notable exception is which tions to enforce and relax constraints over graph se

supp orts dynamic p ersistenc e decision over anytyp e of quence relation and relationship typ es To enforce a

ob ject but again this system do es not supp ort control constraint an application must sp ecify a set of op era



over extent of p ersistence tions in which the constraintmight b e violated and

an optional action that is to b e taken up on detection of

Pleiades Limitations and Future Directions



the violation by default an exception is raised Ac

Pleiades do es not yet satisfy the crosscutting re

tions like constraints are computationally complete

quirement for completenessthe current implementa

so any required action may o ccur in resp onse to a con

tion only automates the generation of the p ersistenc e

straint violation Constraints are checked in anyoper

mechanism for graphs sequences relations and rela

ation in which the application indicates that they may

tionships Wehaveanticipated the inclusion of p ersis

b e violated and they can b e checked as a precondition

tence for all typ es of ob jects however by implementing

p ostcondition or b oth dep ending on the semantics the

p ersistence through a general p ersistence protocol Sup

application requires An application can test for the

p orting p ersistence for other typ es is achieved simply

satisfaction of any constraintatany time whether or

by providing Get PID and Get NPR op erations on the

not the constraintisenforcedThePleiades mo del of

typ es and wehave done this manually for a number of

dynamic enforcement of constraints is based on

typ es Pleiades do es not yet satisfy the requirement

The Pleiades consistency management mo del satis

for dynamic control over extent of p ersistence to the

es the crosscutting requirement for generalityit sup

degree that we b elievewould b e desirable The current

p orts the detection of consistency violations either b e

mechanism for limiting the extent of p ersistence requires

fore or after they have o ccurred as desired and it sup

the abstract data typ e implementor to determine p oten

p orts the denition of a variety of consistency reestab

tial cut p oints statically and to base the selection of

lishmentmechanisms including violation preclusion

typ e constructor on them which do es not always result

rollforward and rollbackward so it facilitates multi

in the cleanest or most natural representation for a given

ple consistency managementmechanisms It also sat

abstract data typ e We plan to extend Pleiades to

ises the requirements for completeness and dynamism

p ermit applications to indicate dynamically that a sub

to some extentb oth constraint and action denition

comp onentofagiven p ersistent ob ject should not b e

are computationally complete and control over enforce

come p ersistent so that decisions ab out typ e denitions

ment of constraints and actions to b e taken up on con

need not b e aected by p ersistence concerns Finally

straint violation can o ccur dynamically Finally meta

supp ort for deletion semantics is currently limited to

data is provided in the form of op erations that deter

an unchecked and thus unsafe destroy op eration

mine dynamically which constraints are currently en

We plan to explore desirable semantics for identifying

forced on a given ob ject

ob jects that are no longer useful or meaningful for ex

ample a symb ol table is not likely to b e useful once the

Related Work Traditional programming languages

mo dule with whichitwas asso ciated is destroyed and

are very limited in the ways they supp ort consistency

appropriate implementation strategies

control Strongly typ ed programming languages incor

p orate predened notions of consistency in terms of con

Consistency Management

formance to typ e denition but the set of violations

that can b e detected are usually restricted to criteria

As describ ed earlier ob ject management supp ort for

such as b ounds checking and erroneous typ e usage they

software engineering must b e able to detect and react

do not supp ort complex consistency denitions eg

to a range of dierent kinds of violations of dierent

wellformedness uptodate requirements etc Re

consistency denitions For example some violations

sp onses to p otential violations are usually limited to

must b e precluded eg typ e violations while others

raising an exception exception eg In ad

may b e allowed to o ccur and rolled back if they are not

dition programming languages typically supp ort only

eventually corrected and still others may b e allowed to

o ccur and rolled forward to a new state that satises



Note that b ecause Pleiades employs an abstract data typ e

the violated consistency denition

mo del it is only p ossible to mo dify the state of an ob ject and

Consistency denition is supp orted in Pleiades by

thus to violate an enforced constraint byinvoking an op eration

on the ob ject or one of its sub comp onents

the sp ecication of constraints A constraintisa



Pleiades should not b e confused with constraintbasedpro

Bo olean op eration that tests for the satisfaction of some

gramming languages eg which supp ort problem



condition Constraints are computationally complete

solving through the denition and satisfaction of sets of



In relational database terminology this is called a predicate constraints

preclusion semanticsthey will prevent consistency vi isfy the crosscutting requirement for rstclass status

olations from o ccurring but they do not supp ort roll for constraints b ecause Ada do es not treat op erations

forward or rollbackward semantics without program as rstclass entities Pleiades also do es not yet en

mer intervention Assertion eg and excep tirely satisfy the requirement for dynamism and com

tion handling mechanisms as in Ada and CLU pleteness While control over constraint enforcement

are sp ecialize d consistency managementmecha can o ccur dynamically constraint denition must o ccur

nisms that have b een asso ciated with some program staticallynew constraints cannot b e dened dynami

ming languages Assertions are intended to describ e cally Similarly while asso ciation of actions with con

invariant conditions of a running program and to sp ec straints can b e done dynamically the denition of all

ify actions to b e taken up on detecting a violation of p ossible actions must b e dened statically Finallythe

an invariant Assertions are often used as an aid for requirement for completeness has not yet b een satised

debugging Exceptions are intended to detect unusual since consistency denitions can b e enforced only over

conditions and to sp ecify actions to b e undertaken if graph sequence relation and relationship typ es

one of these conditions should arise Exceptions are Wehave found that consistency managementiscom

often used to supp ort error pro cessing Assertion and plicated by the crosscutting requirement for ob ject

exception handling mechanisms usually do not satisfy identity The state of a shared ob ject may aect that

the cross cutting requirements of dynamic control over of any ob ject that refers to it for example the state of



attachment of an assertion or enforcement or rst class a set dep ends on the states of each of the elements con

status or identity of the conditions or actions asso ciated tained within it and as those states change the state

with these mechanisms of the set changes When an ob ject is sharable it can

Many relational database systems supp ort the def b e manipulated indep endently of any ob jects that refer

inition of constraints Their constraint enforcement to it This may lead to situations in which one ob ject

mechanism do es not however satisfy most of the cross that refers to another can enter an inconsistent state

cutting requirements Relational databases do not sup indirectly ie even though none of the op erations de

p ort application control over constraint enforcement ned on it havebeeninvoked Wehave b een explor

or invo cation of dierent actions at dierent times ing mechanisms for addressing this consistency manage

constraints are enforced at all times except during a ment problem

transaction when all constraints are relaxed Rela

tional databases supp ort only rollback semanticsif

Conclusions and Future Work

constraints are not satised at the end of a transaction

the eects of the transaction are undone

Pleiades provides a numb er of useful ob ject man

Many database programming languages and ob ject

agemen t capabilities Our approachtodeveloping this

oriented databases either do not supp ort consistency

ob ject management system has b een to consider the

management eg supp ort limited consis

demanding needs of software engineering environments

tency denitions such as referential integrity eg

and to attempt to formulate b oth the functional and

or programminglanguagestyle consistency denitions

crosscutting requirements imp osed by this domain

eg or supp ort consistency denitions over only a

The result has b een a system that provides many of the

subset of typ es typically collection typ es eg

capabilities found in a database system but provided in

A few active database systems suchas

astyle that has more of a programming language a

have included b etter supp ort for constraint denition

vor Pleiades provides an abstract data typ e mo del of

but these systems havehada variety of limitations eg

ob ject management where ob ject management capabil

do es not supp ort programmersp ecied actions

ities such as consistency constraints and p ersistenc e are

Consistency denition mechanisms in relational

provided as inherited op erations on anytyp e

database database programming language and ob ject

Although Pleiades provides considerable b enet

oriented database systems fail to satisfy the cross

there are manyways in whichweintend to improve

cutting requirement for rstclass status of constraints

the system As noted in the previous section there are

which means for example that information cannot b e

some capabilities that do not supp ort our crosscutting

asso ciated with constraints and that information ab out

requirements as fully as wewould like We are currently

the relationships b etween constraints cannot b e enco ded

exploring ways to address these limitations Also as

explicitly making these relationships dicult dicult

noted in Section there are some areas of functionality

to comprehend and maintain A notable exception is

that wehaveyet to address Wehave done prelimi

HiPAC which denes rules to b e rstclass ob jects

nary investigation into most of these areas eg

andinsomecaseswehave built indep endent proto

Pleiades Limitations and Future Directions

typ es Although there is considerable interac

The current implementation of Pleiades do es not sat

tion among the current and prop osed capabilities we



PL ON conditions do supp ort dynamic enforcement feel relatively condent that our current system design

will readily supp ort these extensions PRichard and F Velez The Design and Im

Pleiades has b een used in ab out half a dozen plementation of O an Ob ject Oriented Database



pro jects within the Arcadia consortium eg as Systems In Proceedings of the Second International

well as by some industrial users eg For the Workshop on ObjectOrientedDatabase Systems

most part users of the system have b een very pleased pages

with the functionality of the system and its overall p er

N Barghouti and G Kaiser Mo delling Concur

formance

rency in RuleBased DevelopmentEnvironments

IEEE Expert Dec

Acknowledgments This work has b eneted from the

ideas and contributions of a numb er of p eople Jack Wile

N Barghouti and G Kaiser Concurrency Control

den and Alex Wolf were involved in the developmentof

in Advanced Database Applications ACM Com

earlier versions of the typ e and p ersistence mo dels Stan

puting Surveys pages Sept

Sutton has provided useful comments on muchofthework

PA Bernstein Database System Supp ort for Soft

presented here and wehave b eneted from his ideas and

ware Engineering An Extended Abstract In

research Debra Richardson Margaret Thompson Owen

Proceedings of the Ninth International Conference

OMalley Cindy Tittle and Stephanie Aha haveprovided

on Software Engineering pages Mar

us with feedback and suggestions for features that have en

abled Pleiades to b etter supp ort software engineering ap

N Bhachech IRIS To CFG User Manual Ar

plications Yidong Chen implemented Pleiades and help ed

cadia Do cument UM University of Mas

solveanumb er of implementation problems Rick Hudson

sachusetts

Stan Sutton and the referees provided useful feedbackon

an earlier draft of this pap er Finallywewould liketo A Borning The Programming Language As

p ects of ThingLab a ConstraintOriented Simula

thank our Arcadia Consortium colleagues for years of feed

back and ideasmany of the ob ject management features tion Lab oratory ACM Transactions on Program

ming Languages and Systems Oct

Pleiades supp orts resulted from their exp eriences

References

R Bretl D Maier A Otis J Penney

B Schuchardt J Stein H Williams and

S Alagic Persistent Metaob jects In Proceedings

M Williams The Gemstone Data Management

of the Fourth International Workshop on Persistent

System In ObjectOrientedConcepts Databases

Object Systems pages Sept

and Applications W Kim and FH Lochovsky ed

itors pages AddisonWesley

A Albano L Cardelli and R Orsini Galileo

A StronglyTyp ed Interactive Conceptual Lan

APBuchmann RS Carrera and MA Vazquez

guage ACM Transactions on Database Systems

Galindo A Generalized Constraint and Excep

tion Handler for an Ob jectOriente d CADDBMS

In Proceedings of the International Workshop on

T Andrews and C Harris Combining Language

ObjectOriented Database Systems pages

and Database Advances in an Ob jectOriented De

Sept

velopmentEnvironment In Proceedings of the

ObjectOrientedProgramming Systems Languages

L Cardelli Amber pages SpringerVerlag

and Applications pages Oct

T Andrews C Harris and J Duhl The Ontos

MJ Carey DJ DeWitt JE Richardson and

Ob ject Database Pro duct Description

Shekita Storage Management for Ob EJ

jects in EXODUS In ObjectOriented Concepts

M PAtkinson and OP Buneman Typ es

Databases and Applications W Kim and FH Lo

and Persistence in Database Programming Lan

chovsky editors pages AddisonWesley

guages ACM Computing Surveys

Jun

LA Clarke and DJ Richardson and SJ Zeil

MPAtkinson PJ Bailey KJ Chisholm PW

TEAM A Supp ort Environment for Testing Eval

Co ckshott and R Morrison An Approach

uation and Analysis In Proceedings SIGSOFT

to Persistent Programming Computer Journal

ThirdSymposium on Software Development

Nov

Environment pages Nov

F Bancilhon G Barb edette V Benzaken C De D Cohen AP Manual Univ of Southern Cali

lob el S Gamerman C Lecluse fornia Information Sciences Institute March P Pfeer

CJ Date An Introduction to Database Systems B Liskov R Atkinson T Blo om E Moss

AddisonWesley Publishing Company edition C Schaert B Schieer and A Snyder Lecture

Notes in Computer Science Vol chapter CLU

Reference Manual SpringerVerlag

U Dayal A Buchmann and D McCarthy Rules

G Lohman B Lindsay H Pirahesh and K Bern

Are Ob jects To o A Knowledge Mo del for an Ac

hard Schiefer Extensions to Starburst Ob jects

tive Ob jectOriente d Database System In Pro

Typ es Functions and Rules Communications of

ceedings of the Second International Workshop on

the ACM Oct

ObjectOrientedDatabase Systems pages

Sept

JPLoyall SA Mathisen PJ Hurley JS

Williamson and LA Clarke An Advanced System

A Dearle R Connor F Brown and R Morrison

for the Verication and Validation of RealTime

NapierA Database Programming Language In

Avionics Software In Proceedings of the Eleventh

Proceedings of the Second International Workshop

Digital Avionics Systems Conference Oct

on Database Programming Language pages

Jun

DC Luckham and FW vonHenke An Overview

of Anna a Sp ecication Language for Ada IEEE

S Ford J Joseph DE LangworthyDFLively

Softare March

G Pathak ER Perez RW Peterson DM

Sparacin SM Thatte DL Wells and S Agar

D Maier J Stein A Otis and A Purdy Develop

wala ZEITGEIST Database Supp ort for Ob ject

ment of an Ob jectOriented DBMS In Proceedings

Oriented Programming In Proceedings of the Sec

of the ObjectOrientedProgramming Systems L an

ond International Workshop on ObjectOriented

guages and Applications

Database Systems pages Sept

J Mylop oulos PA Bernstein and HKT Wong

S Hudson and R King CACTIS A Database

Some Features of the Taxis Data Mo del In Pro

System for Sp ecifying FunctionallyDened Data

ceedings of the Sixth International Conferenceon

In Procee dings of the International Workshop on

Very Large Databases

ObjectOriented Database Systems pages

MNagl ASoftware DevelopmentEnvironment

Based on Graph Technology Technical Rep ort

R Kadia Issues Encountered in Building a Flex

Aachen UniversityofTechnology

ible Software DevelopmentEnvironment Lessons

Ob ject Design Inc Burlington MA AnIntroduc

from the Arcadia Pro ject In Proceedings of the

tion to ObjectStore

Fifth ACM SIGSOFT Symposium on SoftwareDe

velopment Environments SDE pages

Ob jectivity Inc Menlo Park CA Objectivity

Dec

Database System Overview

B Kernighan and D Ritchie The C Programming

KM Olender and LJ Osterweil Interpro cedural

Language PrenticeHall second edition

Static Analysis of Sequencing Constraints ACM

Transactions on Software Engineering and Method

W Kim N Ballou J Banerjee HT Chou JF

ology Jan

Garza and D Wo elk Integrating an Ob ject

Oriented Programming System with a Database

HA Po dgurski and LA Clarke A Formal Mo del

System In Proceedings of the ObjectOrientedPro

of Program Dep endences and Its Implications for

gramming Systems Languages and Applications

Software Testing Debugging and Maintenance

Transactions on Software Engineering

Sept

A Koren Identifying Typ e Changes in a Collec

tion of Evolving Typ es Masters pro ject rep ort

DJ Richardson TO OMalley CT Mo ore and

Computer Science Department UniversityofMas

AGin SL Aha Developing and Integrating ProD

sachusetts Amherst May

the Arcadia Environment In Proceedings of the

Fifth ACM SIGSOFT Symposium on Software De

P Lee F Pfenning G Rollins and D Scott

velopment Environments Dec

The Ergo Supp ort System An Integrated Set of

JE Richardson and MJ Carey Programming To ols for Prototyping Integrated Environments In

Constructs for Database System Implementation in Proceedings of SIGSOFT ThirdSymposium

EXODUS In Proceedings of ACM SIGMOD Con onments pages Software Development Envir

ference Nov

D Rosenblum Towards a Metho d of Programming PTarr and SM Sutton Jr Programming Het

with Assertions In Proceedings Fourteenth Inter erogeneous Transactions for Software Development

national Conference on Software EngineeringMay dings of the Fifteenth In Environments In Procee

ternational Conference on Software Engineering

pages May

JW Schmidt Some High Level Language Con

PL Tarr JC Wileden and LA Clarke Extend

structs for Data of Typ e Relation ACM Trans

ing and Limiting PGraphitestyle Persistence In

actions on Database Systems Sept

Proceedings of the Fourth International Workshop

on Persistent Object Systems pages Aug

M Sirkin D Batory and V Singhal Software

Comp onents in a Data Structure Precompiler In

RN Taylor FC Belz LA Clarke LJ Oster

Proceedings Fifteenth International Conferenceon

weil RW Selby JC Wileden AL Wolf and

Software Engineering pages May

M Young Foundations for the Arcadia Environ

JM Smith S Fox and T Landers ADAPLEX

mentArchitecture In Proceedings of SIGSOFT

Rationale and Reference Manual Technical Re

Third Symposium on Software Development Envi

p ort CCA Computer Corp oration of Amer

ronment pages Nov

ica Cambridge MA May

United States Department of Defense Washington

DC Reference Manual for the Ada Programming

Sp ecial Issue on the Interface Description Language

Language Jan Military Standard Ada Pro

IDL Nov

gramming Language

GL Steele The Denition and Implementation

SL Vandenb erg and DJ DeWitt Algebraic Sup

of a Language Basedon

p ort for Complex Ob jects with Arrays Identity

Constraints PhD thesis Department of Electrical

and Inheritance In Proceedings of the ACM

Engineering and Computer Science MIT Aug

SIGMOD International Conference on Manage

ment of Data pages May

D Stemple A So corro and T Sheard Formal

DHD Warren and LM Pereira PrologThe

izing Ob jects for Databases Using ADABTPL In

Language and Its Implemen tation Compared to

Proceedings of the Second International Workshop

LISP In Proceedings of the Symposium on Ar

on ObjectOriente d Database Systems pages

ticial Intel ligence and Programming Languages

Sept

pages Aug

B Stroustrup The C Programming Language

DL Wells JA Blakeley and CW Thompson

AddisonWesley

Architecture of an Op en Ob jectOriented Database

Management System Computer Oct

SM Sutton Jr APPLA A PrototypeLanguage

for SoftwareProcess Programming PhD thesis

University of Colorado Boulder CO Aug

JC Wileden AL Wolf CD Fisher and PL

Tarr PGraphite An Exp erimentinPersistent

SM Sutton Jr A Flexible Consistency Mo del

Typ ed Ob ject Management In Proceedings Third

for PersistentDatainSoftwarePro cess Program

ACM SIGSOFTSIGPLAN Symposium on Prac

ming Languages In Implementing Persistent Ob

tical Software Development Environments pages

ject Bases Principles and Practice A Dearle

Nov

GM Shaw and SB Zdonik editors pages

Morgan Kaufman

AL Wolf LA Clarke and JC Wileden A Mo del

of Visibility Control IEEE Transactions on Soft

SM Sutton Jr D Heimbigner and LJ Oster

wareEngineering Apr

weil Language Constructs for Managing Change in

Pro cessCentere d Environments In Proceedings of

M Young RN Taylor K Forester and DJ

ACM SIGSOFT Fourth Symposium on Soft

Brodbeck Integrated Concurrency Analysis in

ware Development Environments pages

aSoftware DevelopmentEnvironment In Pro

Dec

ceedings of the ACM SIGSOFT Third Sympo

eTesting Analysis and Verica sium on Softwar

PTarr Language Pro cessing To olset Prerelease

tion pages Dec

Notes Arcadia Do cument UM University

of Massachusetts