The Specification of Dynamic Distributed Component Systems
Total Page:16
File Type:pdf, Size:1020Kb
CSTR The Sp ecication of Dynamic Distributed Comp onent Systems Thesis by Joseph R Kiniry In Partial Fulllment of the Requirements for the Degree of Master of Science California Institute of Technology Pasadena California Submitted May ii c Joseph R Kiniry All Rights Reserved DRAFT NOT FOR DISTRIBUTION July iii Acknowledgements Sp ecial thanks go to my wonderful advisor Dr K Mani Chandy Thanks also to Infospheres group memb ers and fellow graduate students Dan M Zimmerman Adam Rifkin and Roman Ginis Comp ositional Computing group member EveScho oler and p ostdo cs and past Comp group memb ers Dr Paolo Sivilotti Dr John Thornley and Dr Berna Massingill Dan Zimmerman was particularly helpful in his motivation to develop elegantandpowerful soft ware frameworks Adam provided the inspiration of a Webyogi and Paul is the studenttheoretician in whose fo otsteps I walk Thanks also go to Diane Go o dfellow for her administrative supp ort Finally Id like to thank my longterm partner and b est friend Mary Baxter youll always b e an inspiration in my life This work was sp onsored by the CISE directorate of the National Science Foundation under Problem Solving Environments grant CCR the Center for ResearchinParallel Computing under grant NSF CCR and byParasoft and Novell The formal metho ds and adaptivity reliability mobility security parts of the pro ject are sp onsored by the Air Force Oce of Scientic Research under grantAFOSR F DRAFT NOT FOR DISTRIBUTION July iv DRAFT NOT FOR DISTRIBUTION July v Abstract Mo dern computing systems are terribly complicated so complex that most system designers and develop ers can only hop e to understand their small piece of the larger pro ject The primary technolo gies that help system builders manage this complexity are ob jectoriented andor comp onentcentric and the primary tools are those that assist in system mo deling and sp ecication It is my b elief that the next stage in managing system complexity comes in the form of system specication through formal methods Only with precise complete and consistent descriptions of our systems and their comp onents can we hop e to understand the hyp ercomplex engineering that has b ecome prevalent in computing to day But only through the intro duction of some middleground semiformal technique can mo deling and sp ecication break through into the mainstream Such a sp ecication metho dology cant b e to o hard to use but need to be formal enough that it will help system designers and to ols check the consistency and completeness of the system and its comp onents This thesis is the rst step on the road toward formal sp ecication of dynamic emergent dis tributed comp onent systems and addresses all of the requirements mentioned ab ove I intro duce DESML a set of new mo deling constructs which can b e used as a thin layer on top of most mo deling languages DESMLisavariant of the Unied Mo deling Language UML not an extension Ihave redened the the core metamo del thus the new language is no longer compatible at the metalevel with UML Note that such a mo dication is not necessary it is only a convenience in the denition of our new language The reader should be familiar with the Unied Mo deling Language and at least one formal sp ecication language Suggested references include and Chapter for UML and Chapter for a sp ecication language in this case Z DRAFT NOT FOR DISTRIBUTION July vi Contents Acknowledgements iii Abstract v List of Figures ix List of Tables x Intro duction Motivation Tackling Complexity Terminology Thesis Roadmap Sp ecication Formal Sp ecication A Brief History Current Leading Metho dologies Informal System Sp ecication Metho dologies Formal Comp onent Sp ecication Languages Examples From the Informal to the Formal UseCase Mo deling The Z Sp ecication Language The Utility of Sp ecication New Challenges in Sp ecication and Mo deling Framework for Exp erimentation Infospheres The Dynamic Emergent System Mo deling Language The Comp onent Description Language Examples Mo deling Dynamic Distributed Systems Background Historical Opp osites Booch and ShlaerMellor Current Mo deling Languages UML The Unied Mo deling Language Catalysis OOCL Ob jectOriented Change and Learning DRAFT NOT FOR DISTRIBUTION July vii Mo deling Extensions for Dynamic Systems The Interface Behavioral Element The Comp onent Element PartialInterface Sp ecication Stereotyp e Renements for Asso ciations Ob ject Network Diagrams The Kind Stereotyp e and Role The Infospheres Infrastructure Infospheres Infrastructure History The Infospheres Infrastructure Requirements Analysis Opaque Distributed Software Comp onents Dynamic Interfaces and Interactions Mo des of Collab oration Persistence The Infospheres Infrastructure Design Infospheres Framework Conceptual Mo del Pro cesses Conceptual Mo del Personal Networks Conceptual Mo del Sessions The Infospheres Infrastructure Sp ecication The Messaging Subsystem The Djinn Master The Core PersistentCommunicating Comp onent The Djinn The Infospheres Infrastructure Implementation Implementation Supplementary Comp onents Implementation Size Hindsight Design and Implementation Improvements Infrastructure Impact Infrastructure Uses Examples Distributed Systems Built with Infospheres Archiving Distributed States The Global Snapshot Algorithm Rep eated Snapshots Replaying a Distributed Computation AWorld Wide Web of Distributed Spaces Conclusion Contributions Future Work Bibliography DRAFT NOT FOR DISTRIBUTION July viii List of Figures An example UseCase diagram a coeehouse An example class diagram An example statechart diagram A more complex statechart diagram An example activity diagram a print server An example sequence diagram aprint server An example collab oration diagram a print server An example comp onent diagram An example deployment diagram a p ortion of the Infospheres lab An example package diagram the Infospheres core packages An example note An example typ e a p ortion of an editor with a dictionary An example collab oration An example framework applying a framework twice OOCL elements Current UML core metaclass backb one New UML core metaclass backb one Old classcentric metamo del New classcentric metamo del The sp ecication of a class that has all four kinds of BehavioralElements New BehavioralElement syntax Extending the UML metamo del with the SoftwareComp onent element The EventMessageBean sp ecied in UML Using fontchanges to denote prop erties An example of using stereotyp es to denote the full interface of a comp onent Using eventbehavioral elements to denote the full interface of a comp onent An example partial class sp ecication using ellipses An example partial class sp ecication using the partial stereotyp e Two example class diagrams featuring the sucient stereotyp e The basic forms of asso ciation Summary of new representational entities for ob ject network diagrams New representational entities for ob ject network asso ciations and relationships Three new annotation constructs for asso ciations DRAFT.