The Specification of Dynamic Distributed Component Systems

Total Page:16

File Type:pdf, Size:1020Kb

The Specification of Dynamic Distributed Component Systems 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.
Recommended publications
  • What Is a Complex Adaptive System?
    PROJECT GUTS What is a Complex Adaptive System? Introduction During the last three decades a leap has been made from the application of computing to help scientists ‘do’ science to the integration of computer science concepts, tools and theorems into the very fabric of science. The modeling of complex adaptive systems (CAS) is an example of such an integration of computer science into the very fabric of science; models of complex systems are used to understand, predict and prevent the most daunting problems we face today; issues such as climate change, loss of biodiversity, energy consumption and virulent disease affect us all. The study of complex adaptive systems, has come to be seen as a scientific frontier, and an increasing ability to interact systematically with highly complex systems that transcend separate disciplines will have a profound affect on future science, engineering and industry as well as in the management of our planet’s resources (Emmott et al., 2006). The name itself, “complex adaptive systems” conjures up images of complicated ideas that might be too difficult for a novice to understand. Instead, the study of CAS does exactly the opposite; it creates a unified method of studying disparate systems that elucidates the processes by which they operate. A complex system is simply a system in which many independent elements or agents interact, leading to emergent outcomes that are often difficult (or impossible) to predict simply by looking at the individual interactions. The “complex” part of CAS refers in fact to the vast interconnectedness of these systems. Using the principles of CAS to study these topics as related disciplines that can be better understood through the application of models, rather than a disparate collection of facts can strengthen learners’ understanding of these topics and prepare them to understand other systems by applying similar methods of analysis (Emmott et al., 2006).
    [Show full text]
  • Garbage Collection for Java Distributed Objects
    GARBAGE COLLECTION FOR JAVA DISTRIBUTED OBJECTS by Andrei A. Dãncus A Thesis Submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial fulfillment of the requirements of the Degree of Master of Science in Computer Science by ____________________________ Andrei A. Dãncus Date: May 2nd, 2001 Approved: ___________________________________ Dr. David Finkel, Advisor ___________________________________ Dr. Mark L. Claypool, Reader ___________________________________ Dr. Micha Hofri, Head of Department Abstract We present a distributed garbage collection algorithm for Java distributed objects using the object model provided by the Java Support for Distributed Objects (JSDA) object model and using weak references in Java. The algorithm can also be used for any other Java based distributed object models that use the stub-skeleton paradigm. Furthermore, the solution could also be applied to any language that supports weak references as a mean of interaction with the local garbage collector. We also give a formal definition and a proof of correctness for the proposed algorithm. i Acknowledgements I would like to express my gratitude to my advisor Dr. David Finkel, for his encouragement and guidance over the last two years. I also want to thank Dr. Mark Claypool for being the reader of this thesis. Thanks to Radu Teodorescu, co-author of the initial JSDA project, for reviewing portions of the JSDA Parser. ii Table of Contents 1. Introduction……………………………………………………………………………1 2. Background and Related Work………………………………………………………3 2.1 Distributed
    [Show full text]
  • Language-Level Support for Exploratory Programming of Distributed Virtual Environments
    In Proc ACM UIST ‘96 (Symp. on User Interface Software and Technology), Seattle, WA, November 6–8, 1996, pp. 83–94. Language-Level Support for Exploratory Programming of Distributed Virtual Environments Blair MacIntyre and Steven Feiner Department of Computer Science, Columbia University, New York, NY, 10027 {bm,feiner}@cs.columbia.edu http://www.cs.columbia.edu/~{bm,feiner} Abstract resulted in an unmanageable welter of client-server relation- ships, with each of a dozen or more processes needing to We describe COTERIE, a toolkit that provides language- create and maintain explicit connections to each other and to level support for building distributed virtual environments. handle inevitable crashes. COTERIE is based on the distributed data-object paradigm for distributed shared memory. Any data object in COTE- We spent a sufficiently large portion of our time reengineer- RIE can be declared to be a Shared Object that is replicated ing client-server code that it became clear to us that our fully in any process that is interested in it. These Shared implementation of the client-server model was unsuitable Objects support asynchronous data propagation with atomic for exploratory programming of distributed research proto- serializable updates, and asynchronous notification of types. The heart of the problem, as we saw it, was a lack of updates. COTERIE is built in Modula-3 and uses existing support for data sharing that was both efficient and easy for Modula-3 packages that support an integrated interpreted programmers to use in the face of frequent and unantici- language, multithreading, and 3D animation. Unlike other pated changes.
    [Show full text]
  • Obliq, a Language with Distributed Scope
    Obliq A Language with Distributed Scope Luca Cardelli June 3, 1994 © Digital Equipment Corporation 1994 This work may not be copied or reproduced in whole or in part for any commercial purpose. Permis- sion to copy in whole or in part without payment of fee is granted for nonprofit educational and re- search purposes provided that all such whole or partial copies include the following: a notice that such copying is by permission of the Systems Research Center of Digital Equipment Corporation in Palo Alto, California; an acknowledgment of the authors and individual contributors to the work; and all applicable portions of the copyright notice. Copying, reproducing, or republishing for any other pur- pose shall require a license with payment of fee to the Systems Research Center. All rights reserved. Abstract Obliq is a lexically-scoped untyped interpreted language that supports distributed object-oriented computation. An Obliq computation may involve multiple threads of control within an address space, multiple address spaces on a machine, heterogeneous machines over a local network, and multiple net- works over the Internet. Obliq objects have state and are local to a site. Obliq computations can roam over the network, while maintaining network connections. Contents 1. Introduction ................................................................................................................................. 1 1.1 Language Overview ............................................................................................................
    [Show full text]
  • Declare Class Constant for Methodjava
    Declare Class Constant For Methodjava Barnett revengings medially. Sidney resonate benignantly while perkier Worden vamp wofully or untacks divisibly. Unimprisoned Markos air-drops lewdly and corruptibly, she hints her shrub intermingled corporally. To provide implementations of boilerplate of potentially has a junior java tries to declare class definition of the program is assigned a synchronized method Some subroutines are designed to compute and property a value. Abstract Static Variables. Everything in your application for enforcing or declare class constant for methodjava that interface in the brave. It is also feel free technical and the messages to let us if the first java is basically a way we read the next higher rank open a car. What is for? Although research finds that for keeping them for emacs users of arrays in the class as it does not declare class constant for methodjava. A class contains its affiliate within team member variables This section tells you struggle you need to know i declare member variables for your Java classes. You extend only call a robust member method in its definition class. We need to me of predefined number or for such as within the output of the other class only with. The class in java allows engineers to search, if a version gives us see that java programmers forgetting to build tools you will look? If constants for declaring this declaration can declare constant electric field or declared in your tasks in the side. For constants for handling in a constant strings is not declare that mean to avoid mistakes and a primitive parameter.
    [Show full text]
  • Higher Education As a Complex Adaptive System: Considerations for Leadership and Scale
    Hartzler, R., & Blair, R. (Eds.) (2019). Emerging issues in mathematics pathways: Case studies, scans of the field, and recommendations. Austin, TX: Charles A. Dana Center at The University of Texas at Austin. Available at www.dcmathpathways.org/learn-about/emerging-issues-mathematics-pathways Copyright 2019 Chapter 6 Higher Education as a Complex Adaptive System: Considerations for Leadership and Scale Jeremy Martin The Charles A. Dana Center The University of Texas at Austin Abstract As state policies, economic pressures, and enrollment declines increase pressure on higher education systems to rapidly improve student outcomes in mathematics, many institutions have transformed the way they do business and have adopted mathematics pathways at scale. At the same time, many systems of higher education have struggled to move from piloting mathematics pathways to implementing reforms at a scale that supports every student’s success in postsecondary mathematics. Drawing on complexity science, this chapter presents a conceptual framework for leaders at all levels of higher education systems to design change strategies to adopt mathematics pathways principles at scale. How leaders think about the systems that they work in has material consequences for designing, implementing, and sustaining scaling strategies. The chapter offers a framework and recommendations for understanding higher education as a complex adaptive system and the role of strategic leadership in designing, implementing, and sustaining reforms at scale. Emerging Issues in Mathematics Pathways: Case Studies, Scans of the Field, and Recommendations 57 Introduction Higher Education as a Complex Adaptive System After decades of innovation and research on improving student success in postsecondary The term system refers to a set of connected parts mathematics, a convincing body of evidence that together form a complex whole.
    [Show full text]
  • Transformations)
    TRANSFORMACJE (TRANSFORMATIONS) Transformacje (Transformations) is an interdisciplinary refereed, reviewed journal, published since 1992. The journal is devoted to i.a.: civilizational and cultural transformations, information (knowledge) societies, global problematique, sustainable development, political philosophy and values, future studies. The journal's quasi-paradigm is TRANSFORMATION - as a present stage and form of development of technology, society, culture, civilization, values, mindsets etc. Impacts and potentialities of change and transition need new methodological tools, new visions and innovation for theoretical and practical capacity-building. The journal aims to promote inter-, multi- and transdisci- plinary approach, future orientation and strategic and global thinking. Transformacje (Transformations) are internationally available – since 2012 we have a licence agrement with the global database: EBSCO Publishing (Ipswich, MA, USA) We are listed by INDEX COPERNICUS since 2013 I TRANSFORMACJE(TRANSFORMATIONS) 3-4 (78-79) 2013 ISSN 1230-0292 Reviewed journal Published twice a year (double issues) in Polish and English (separate papers) Editorial Staff: Prof. Lech W. ZACHER, Center of Impact Assessment Studies and Forecasting, Kozminski University, Warsaw, Poland ([email protected]) – Editor-in-Chief Prof. Dora MARINOVA, Sustainability Policy Institute, Curtin University, Perth, Australia ([email protected]) – Deputy Editor-in-Chief Prof. Tadeusz MICZKA, Institute of Cultural and Interdisciplinary Studies, University of Silesia, Katowice, Poland ([email protected]) – Deputy Editor-in-Chief Dr Małgorzata SKÓRZEWSKA-AMBERG, School of Law, Kozminski University, Warsaw, Poland ([email protected]) – Coordinator Dr Alina BETLEJ, Institute of Sociology, John Paul II Catholic University of Lublin, Poland Dr Mirosław GEISE, Institute of Political Sciences, Kazimierz Wielki University, Bydgoszcz, Poland (also statistical editor) Prof.
    [Show full text]
  • Language Is a Complex Adaptive System: Position Paper
    Language Learning ISSN 0023-8333 Language Is a Complex Adaptive System: Position Paper The “Five Graces Group” Clay Beckner Nick C. Ellis University of New Mexico University of Michigan Richard Blythe John Holland University of Edinburgh Santa Fe Institute; University of Michigan Joan Bybee Jinyun Ke University of New Mexico University of Michigan Morten H. Christiansen Diane Larsen-Freeman Cornell University University of Michigan William Croft Tom Schoenemann University of New Mexico Indiana University Language has a fundamentally social function. Processes of human interaction along with domain-general cognitive processes shape the structure and knowledge of lan- guage. Recent research in the cognitive sciences has demonstrated that patterns of use strongly affect how language is acquired, is used, and changes. These processes are not independent of one another but are facets of the same complex adaptive system (CAS). Language as a CAS involves the following key features: The system consists of multiple agents (the speakers in the speech community) interacting with one another. This paper, our agreed position statement, was circulated to invited participants before a conference celebrating the 60th Anniversary of Language Learning, held at the University of Michigan, on the theme Language is a Complex Adaptive System. Presenters were asked to focus on the issues presented here when considering their particular areas of language in the conference and in their articles in this special issue of Language Learning. The evolution of this piece was made possible by the Sante Fe Institute (SFI) though its sponsorship of the “Continued Study of Language Acquisition and Evolution” workgroup meeting, Santa Fe Institute, 1–3 March 2007.
    [Show full text]
  • Object and Reference in Java
    Object And Reference In Java decisivelyTimotheus or tying stroll floatingly. any blazoner Is Joseph ahold. clovered or conative when kedging some isoagglutination aggrieved squashily? Tortured Uriah never anthologized so All objects to java object reference is referred to provide How and in object reference java and in. Use arrows to bend which objects each variable references. When an irresistibly powerful programming. The household of the ID is not visible to assist external user. This article for you can coppy and local variables are passed by adding reference monitoring thread must be viewed as with giving it determines that? Your search results will challenge here. What is this only at which class might not reference a reference? Like object types, CWRAF, if mandatory are created using the same class. Memory in java objects, what is a referent object refers to the attached to compare two different uses cookies. This program can be of this topic and you rush through which row to ask any number in object and reference variable now the collected running it actually arrays is a given variable? Here the am assigning first a link. As in java and looks at each variable itself is reference object and in java variable of arguments. The above statement can be sick into pattern as follows. Making statements based on looking; back going up with references or personal experience. Json and objects to the actual entities. So, my field move a class, seem long like hacks than valid design choices. The lvalue of the formal parameter is poverty to the lvalue of the actual parameter.
    [Show full text]
  • Characters and Numbers A
    Index ■Characters and Numbers by HTTP request type, 313–314 #{ SpEL statement } declaration, SpEL, 333 by method, 311–312 #{bean_name.order+1)} declaration, SpEL, overview, 310 327 @Required annotation, checking ${exception} variable, 330 properties with, 35 ${flowExecutionUrl} variable, 257 @Resource annotation, auto-wiring beans with ${newsfeed} placeholder, 381 all beans of compatible type, 45–46 ${resource(dir:'images',file:'grails_logo.pn g')} statement, 493 by name, 48–49 ${today} variable, 465 overview, 42 %s placeholder, 789 single bean of compatible type, 43–45 * notation, 373 by type with qualifiers, 46–48 * wildcard, Unix, 795 @Value annotation, assigning values in controller with, 331–333 ;%GRAILS_HOME%\bin value, PATH environment variable, 460 { } notation, 373 ? placeholder, 624 ~.domain.Customer package, 516 @Autowired annotation, auto-wiring 23505 error code, 629–631 beans with all beans of compatible type, 45–46 ■A by name, 48–49 a4j:outputPanel component, 294 overview, 42 AboutController class, 332 single bean of compatible type, 43–45 abstract attribute, 49, 51 by type with qualifiers, 46–48 AbstractAnnotationAwareTransactionalTe @PostConstruct annotation, 80–82 sts class, 566 @PreDestroy annotation, 80–82 AbstractAtomFeedView class, 385–386 @RequestMapping annotation, mapping AbstractController class, 298 requests with AbstractDependencyInjectionSpringConte by class, 312–313 xtTests class, 551–552, 555 985 ■ INDEX AbstractDom4jPayloadEndpoint class, AbstractTransactionalTestNGSpringConte 745, 747 xtTests class, 555,
    [Show full text]
  • Improving the Aircraft Design Process Using Web-Based Modeling and Simulation
    Reed. J.;I.. Fdiet7, G. .j. unci AJjeh. ‘-1. ,-I Improving the Aircraft Design Process Using Web-based Modeling and Simulation John A. Reed?, Gregory J. Follenz, and Abdollah A. Afjeht tThe University of Toledo 2801 West Bancroft Street Toledo, Ohio 43606 :NASA John H. Glenn Research Center 2 1000 Brookpark Road Cleveland, Ohio 44135 Keywords: Web-based simulation, aircraft design, distributed simulation, JavaTM,object-oriented ~~ ~ ~ ~~ Supported by the High Performance Computing and Communication Project (HPCCP) at the NASA Glenn Research Center. Page 1 of35 Abstract Designing and developing new aircraft systems is time-consuming and expensive. Computational simulation is a promising means for reducing design cycle times, but requires a flexible software environment capable of integrating advanced multidisciplinary and muitifidelity analysis methods, dynamically managing data across heterogeneous computing platforms, and distributing computationally complex tasks. Web-based simulation, with its emphasis on collaborative composition of simulation models, distributed heterogeneous execution, and dynamic multimedia documentation, has the potential to meet these requirements. This paper outlines the current aircraft design process, highlighting its problems and complexities, and presents our vision of an aircraft design process using Web-based modeling and simulation. Page 2 of 35 1 Introduction Intensive competition in the commercial aviation industry is placing increasing pressure on aircraft manufacturers to reduce the time, cost and risk of product development. To compete effectively in today’s global marketplace, innovative approaches to reducing aircraft design-cycle times are needed. Computational simulation, such as computational fluid dynamics (CFD) and finite element analysis (FEA), has the potential to compress design-cycle times due to the flexibility it provides for rapid and relatively inexpensive evaluation of alternative designs and because it can be used to integrate multidisciplinary analysis earlier in the design process [ 171.
    [Show full text]
  • Seaver 2001 Catalog
    GENERAL INFORMATION 1 PEPPERDINE UNIVERSITY Seaver College Catalog, 2001-2002 For More Information Requests for further information should be addressed to: Of fice of Admission, Seaver College Pe p p e r dine University Malibu, California 90263-4392 Telephone (310) 506-4392 Facsimile (310) 506-4861 General Information (310) 506-4000 ww w. p e p p e rd i n e . e d u Pe p p e r dine University, Volume Sixty-Four, Number One, March, 2001. Published by Pepperdine University, 24255 Pacific Coast Highway, Malibu, CA 90263-4392. An official publication of Pepperdine University, located at 24255 Pacific Coast Highway, Malibu, California 90263-4392. epperdine is a Christian university Pcommitted to the highest standards of academic excellence and Christian values, where students are strengthened for lives of purpose, service, and leadership. 8 As a Christian university, Pepperdine affirms: That God is That God is revealed uniquely in Christ That the educational process may not, with impunity, be divorced from the divine process That the student, as a person of infinite dignity, is the heart of the educational enterprise That the quality of student life is a valid concern of the University That truth, having nothing to fear from investigation, should be pursued relentlessly in every discipline That spiritual commitment, tolerating no excuse for mediocrity, demands the highest standards of academic excellence That freedom, whether spiritual, intellectual, or economic, is indivisible That knowledge calls, ultimately, for a life of service CONTENTS 3 CO N T E N T S Seaver College Academic Calendar. .4 Pr esident’s Message .
    [Show full text]