Formalism and method

Abstract We argue that the impact of formalisms would much benefit from adopting the habit of systematically and carefully relating formalisms to methods and to the engineering context, at various levels of granularity. Consequently, we oppose the attitude of conflating formalism and method, with the inevitable consequence of emphasizing the formalism or even just neglecting the methodological aspects. To make our reflections more concrete we illustrate our viewpoint addressing one particular activity within the software development process, namely the use of formal specification techniques. To qualify the essential ingredients of a formal method for specification, we propose a pattern covering the formal and the methodological aspects and also their mutual relationships. Our pattern includes some novel concepts such as the relationship between end-products and formal models, which allows to relate in a rigorous way different methods, outlining the concept of compositionality and of simulation of methods.

[1]  Egidio Astesiano,et al.  Relationships between Logical Frameworks , 1991, COMPASS/ADT.

[2]  Gianna Reggio,et al.  A Graphic Notation for Formal Specifications of Dynamic Systems , 1997, FME.

[3]  Joseph A. Goguen,et al.  Institutions: abstract model theory for specification and programming , 1992, JACM.

[4]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[5]  Hartmut Ehrig,et al.  A Decade of TAPSOFT: Aspects of Process and Prospects in Theory and Practice of Software Development , 1995, TAPSOFT.

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

[7]  C. A. R. Hoare,et al.  How Did Software Get So Reliable Without Proof? , 1996, FME.

[8]  Hans van Vliet,et al.  Software engineering - principles and practice , 1993 .

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

[10]  W. Wayt Gibbs,et al.  Software's Chronic Crisis , 1994 .

[11]  Dines Bjørner,et al.  Michael Jackson's problem frames: towards methodological principles of selecting and applying formal software development techniques and tools , 1997, First IEEE International Conference on Formal Engineering Methods.

[12]  Martin Wirsing,et al.  Algebraic Specification , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[13]  Gianna Reggio,et al.  SMoLCS-Driven Concurrent Calculi , 1987, TAPSOFT, Vol.1.

[14]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[15]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[16]  Luqi,et al.  Proceedings of the 1994 Monterey Workshop, Increasing the Practical Impact of Formal Methods for Computer-Aided Software Development: Evolution Control for Large Software Systems Techniques for Integrating Software Development Environments , 1994 .

[17]  Christiane Floyd,et al.  Theory and Practice of Software Development: Stages in a Debate , 1995, TAPSOFT.

[18]  Dan Craigen,et al.  An International Survey of Industrial Applications of Formal Methods , 1992, Z User Workshop.

[19]  Martin Wirsing,et al.  Algebraic Specification Languages: An Overview , 1994, COMPASS/ADT.

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

[21]  Colin Stirling,et al.  Modal and temporal logics , 1993, LICS 1993.

[22]  C. A. R. Hoare,et al.  Unification of Theories: A Challenge for Computing Science , 1995, COMPASS/ADT.

[23]  Donald Sannella,et al.  Specifications in an Arbitrary Institution , 1988, Inf. Comput..

[24]  N. F. M. Roozenburg,et al.  Product design: Fundamentals and methods , 1996 .

[25]  Gianna Reggio,et al.  Formalism and method , 1997, Theor. Comput. Sci..

[26]  Gianna Reggio,et al.  Labelled transition logic: an outline , 2001, Acta Informatica.

[27]  Michel Bidoit,et al.  An Algebraic Specification of the Steam-Boiler Control System , 1995, Formal Methods for Industrial Applications.

[28]  Gianna Reggio,et al.  Specification of Abstract Dynamic-Data Types: A Temporal Logic Approach , 1997, Theor. Comput. Sci..

[29]  Luqi,et al.  Formal Methods and Social Context in Software Development , 1995, TAPSOFT.