SCTL-MUS: A Formal Methodology for Software Development of Distributed Systems. A Case Study

Abstract. This paper introduces an iterative model for the software development process of distributed systems. It is based on dealing with the system evolution and maintenance activities as similar stages of the system development. In order to formalise this model, a multi-valued causal temporal logic, referred to as Simple Causal Temporal Logic (SCTL), is defined for the acquisition and specification of the functional requirements. A Model of Unspecified States (MUS) is also defined with a double goal: firstly, to show the fundamental aspects of system behaviour, which has been specified through a set of SCTL requirements; and, secondly, to verify the consistency and completeness of the specified requirements.The combination of SCTL and MUS allows obtaining the specification of the initial architecture of the system formally. Besides, the design decisions are stored with the goal of making the evolution and maintenance tasks easier. The translation between MUS and a constructive formal description technique (LOTOS) is automatic from the definition of architectural operators.

[1]  Manfred Broy,et al.  Formal Description Techniques - How Formal and Descriptive are they? , 1996, FORTE.

[2]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

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

[4]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[5]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

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

[7]  Luqi,et al.  Formal Methods: Promises And Problems , 1997, IEEE Softw..

[8]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[9]  Peter Gorm Larsen,et al.  Applying Formal Specification in Industry , 1996, IEEE Softw..

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

[11]  Amir Pnueli,et al.  Linear and Branching Structures in the Semantics and Logics of Reactive Systems , 1985, ICALP.

[12]  Winfried K. Grassmann,et al.  Logic and discrete mathematics - a computer science perspective , 1995 .

[13]  Cliff B. Jones,et al.  On the Usability of Logics which Handle Partial Functions , 1991 .

[14]  Cliff B. Jones,et al.  Specifications are not (necessarily) executable , 1989 .

[15]  David L. Dill,et al.  Acceptance of Formal Methods : Lessons from Hardware Design , 1996 .

[16]  Ana Fernández Vilas,et al.  Una lógica temporal causal para la especificación de requisitos funcionales de un sistema distribuido , 1997 .

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

[18]  Jorge García Duque Especificación, verificación y mantenimiento de requisitos funcionales con técnicas de descripción formal , 2000 .

[19]  P. N. Scharbach Formal Methods: Theory and Practice , 1989 .

[20]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1995, IEEE Softw..

[21]  Edmund M. Clarke,et al.  Tools and partial analysis , 1996, CSUR.

[22]  Jonathan P. Bowen,et al.  Ten Commandments of Formal Methods , 1995, Computer.

[23]  Kuldeep Kumar,et al.  Strategies for incorporating formal specifications in software development , 1994, CACM.

[24]  William Stallings,et al.  Data and Computer Communications , 1985 .

[25]  Jonathan P. Bowen,et al.  Applications of Formal Methods , 1995 .

[26]  Norbert E. Fuchs Specifications are (preferably) executable , 1992, Softw. Eng. J..

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

[28]  Jan van Katwijk,et al.  Application and benefits of formal methods in software development , 1992, Softw. Eng. J..

[29]  Jonathan P. Bowen,et al.  To formalize or not to formalize , 1996 .