Hostname: page-component-78c5997874-mlc7c Total loading time: 0 Render date: 2024-11-09T05:36:38.110Z Has data issue: false hasContentIssue false

Compositionality and compatibility of parameterization and parameter passing in specification languages

Published online by Cambridge University Press:  04 March 2009

Rosa M. Jiménez
Affiliation:
Departament de Lleng. i Sist. Informàtics, Universitat Politècnica de Catalunya
Fernando Orejas
Affiliation:
Departament de Lleng. i Sist. Informàtics, Universitat Politècnica de Catalunya
Hartmut Ehrig
Affiliation:
Department of Computer Science, Technical University of Berlin

Abstract

In this paper we continue previous work by Sannella, Sokolowski and Tarlecki on parameterization in specification languages. Within the loose approach, we define specification and model level semantics for two kinds of parameterizations (parameterized specifications and specifications of parameterized data types) and describe, in a compositional manner, parameter passing at both levels. Moreover, the specification and the model level semantics of parameter passing are shown to be compatible. We also show that the results obtained do not only apply to the loose approach but can also be directly applicable to the initial framework, and in general to any other kind of monomorphic framework (i.e., a framework where all specifications are monomorphic). In particular, the results obtained generalize and extend previous results for the initial approach. Finally, to obtain our results, new categorical constructions of multiple pushouts, amalgamations and extensions, which generalize standard notions of pushouts, amalgamations and extensions, had to be introduced.

