Architectural notes: a framework for distributed systems development

This thesis develops a framework of methods and techniques for distributed systems development. This framework consists of two related domains in which design concepts for distributed systems are defined: the entity domain and the behaviour domain. In the entity domain we consider structures of functional entities and their interconnection, while in the behaviour domain we consider behaviour definition and structuring. An interaction in which we abstract from the particular responsibilities of the participating functional entities is considered as an action. Behaviours consist of actions, interactions and their relationships. Relationships between actions and interactions are defined in terms of causality relations. In each causality relation the conditions and constraints for an action or interaction to occur are defined. Two important behaviour structuring techniques have been identified from the possible ways causality relations can be distributed: causality-oriented behaviour composition and constraint-oriented behaviour composition. Causality-oriented behaviour composition consists of placing some conditions of an action and the action itself in different sub-behaviours. Constraint-oriented behaviour composition consists of placing parts of the conditions and constraints of an action in different sub-behaviours, such that this action is shared by these sub-behaviours. This thesis identifies milestones in the design process of distributed systems, as well as the design steps to move from one milestone to another. These design steps are characterized using the concepts of the entity and the behaviour domain. We identified two crucial design operations of the behaviour domain that support these design steps: behaviour refinement and action refinement. Behaviour refinement consists of introducing (internal) structure in the causality relations of reference actions of an abstract behaviour, but preserving their causality and exclusion relationships and their attribute values. Action refinement consists of replacing abstract actions by activities, such that the completion of these activities correspond to the occurrence of the abstract actions. One important characteristic of action refinement is the possibility of distributing attribute values of the abstract actions over actions of the activities that replace them in the concrete behaviours. The area of research, scope and objectives of this thesis are discussed in Chapter 1. The concept of design culture and its elements is introduced in this chapter in order to provide an overview of the important aspects of the design process. Entity domain, behaviour domain, and design milestones are introduced and discussed in Chapter 2. This chapter also discusses the global objectives of design steps, and the abstraction obtained by considering interactions between cooperating functional entities as actions of the interaction system between these entities. Action, action attributes, causality and exclusion are discussed in Chapter 3. This chapter shows how a behaviour can be defined in terms of the causality relations of its actions in a monolithic form. Causality-oriented behaviour composition is discussed in Chapter 4. Entries and exits of a behaviour are the mechanisms that make it possible to assign parts of a condition of an action and the action itself to different sub-behaviours. Constraint-oriented behaviour composition is discussed in Chapter 5. Decomposition possibilities of monolithic behaviours are systematically studied in this chapter. Behaviour refinement is discussed in Chapter 6. This chapter defines a method to obtain an abstraction of a concrete behaviour. This method can be used to check whether the concrete behaviour corresponds to a certain abstract behaviour. Action refinement is discussed in Chapter 7. This chapter identifies some activity forms, and define the rules for considering these activities as implementations of an abstract action. These rules are used in a method to derive an abstraction of a concrete behaviour in which the abstract actions are implemented as activities. This method can be used to check whether the concrete behaviour corresponds to a certain abstract behaviour. Chapter 8 discusses a design example that is meant to illustrate the use of our design concepts. The example is an interaction server, which is a component that supports the interaction between multiple functional entities. Chapter 9 draws some conclusions and revisits the design milestones of Chapter 2, showing alternatives for the design trajectory which have been created with the use of actions and interactions in a single framework.

[1]  Peter Sjödin From LOTOS specifications to distributed implementations , 1992 .

[2]  Diego Latella,et al.  Performance analysis and true concurrency semantics , 1994 .

[3]  Wilfried H. P. van Hulzen,et al.  LOTOS Extended with Clocks , 1989, FORTE.

[4]  Robert L. Probert,et al.  Synthesis of Communication Protocols: Survey and Assessment , 1991, IEEE Trans. Computers.

[5]  Debora Weber-Wulff,et al.  Selling Formal Methods to Industry , 1993, FME.

