Abstract
Interfaces became one of the most important features in modern software systems, especially in object-oriented systems. They provide for abstraction and detail hiding and, therefore, contribute to readable and reusable software construction. Formal specification methods have also addressed interfaces and provided formal semantics to them. These semantics are always based on some forgetful and/or restriction constructions. The main focus has been laid on integrating these constructions with free or behaviourable constructions in order to provide some combined semantics for specification modules.
In this paper, we investigate the algebraic properties of “forgetting” and “restricting”. We define two different notions of model category for algebraic specification with explicit interface signatures, so-called interface specifications. The first one uses forgetful constructions only, the second one integrates the restriction to the part reachable by the interface.
We investigate closure properties of these categories w.r.t. subalgebras, products and directed limits. This analysis provides the first result, namely that interface specifications with Horn-axioms do not exceed the expressiveness of Horn-axiom specifications without interfaces. The inverse is more interesting. We show that each category specified by Horn-axioms can be specified by simple equations on possibly hidden operations. The constructive proof for this theorem leads to the next main result that every class specified by an interface specification with restriction semantics possesses an interface specification using forgetful semantics only.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ehrig, H., Kreowski, H.-J., Mahr, B., Padawitz, P.: Algebraic implementation of abstract data types. Theoret. Comp. Sci. 20, 209–263 (1982)
Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification 1: Equations and Initial Semantics. EATCS Monographs on Theoretical Computer Science, vol. 6. Springer, Heidelberg (1985)
Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification 2: Module Specifications and Constraints. EATCS Monographs on Theoretical Computer Science, vol. 21. Springer, Heidelberg (1990)
Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An initial algebra approach to the specification, correctness and implementation of abstract data types. IBM Research Report RC 6487 (1976); Also: Current Trends in Programming Methodology IV: Data Structuring, pp. 80–144. Prentice Hall, Englewood Cliffs (1978)
Gosling, J., Joy, B., Steele, G., Bracha, G.: The JavaTMLanguage Specification, 2nd edn. Addison-Wesley, Reading (2000)
Guttag, J.V.: The specification and application to programming of abstract data types. Ph.D. Thesis, University of Toronto (1975)
Herrlich, H., Strecker, G.E.: Category Theory, 2nd edn. Heldermann (1979)
Kreowski, H.-J.: Internal communication. TU-Berlin (1978)
Löwe, M.: Algebra 2, TU-Berlin. Technical Lecture Notes (1991) (in German)
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)
Thatcher, J.W., Wagner, E.G., Wright, J.B.: Data Type Specification. Parametrization and the Power of Specifiction Techniques. ACM Transactions on Programming Languages and Systems 4(4), 711–732 (1982)
Wechler, W.: Universal Algebra for Computer Scientists. Springer, Heidelberg (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Löwe, M., König, H., Schulz, C. (2005). Algebraic Properties of Interfaces. In: Kreowski, HJ., Montanari, U., Orejas, F., Rozenberg, G., Taentzer, G. (eds) Formal Methods in Software and Systems Modeling. Lecture Notes in Computer Science, vol 3393. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31847-7_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-31847-7_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24936-8
Online ISBN: 978-3-540-31847-7
eBook Packages: Computer ScienceComputer Science (R0)