Algebraic specification of modules and their basic interconnections. (English) Zbl 0619.68027

An algebraic specification concept for modules in software engineering is introduced which includes, in addition to a parameter and body part, explicit import and export interfaces. This concept integrates the main ideas of parameterized specifications for abstract data types and the information-hiding concept required for modules in software engineering. The concept is carefully motivated and defined with formal syntax and semantics within the framework of algebraic specifications. The basic constructions for combining modules are composition, actualization, extension, and union of modules with shared submodules. In this paper, composition and union are studied in detail. Both constructions are shown to be compositional. This means that the semantics of a combined module can be expressed in terms of the semantics of the components. To show the practical significance, specifications for the modules of an airport- schedule system and corresponding Ada packages are presented as an example.


68P05 Data structures
Full Text: DOI


[1] “the programming language ada,” reference manual, ()
[2] Goguen, J.A.; Thatcher, J.W.; Wagner, E.G., An initial algebra approach to the specification, correctness and implementation of abstract data types, (), 80-149
[3] Ehrig, H.; Kreowski, H.-J.; Thatcher, J.W.; Wagner, E.G.; Wright, J.B., Parameter passing in algebraic specification languages, (), 322-369
[4] Blum, E.K., An abstract system model of ada semantics, TRW technical report, (Aug. 1984)
[5] Blum, E.K.; Parisi-Presicce, F., Implementation of data types by algebraic methods, J. comput. system sci., 27, No. 2, 304-330, (1983) · Zbl 0537.68026
[6] Blum, E.K.; Parisi-Presicce, F., The semantics of shared submodule specifications, (), 359-373 · Zbl 0563.68014
[7] Bothe, K., A generalized abstract data type concept, (1980), Sektion Mathematik, Humboldt Universitat Berlin, Preprint No. 3 · Zbl 0469.68025
[8] Ehrig, H., Parameterized specifications with requirements, (), 1-24
[9] Ehrig, H.; Fey, W.; Hansen, H., ACT ONE: an algebraic specification language with two levels of semantics, () · Zbl 0549.68010
[10] Ehrig, H.; Fey, W.; Parisi-Presicce, F.; Blum, E.K., Algebraic theory of module specifications with constraints, (), 59-77 · Zbl 0602.68021
[11] Ehrig, H.; Fey, W.; Parisi-Presicce, F., Distributive laws for composition and union of module specifications for software systems, () · Zbl 0602.68021
[12] Ehrig, H.; Kreowski, H.-J., Compatibility of parameter passing and implementation of parameterized data types, Theoret. comput. sci., 27, 255-286, (1983) · Zbl 0553.68015
[13] Ehrig, H.; Kreowski, H.-J.; Mahr, B.; Padawitz, P., Algebraic implementations of abstract data types, Theoret. comput. sci., 20, No. 3, 209-264, (1982) · Zbl 0483.68018
[14] Ehrig, H.; Mahr, B., Fundamentals of algebraic specifications 1: equations and initial semantics, () · Zbl 0557.68013
[15] Ehrig, H.; Weber, H., Algebraic specification of modules, (), 231-258
[16] Guttag, J.V.; Horning, J.J.; Wing, J.M., Larch in five easy pieces, () · Zbl 0581.68008
[17] Goguen, J.A.; Burstall, R.M., Introducing institutions, (), 221-256 · Zbl 1288.03001
[18] Goguen, J.A.; Meseguer, J., Universal realization, persistent interconnection and implementation of abstract modules, (), 265-281 · Zbl 0493.68014
[19] Giarratana, V.; Gimona, F.; Montanari, U., Observability concepts in abstract data type specifications, (), 576-587 · Zbl 0338.68023
[20] Kapur, D., Toward a theory of abstract data types, ()
[21] Lipeck, U., Ein algebraischer kalkul fur einen strukturierten entwurf von datenabstractionen, () · Zbl 0506.68023
[22] Liskov, B.H.; Zilles, S.N., Specification techniques for data abstracton, IEEE trans. software engrg., SE-1, No. 1, 7-19, (1975)
[23] Majster, M.E., Limits of the algebraic specification of data types, SIGPLAN notices, 12, No. 10, 37-42, (1977) · Zbl 0348.68026
[24] {\scF. Parisi-Presicce} “Union and Actualization of Module Specifications: Some Compatibility Results,” J. Comput. System Sci., to appear. · Zbl 0623.68017
[25] Parisi-Presicce, F., Inner and mutual compatibility of basic operations on module specifications, (), 30-44 · Zbl 0589.68017
[26] Parnas, D.L., A technique for software module specification with examples, Comm. ACM, 15, No. 5, 330-336, (1972)
[27] Reichel, H., Behavioral equivalence—A unifying concept for initial and final specification methods, (), 27-39
[28] Schoett, O., A theory of program modules, their specification and implementation, ()
[29] Sannella, D.; Wirsing, M., A kernel language for algebraic specification and implementation, (), 1-44
[30] Weber, H.; Ehrig, H., Specification of modular systems, Trans. software engrg, (June 1986)
[31] Wirth, N., Programming in module-2, (1982), Springer-Verlag New York
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.