A Formal Methodology for the Specification of Distributed Systems From an Object Perspective.

Distributed computing systems are systems in which multiple processors run independently by communicating with each other. The design of distributed systems is difficult to achieve as the execution patterns of distributed system are typically more complex than those of non-distributed computing systems. The application of object-oriented techniques to the design of distributed systems has the potential to increase the power of modeling and computing. A formal methodology which includes a specification language, developed from an object perspective, for the development of distributed systems is presented. The formal specification language, DOSL (Distributed Object-based Specification Language), represents the specification of distributed systems from an object perspective. DOSL has a hybrid format which combines the property-oriented approach and the model-oriented approach. In particular, it has strong features for message passing specification. The semantics of DOSL is defined formally by two operational semantics methods: transition systems and Petri nets. In addition, a formal object-based methodology for the specification of distributed systems is given. The methodology presents a framework for using the DOSL specification language and includes an integrated formalized method for identification of objects, their operations and behaviors from multiple modeling formats. The implementation of the methodology is supported by assistance with a knowledge base.

[1]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[2]  David R. Harris,et al.  KBRA: A new paradigm for requirements engineering , 1988, IEEE Expert.

[3]  Michael A. Arbib,et al.  Algebraic Approaches to Program Semantics , 1986, Texts and Monographs in Computer Science.

[4]  Richard C. Waters,et al.  The Programmer's Apprentice: a research overview , 1988, Computer.

[5]  R. Ladden,et al.  A survey of issues to be considered in the development of an object-oriented development methodology for Ada , 1989, ALET.

[6]  Robert Balzer A Gobal View of Automatic Programming , 1973, IJCAI.

[7]  Robert Balzer,et al.  Principles of good software specification and their implications for specification languages , 1981, AFIPS '81.

[8]  Doris L. Carver,et al.  Knowledge base applications with software engineering: a tool for requirements specifications , 1988, IEA/AIE '88.

[9]  Ernest A. Hershey,et al.  A computer-aided technique for structured documentation , 1976, DATB.

[10]  James L. Peterson,et al.  Petri Nets , 1977, CSUR.

[11]  H. Gomaa Structuring Criteria For Real Time System Design , 1989, 11th International Conference on Software Engineering.

[12]  Anand R. Tripathi,et al.  An implementation of the object‐oriented concurrent programming language SINA , 1989, Softw. Pract. Exp..

[13]  Peter Wegner,et al.  Dimensions of object-based language design , 1987, OOPSLA '87.

[14]  Timothy A. Budd,et al.  An introduction to object-oriented programming , 1991 .

[15]  Mario Tokoro,et al.  Concurrent programming in concurrent Smalltalk , 1987 .

[16]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[17]  Mary K. Vernon,et al.  SARA (System ARchitects Apprentice): Modeling, analysis, and simulation support for design of concurrent systems , 1986, IEEE Transactions on Software Engineering.

[18]  John V. Guttag,et al.  Notes on Type Abstraction (Version 2) , 1980, IEEE Transactions on Software Engineering.

[19]  Bertrand Meyer,et al.  On Formalism in Specifications , 1985, IEEE Software.

[20]  Mehdi T. Harandi,et al.  Workshop on software specification and design , 1988, SOEN.

[21]  W. Li,et al.  A First Attempt at Translating CSP into CCS , 1981, ICDCS.

[22]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[23]  Joe Stoy,et al.  Denotational Semantics , 1977 .

[24]  Doris L. Carver,et al.  Object-oriented analysis and specification: a knowledge base approach , 1991 .

[25]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[26]  Stephen S. Yau,et al.  Distributed Software System Design Representation Using Modified Petri Nets , 1983, IEEE Transactions on Software Engineering.

[27]  Henri E. Bal,et al.  Programming languages for distributed computing systems , 1989, CSUR.

[28]  Douglas T. Ross,et al.  Applications and Extensions of SADT , 1985, Computer.

[29]  Kurt Lautenbach,et al.  Facts in Place/Transition-Nets , 1978, MFCS.

[30]  Cliff B. Jones,et al.  Software development - a rigorous approach , 1980, Prentice Hall international series in computer science.

[31]  Dennis Kafura,et al.  ACT++: Building a Concurrent C++ with Actors , 1989 .

[32]  H. Ehrig,et al.  Equational Specifications and Algebras , 1985 .

