Interconnecting formalisms: supporting modularity, reuse and incrementality

The necessity to deal simultaneously with different formalisms seems to be intrinsic to the discipline of Software Engineering, particularly in relation to modularity, reusability and incremental ity. In order to accommodate this diversity of formalisms, some authors have proposed the adoption of a common semantic domain for the different specification languages, and their transla tion into a common style of predicate logic. In this paper, we suggest that an alternative approach may be taken where the different modelling approaches are formalised individually in a common mathematical framework – Category Theory, and relationships are established between them using functors. Several examples are adduced to support this view and the generality of the approach is illustrated by formalising reusability as a property of a functor relating two such formalisms.

[1]  T. S. E. Maibaum,et al.  A Pluralistic Knowledge-Based Approach to Software Specification , 1989, ESEC.

[2]  M. M. Lehman,et al.  Another look at software design methodology , 1984, SOEN.

[3]  José Luiz Fiadeiro,et al.  Temporal reasoning over deontic specifications , 1991, J. Log. Comput..

[4]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1: Equations and Initial Semantics , 1985 .

[5]  Michael Jackson,et al.  Conjunction as composition , 1993, TSEM.

[6]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[7]  Susanna Ginali,et al.  A Categorical Approach to General Systems , 1978 .

[8]  R. Goldblatt Logics of Time and Computation , 1987 .

[9]  Yonghao Ma,et al.  CATEGORICAL APPROACH TO GENERAL SYSTEMS THEORY , 1992 .

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

[11]  Glynn Winskel,et al.  A Classification of Models for Concurrency , 1993, CONCUR.

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

[13]  Donald Sannella,et al.  Building Specifications in an Arbitrary Institution , 1984, Semantics of Data Types.

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

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

[16]  José Luiz Fiadeiro,et al.  Institutions for Behaviour Specification , 1994, COMPASS/ADT.

[17]  Ira R. Forman,et al.  Superimposition for Interacting Processes , 1990, CONCUR.

[18]  K. Mani Chandy Parallel program design , 1989 .

[19]  Bashar Nuseibeh,et al.  Viewpoints: A Framework for Integrating Multiple Perspectives in System Development , 1992, Int. J. Softw. Eng. Knowl. Eng..

[20]  José Luiz Fiadeiro,et al.  Categorical Semantics of Parallel Program Design , 1997, Sci. Comput. Program..

[21]  J. Meigs,et al.  WHO Technical Report , 1954, The Yale Journal of Biology and Medicine.

[22]  Ralph-Johan Back,et al.  Distributed cooperation with action systems , 1988, TOPL.

[23]  Joseph A. Goguen,et al.  A categorical manifesto , 1989, Mathematical Structures in Computer Science.

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

[25]  Martín Abadi,et al.  Composing Specifications , 1989, REX Workshop.

[26]  Xiaolei Qian,et al.  Correctness and composition of software architectures , 1994, SIGSOFT '94.

[27]  Nissim Francez,et al.  A compositional approach to superimposition , 1988, POPL '88.

[28]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.