Pleiades: an Object Management System for Software Engineering

Pleiades: an Object Management System for Software Engineering

Pleiades An Ob ject Management System for Software 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 software engineering 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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us