[33]  Mack W. Alford SREM at the Age of Eight; The Distributed Computing Design System , 1985, Computer.

[34]  P. David Stotts,et al.  A comparative survey of concurrent programming languages , 1982, SIGP.

[35]  Ernst-Rüdiger Olderog,et al.  Operational Petri net semantics for CCSP , 1986, European Workshop on Applications and Theory of Petri Nets.

[36]  Stephen J. Westfold,et al.  Knowledge-based programming self applied , 1986 .

[37]  James E. Donahue,et al.  Complementary Definitions of Programming Language Semantics , 1976, Lecture Notes in Computer Science.

[38]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[39]  Geoff Cutts,et al.  Structured systems analysis and design methodology , 1988 .

[40]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[41]  Mogens Nielsen CCS - and its Relationship to Net Theory , 1986, Advances in Petri Nets.

[42]  Grady Booch,et al.  Object-oriented development , 1986, IEEE Transactions on Software Engineering.

[43]  Eike Best COSY: Its Relation to Nets and CSP , 1986, Advances in Petri Nets.

[44]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[45]  John Jenkins,et al.  CASE at the start of the 1990's , 1991, ICSE '91.

[46]  Paul T. Ward How to integrate object orientation with structured analysis and design , 1989, IEEE Software.

[47]  Kurt Jensen,et al.  Coloured Petri Nets and the Invariant-Method , 1981, Theor. Comput. Sci..

[48]  David R. Barstow Domain-Specific Automatic Programming , 1985, IEEE Transactions on Software Engineering.

[49]  John Mylopoulos,et al.  Capturing more world knowledge in the requirements specification , 1982, ICSE '82.

[50]  Amir Pnueli The Temporal Semantics of Concurrent Programs , 1981, Theor. Comput. Sci..

[51]  Gordon Plotkin,et al.  An Operational Semantics for CSP. , 1982 .

[52]  Jeannette M. Wing A specifier's introduction to formal methods , 1990, Computer.

[53]  Leslie Lamport,et al.  Formal Foundation for Specification and Verification , 1984, Advanced Course: Distributed Systems.

[54]  Stephen Fickas,et al.  Critiquing software specifications , 1988, IEEE Software.

[55]  Sang-Bum Lee,et al.  The construction of an object-oriented specification model , 1990, IEEE Proceedings on Southeastcon.

[56]  D. Barstow An Experiment in Knowledge-Based Automatic Programming , 1986, Artif. Intell..

[57]  Mehdi T. Harandi,et al.  Intelligent Support for Software Specification and Design , 1986, IEEE Expert.

[58]  Sol M. Shatz,et al.  Design and Implementation of a Petri Net Based Toolkit for Ada Tasking Analysis , 1990, IEEE Trans. Parallel Distributed Syst..

[59]  David C. Luckham,et al.  An Overview of Anna, a Specification Language for Ada , 1985, IEEE Software.

[60]  Amiram Yehudai,et al.  OBSERV-a prototyping language and environment combining object oriented approach, state machines and logic programming , 1990, Twenty-Third Annual Hawaii International Conference on System Sciences.

[61]  Toby J. Teorey,et al.  ER model clustering as an aid for user communication and documentation in database design , 1989, CACM.

[62]  Pamela Zave,et al.  An Operational Approach to Requirements Specification for Embedded Systems , 1982, IEEE Transactions on Software Engineering.

[63]  Robert Balzer,et al.  A 15 Year Perspective on Automatic Programming , 1985, IEEE Transactions on Software Engineering.

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

[65]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[66]  George S. Avrunin,et al.  Constrained expressions: Adding analysis capabilities to design methods for concurrent software systems , 1986, IEEE Transactions on Software Engineering.

[67]  Henry Lieberman,et al.  Concurrent object-oriented programming in Act 1 , 1987 .

[68]  Jeannette M. Wing Writing Larch interface language specifications , 1987, TOPL.

[69]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[70]  David R. Barstow,et al.  Knowledge-based program construction , 1979 .

[71]  R. K. Shyamasundar,et al.  An operational semantics of real time design language RT-CDL , 1989, IWSSD '89.

[72]  Sol M. Shatz,et al.  A petri net framework for automated static analysis of Ada tasking behavior , 1988, J. Syst. Softw..

[73]  Edward Yourdon,et al.  Modern structured analysis , 1989 .