Type
Research Article
Copyright
Copyright © Cambridge University Press 1995

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Baumeister, H. (1991) Unifying Initial and Loose Semantics of Parameterized Specifications in an Arbitrary Institution. Proceedings TAPSOFT 91, Brighton. Springer-Verlag Lecture Notes in Computer Science 493 103120.CrossRefGoogle Scholar
Bergstra, J. A., Heering, J. and Klint, P. (1990) Module Algebra. Journal of the ACM 37 (2) 335372.CrossRefGoogle Scholar
Burstall, R. M. and Goguen, J. A. (1980) The semantics of Clear, a specification language, Proceedings Copenhagen Winter School on Abstract Software Specification. Springer-Verlag Lecture Notes in Computer Science 86 292332.CrossRefGoogle Scholar
Burstall, R. M., Goguen, J. A. and Tarlecki, A. (1991) Some Fundmental Algebraic Tools for the Semantics of Computation, Part 3: Indexed Categories. Theor. Comp. Sci. 91 239264.Google Scholar
Enrich, H.-D. (1982) On the theory of specification, implementation and parameterization of abstract data types. Journal of the ACM 29 209277.Google Scholar
Ehrig, H. (1974) F-Morphisms. Math. Nachr. 7593.CrossRefGoogle Scholar
Ehrig, H. (1981) Algebraic theory of parameterized specifications with requirements, Proceedings 6th. CAAP. Springer-Verlag Lecture Notes in Computer Science 112 124.CrossRefGoogle Scholar
Ehrig, H., Baldamus, M., Cornelius, F., Orejas, F. (1991) Theory of Algebraic Module Specifications including Behavioural Semantics and Constraints. Proceedings AM AST ‘91.Google Scholar
Ehrig, H. (1989) A Categorical Concept of Constraints for Algebraic Specifications. In: Ehrig, H., Herrlich, H., Kreowski, H.-J. and Preuß, G. (eds.) Categorical Methods in Computer Science - with Aspects from Topology. Springer-Verlag Lecture Notes in Computer Science 393.CrossRefGoogle Scholar
Ehrig, H., Jimenez, R. M. and Orejas, F. (1993) Compositionality results for different types of parameterization and parameter passing in specification languages. Proceedings TAPSOFT 93 (Orsay). Springer-Verlag Lecture Notes in Computer Science 668 3145.CrossRefGoogle Scholar
Ehrig, H., Kreowski, H.-J., Thatcher, J., Wagner, E. and Wright, J. (1984). Parameter passing in algebraic specification languages. Theor. Comp. Sci. 28 4581.CrossRefGoogle Scholar
Ehrig, H. and Mahr, B. (1985) Fundamentals of Algebraic Specification 1. EATCS Monographs on Theoretical Computation Science, Springer-Verlag.CrossRefGoogle Scholar
Ehrig, H. and Mahr, B. (1990) Fundamentals of Algebraic Specification 2. EATCS Monographs on Theoretical Computation Science, Springer-Verlag.CrossRefGoogle Scholar
Ehrig, H., Pepper, P. and Orejas, F. (1989) On Recent Trends in Algebraic Specification. Proceedings ICALP’89. Springer-Verlag Lecture Notes in Computer Science 372 263288.CrossRefGoogle Scholar
Ehrig, H., Thatcher, J. W., Lucas, P. and Zilles, S. N. (1982) Denotational and initial algebra semantics of the algebraic specification language LOOK, Draft Report, IBM Research.Google Scholar
Ehrig, H., Wagner, E. G. and Thatcher, J. W. (1982) Algebraic constraints for specifications and canonical form results, Inst. für Software und Theor. Informatik, T.U. Berlin Bericht Nr. 82–09.Google Scholar
Ganzinger, H. (1983) Parameterized specifications: parameter passing and implementation with respect to observability. ACM Trans, on Prog. Lang, and Syst. 5 (3) 318354.CrossRefGoogle Scholar
Goguen, J. A. and Burstall, R. M. (1984) Introducing institutions. Proceedings Logics of Programming Workshop, Carnegie-Mellon. Springer-Verlag. Lecture Notes in Computer Science 164 221256.CrossRefGoogle Scholar
Goguen, J. A. and Burstall, R. M. (1992) Institutions: abstract model theory for specification and programming. Journal of the ACM 39 (1) 95146.CrossRefGoogle Scholar
Goguen, J. A., Thatcher, J. W. and Wagner, E. G. (1978) An initial algebra approach to the specification, correctness and implementation of abstract data types. IBM Report RC-6487, IBM T. J. Watson Research Center, Yorktown Heights. Also in: Yeh, R.T., (ed.) Current Trends in Programming Methodology, Vol. 4: Data Structuring, Prentice Hall 80149.Google Scholar
Lipeck, U. (1983) Ein algebraischer Kalkül für einen strukturierten Entwurf von Datenabstraktionen, Dissertation, Report 148, Univ. Dortmund.Google Scholar
Orejas, F. and Nivela, P. (1991) Constrants for Behavioural Specifications. In: Ehrig, H., Jantke, K. P., Orejas, F. and Reichel, H. (eds.) Recent Trends in Data Type Specification. Springer-Verlag Lecture Notes in Computer Science 534 220245.CrossRefGoogle Scholar
Orejas, F., Sacristán, V. and Clerici, S. (1989) Development of algebraic specifications with constraints. In: Ehrig, H., Herrlich, H., Kreowski, H.-J. and Preuß, G. (eds.) Categorical Methods in Computer Science-with Aspects from Topology. Springer-Verlag Lecture Notes in Computer Science 393.CrossRefGoogle Scholar
Reichel, H. (1980) Initially restricting algebraic theories. Proceedings MFCS 80. Springer-Verlag Lecture Notes in Computer Science 88 504514.CrossRefGoogle Scholar
Sannella, D., Sokolowski, S. and Tarlecki, A. (1991) Toward formal development of programs from algebraic specifications: parameterisation revisited. To appear in Acta Informatica.CrossRefGoogle Scholar
Sannella, D. and Tarlecki, A. (1989) Toward formal development of ML programs: foundations and methodology. Proceedings TAPSOFT 89. Springer-Verlag Lecture Notes in Computer Science 352 375389.CrossRefGoogle Scholar
Sannella, D. and Wirsing, M. (1982) Implementation of parameterised specifications. Proceedings 9th ICALP. Springer-Verlag Lecture Notes in Computer Science 140 473488.CrossRefGoogle Scholar
Sannella, D. and Wirsing, M. (1983) A kernel language for algebraic specification and implementation. Proceedings FCT-83. Springer-Verlag Lecture Notes in Computer Science 158 413427.CrossRefGoogle Scholar
Thatcher, J. W., Wagner, E. G. and Wright, J. B. (1982) Data type specification: parameterization and power of specification techniques. Trans. Prog. Lang, and Systems 4 711732.CrossRefGoogle Scholar
Wirsing, M. (1986) Structured algebraic specifications: a kernel language. Theor. Comp. Sci. 42 123249.CrossRefGoogle Scholar
Wirsing, M. (1990) Algebraic Specification. Handbook of Theoretical Computer Science, Vol. 2: Formal Models and Semantics, Elsevier 675788.Google Scholar