Formal analysis of the Shlaer-Mellor method: Towards a toolkit of formal and informal requirements specification techniques

In this paper, we define a number of tools that we think belong to the core of any toolkit for requirements engineers. The tools are conceptual and hence, they need precise definitions that lay down as exactly as possible what their meaning and possible use is. We argue that this definition can best be achieved by a formal specification of the tool. This means that for each semi-formal requirements engineering tool we should provide a formal specification that precisely specifies its meaning. We argue that this mutually enhances the formal and semi-formal technique: it makes formal techniques more usable and, as we will argue, at the same time simplifies the diagram-based notations.At the same time, we believe that the tools of the requirements engineer should, where possible, resemble the familiar semi-formal specification techniques used in practice today. In order to achieve this, we should search existing requirements specification techniques to look for a common kernel of familiar semi-formal techniques and try to provide a formalisation for these.In this paper we illustrate this approach by a formal analysis of the Shlaer-Mellor method for object-oriented requirements specification. The formal specification language used in this analysis is LCM, a language based on dynamic logic, but similar results would have been achieved by means of another language. We analyse the techniques used in the information model, state model, process model and communication model of the Shlaer-Mellor method, identify ambiguities and redundancies, indicate how these can be eliminated and propose a formalisation of the result. We conclude with a listing of the tools extracted from the Shlaer-Mellor method that we can add to a toolkit that in addition contains LCM as formal specification technique.

[1]  John-Jules Ch. Meyer,et al.  A different approach to deontic logic: deontic logic viewed as a variant of dynamic logic , 1987, Notre Dame J. Formal Log..

[2]  Roel Wieringa,et al.  Using Dynamic Classes and Role Classes to Model Object Migration , 1995, Theory Pract. Object Syst..

[3]  Gunter Saake,et al.  TROLL: a language for object-oriented specification of information systems , 1996, TOIS.

[4]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[5]  Amir Pnueli,et al.  On the Formal Semantics of Statecharts (Extended Abstract) , 1987, LICS.

[6]  B. W. Bates,et al.  Guidel ines for Formalizing Fusion Object-Oriented Analysis Models , 2005 .

[7]  James E. Rumbaugh,et al.  OMT: The Functional Model , 1995, J. Object Oriented Program..

[8]  Paul Ward,et al.  Structured Development for Real-Time Systems , 1986 .

[9]  Roel Wieringa,et al.  Aziomatization, Declarative Semantics and Operational Semantics of Passive and Active Updates in Logic Databases , 1995, J. Log. Comput..

[10]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[11]  N. D. Birrell,et al.  A practical handbook for software development , 1985 .

[12]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[13]  Roel Wieringa,et al.  A Formalization of Objects Using Equational Dynamic Logic , 1991, DOOD.

[14]  Derek Coleman,et al.  Coherent models for object-oriented analysis , 1991, OOPSLA 1991.

[15]  Roel Wieringa,et al.  Combining Static and Dynamic Modelling Methods: A Comparison of Four Methods , 1995, Comput. J..

[16]  Robert B. France,et al.  Guidelines for Formalizing Fusion Object-Oriented Analysis Methods , 1996, CAiSE.

[17]  Gunter Saake,et al.  OMTROLL - Object Modeling in Troll , 1993 .

[18]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[19]  Gunter Saake,et al.  Combining TROLL with the Object Modeling Technique , 1994, GI Jahrestagung.

[20]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[21]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[22]  Hartmut Ehrig,et al.  Introduction to Algebraic Specification. Part 1: Formal Methods for Software Development , 1992, Comput. J..

[23]  Stephen J. Mellor,et al.  Object lifecycles: modeling the world in states , 1992 .

[24]  Gérard Berry,et al.  The ESTEREL Synchronous Programming Language and its Mathematical Semantics , 1984, Seminar on Concurrency.

[25]  Roelf J. Wieringa,et al.  A method for building and evaluating formal specifications of object-oriented conceptual models of database systems , 1993 .

[26]  Ian G. MacDonald,et al.  Information Engineering , 2019, Information Systems Design Methodologies: Improving the Practice.

[27]  James Martin,et al.  Strategic data-planning methodologies , 1982 .

[28]  Roel Wieringa Equational Specification of Dynamic Objects , 1990, DS-4.

[29]  William Kent A RIGOROUS MODEL OF OBJECT REFERENCE, IDENTITY, AND EXISTENCE , 1994 .

[30]  Roel Wieringa,et al.  Actors, actions, and initiative in normative system specification , 1993, Annals of Mathematics and Artificial Intelligence.

[31]  Peter P. Chen The entity-relationship model: toward a unified view of data , 1975, VLDB '75.

[32]  S. Shlaer,et al.  An object-oriented approach to domain analysis , 1989, SOEN.

[33]  James Martin,et al.  Object-oriented methods : a foundation , 1995 .

[34]  Diane C. P. Smith,et al.  Database abstractions: aggregation and generalization , 1977, TODS.

[35]  Marylin M. Keller,et al.  Software specification and design - a disciplined approach for real-time systems , 1992, Wiley series in software engineering practice.

[36]  Roel Wieringa,et al.  Requirements Engineering: Frameworks for Understanding , 1996 .

[37]  David W. Embley,et al.  Object-oriented systems analysis - a model-driven approach , 1991, Yourdon Press Computing series.

[38]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[39]  J. Christopher Jones,et al.  Design methods: Seeds of human futures , 1970 .

[40]  Laurian M. Chirica,et al.  The entity-relationship model: toward a unified view of data , 1975, SIGF.

[41]  Hassan Gomaa Software design methods for concurrent and real-time systems , 1993, SEI series in software engineering.

[42]  Kees Middelburg,et al.  Notations for Software Design , 1994, Formal Approaches to Computing and Information Technology (FACIT).

[43]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[44]  Stephen J. Mellor,et al.  Object Oriented Systems Analysis: Modeling the World in Data , 1988 .

[45]  M. W. Shields An Introduction to Automata Theory , 1988 .

[46]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[47]  Martin Gogolla,et al.  Algebraische Spezifikation abstrakter Datentypen , 1989 .

[48]  José Meseguer,et al.  Order-Sorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations , 1992, Theor. Comput. Sci..

[49]  Ivar Jacobson,et al.  Formalizing Use-Case Modeling , 1995, J. Object Oriented Program..

[50]  Gill Smith,et al.  Object-oriented analysis , 1988, WADAS '88.

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

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

[53]  Diane C. P. Smith,et al.  Database abstractions: aggregation , 1977, CACM.

[54]  Roel Wieringa,et al.  Object Identifiers, Keys, and Surrogates: Object Identifiers Revisited , 1995, Theory Pract. Object Syst..

[55]  Robert B. France,et al.  From structured analysis to formal specifications: state of the theory , 1994, CSC '94.

[56]  Betty H. C. Cheng,et al.  A Formal Semantics for Object Model Diagrams , 1995, IEEE Trans. Software Eng..

[57]  Stephen M. McMenamin,et al.  Essential systems analysis , 1984 .

[58]  Gunter Saake,et al.  Revised Version of the Modelling Language TROLL , 1994 .

[59]  John Chris Jones,et al.  Design Methods: Seeds of Human Futures , 1981 .

[60]  Derek J. Hatley,et al.  Strategies for Real-Time System Specification , 1987 .