[6]  Peter Sjödin,et al.  Multiway Synchronization Verified with Coupled Simulation , 1992, CONCUR.

[7]  Alan M. Davis,et al.  A Strategy for Comparing Alternative Software Development Life Cycle Models , 1988, IEEE Trans. Software Eng..

[8]  Arturo Azcorra,et al.  Tool Support to Implement LOTOS Formal Specifications , 1993, Comput. Networks ISDN Syst..

[9]  Rom Langerak,et al.  Bundle event structures: a non-interleaving semantics for LOTOS , 1992, FORTE.

[10]  Wolfgang A. Halang,et al.  The concept of time in the specification of real-time systems , 1992 .

[11]  Kenneth J. Turner A LOTOS-Based Development Strategy , 1989, FORTE.

[12]  Tommaso Bolognesi,et al.  From timed Petri nets to timed LOTOS , 1990, PSTV.

[13]  Luca Aceto,et al.  Adding Action Refinement to a Finite Process Algebra , 1991, Inf. Comput..

[14]  Gregor von Bochmann,et al.  Semiautomatic Implementation of Communication Protocols , 1987, IEEE Transactions on Software Engineering.

[15]  Günter Karjoth A Compilation of Algebraic Processes Based on Extended-Action Derivation , 1990, FORTE.

[16]  Luis Ferreira Pires,et al.  Design and implementation strategies , 1992 .

[17]  Luís Ferreira Pires,et al.  Step-wise Refinement Design Example Using LOTOS , 1990, FORTE.

[18]  Kenneth J. Turner,et al.  An Architectural Semantics for LOTOS , 1987, PSTV.

[19]  Henk Eertink,et al.  Design of the LOTOSPHERE Symbolic LOTOS Simulator , 1990, FORTE.

[20]  Wang Yi,et al.  Real-Time Behaviour of Asynchronous Agents , 1990, CONCUR.

[21]  Rajive L. Bagrodia A Distributed Algorithm to Implement N-Party Rendevouz , 1987, FSTTCS.

[22]  Tommaso Bolognesi,et al.  LOTOS-like Process Algebras with Urgent or Timed Interactions , 1991, FORTE.

[23]  David de Frutos-Escrig,et al.  TIC: A Timed Calculus for LOTOS , 1989, Formal Techniques for (Networked and) Distributed Systems.

[24]  L.F. Pires,et al.  Advanced design concepts for open distributed systems development , 1993, 1993 4th Workshop on Future Trends of Distributed Computing Systems.

[25]  姜乐 a:b:c≠a÷b÷c , 1994 .

[26]  Joseph Sifakis,et al.  An Overview and Synthesis on Timed Process Algebras , 1991, REX Workshop.

[27]  Maurice Herlihy,et al.  Reasoning about Atomic Objects , 1988, FTRTFT.

[28]  C.A. Vissers,et al.  Formal description techniques , 1983, Proceedings of the IEEE.

[29]  Computer Staff,et al.  Systems Engineering of Computer-Based Systems , 1993 .

[30]  Reinhard Gotzhein,et al.  Temporal Logic and Applications-A Tutorial , 1992, Comput. Networks ISDN Syst..

[31]  Eric Dubuis,et al.  An Algorithm for Translating LOTOS Behavior Expressions into Automata and Ports , 1989, FORTE.

[32]  Nancy A. Lynch,et al.  Action Transducers and Timed Automata , 1992, CONCUR.

[33]  Faron Moller,et al.  A Temporal Calculus of Communicating Systems , 1990, CONCUR.

[34]  Marten van Sinderen,et al.  Specification Styles in Distributed Systems Design and Verification , 1991, Theor. Comput. Sci..

[35]  Bengt Jonsson,et al.  Refining Interfaces of Communicating Systems , 1991, TAPSOFT, Vol.2.

[36]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[37]  Ed Brinksma,et al.  From Data Structure to Process Structure , 1991, CAV.

[38]  E. Rechtin,et al.  The art of systems architecting , 1996, IEEE Spectrum.

