Algebraic Theory of Module Specification with Constraints

The concept for modules in software engineering based on equational algebraic specifications is extended by a suitable notion of constraints. This allows to have loose specifications with constraints for parameter, export and import interfaces of module specifications without loosing executability of the body specification. Correctness of such module specifications ensures that data types satisfying the import constraints are transformed into ones satisfying the export constraints. Operations on module specifications like composition, actualization and union are extended to the case with constraints. They are shown to preserve correctness and to be compositional w.r.t. the semantics. Moreover these operations on module specifications satisfy algebraic laws comparable to those of R-modules in algebra.

[1]  Ugo Montanari,et al.  Observability Concepts in Abstract Data Type Specifications , 1976, MFCS.

[2]  Francesco Parisi-Presicce Inner and Mutual Compatibility of Basic Operations on Module Specifications , 1986, CAAP.

[3]  Stephen N. Zilles,et al.  Specification techniques for data abstractions , 1975 .

[4]  Andrzej Tarlecki Programming in the Large with Algebraic Module Specifications - Response , 1986, IFIP Congress.

[5]  Joseph A. Goguen,et al.  Introducing Institutions , 1983, Logic of Programs.

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

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

[8]  José Meseguer,et al.  Universal Realization, Persistent Interconnection and Implementation of Abstract Modules , 1982, ICALP.

[9]  David Lorge Parnas,et al.  A technique for software module specification with examples , 1972, CACM.

[10]  Hartmut Ehrig,et al.  Distributive laws for composition and union of module specifications for software systems , 1987 .

[11]  Hartmut Ehrig,et al.  Specification of modular systems , 1986, IEEE Transactions on Software Engineering.

[12]  Michael D. Rychener Control requirements for the design of production system architectures , 1977 .

[13]  Hartmut Ehrig,et al.  Algebraic Specification of Modules and Their Basic Interconnections , 1987, J. Comput. Syst. Sci..

[14]  Hartmut Ehrig,et al.  Algebraic Specifications with Generating Constraints , 1983, ICALP.

[15]  Hartmut Ehrig,et al.  Algebraic Theory of Parameterized Specifications with Requirements , 1981, CAAP.

[16]  Edward K. Blum,et al.  The Semantics of Shared Submodules Specifications , 1985, TAPSOFT, Vol.1.