[39]  Rajive L. Bagrodia,et al.  Process Synchronization: Design and Performance Evaluation of Distributed Algorithms , 1989, IEEE Trans. Software Eng..

[40]  L. Ferreira Pires,et al.  Protocol Design and Implementation Using Formal Methods , 1992, Comput. J..

[41]  Ursula Goltz,et al.  Interleaving semantics and action refinement with atomic choice , 1992, Advances in Petri Nets: The DEMON Project.

[42]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[43]  Adriano Valenzano,et al.  A Protocol for Multirendezvous of LOTOS Processes , 1991, IEEE Trans. Computers.

[44]  Kenneth J. Turner,et al.  Using Formal Description Techniques: An Introduction to Estelle, Lotos, and SDL , 1993 .

[45]  Guy Leduc An Upward Compatible Timed Extension to LOTOS , 1991, FORTE.

[46]  Chris A. Vissers,et al.  FDTs for open distributed systems, a retrospective and a prospective view , 1990, Protocol Specification, Testing and Verification.

[47]  L. Ferreira Pires,et al.  Overview of the Lotosphere Design Methodology , 1990 .

[48]  Luigi Logrippo,et al.  The importance of the service concept in the design of data communications protocols , 1985, PSTV.

[49]  Roberto Saracco Standardisation of Formal Description Techniques for Communication Protocols - Response , 1986, IFIP Congress.

[50]  Ed Brinksma What is the Method in Formal Methods? , 1991, FORTE.

[51]  Luís Ferreira Pires,et al.  What Makes Industries Believe in Formal Methods , 1993, PSTV.

[52]  Jean-Pierre Courtiat,et al.  A true concurrency semantics for LOTOS , 1992, FORTE.

[53]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[54]  Rom Langerak Decomposition of functionality: a correctness-preserving LOTOS transformation , 1990, PSTV.

[55]  Glynn Winskel,et al.  An Introduction to Event Structures , 1989 .

[56]  Jeremy Gunawardena Geometric Logic, Causality and Event Structures , 1991, CONCUR.

[57]  Pamela Zave,et al.  The operational versus the conventional approach to software development , 1984, CACM.

[58]  Jeremy Gunawardena Confluence = {AND, OR} Causality , 1990 .

[59]  Joseph Sifakis,et al.  The Algebra of Timed Processes, ATP: Theory and Application , 1994, Inf. Comput..

[60]  Leslie Lamport,et al.  Artificial Intelligence and Language Processing ]acques Cohen Editor a Simple Approach to Specifying Concurrent Systems , 2022 .

[61]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[62]  Walter Vogler Bisimulation and Action Refinement , 1993, Theor. Comput. Sci..

[63]  Paul W. King,et al.  Formalization of Protocol Engineering Concepts , 1991, IEEE Trans. Computers.

[64]  Marten van Sinderen,et al.  Advances in architectural concepts to support distributed systems design , 1993 .

[65]  Luis Ferreira Pires,et al.  Formal Description Techniques for Distributed Computing Systems , 1990 .

[66]  Juan Quemada,et al.  Introduction of Quantitative Relative Time into LOTOS , 1987, PSTV.

[67]  A. W. Roscoe,et al.  A Timed Model for Communicating Sequential Processes , 1986, Theor. Comput. Sci..

[68]  Arturo Azcorra,et al.  Structuring Protocols Using Exceptions in a LOTOS Extension , 1992, PSTV.

[69]  Joaquín Salvachúa,et al.  Λβ: a Virtual LOTOS Machine , 1992 .

[70]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[71]  Liba Svobodova,et al.  Implementing OSI systems , 1989, IEEE J. Sel. Areas Commun..

[72]  Reinhard Gotzhein The Formal Definition of the Architectural Concept "Interaction Point" , 1989, FORTE.

[73]  Arend Rensink Models and Methods for Action Refinement , 1993 .

[74]  Reinhard Gotzhein Open distributed systems - on concepts, methods, and design from a logical point of view , 1993, Vieweg advanced studies in computer science.