Abstract
In this paper we study the semantics of the parameter passing mechanism in algebraic specification languages. More precisely, this problem is studied for parameterized data types and parameterized specifications. The given results include the extension of the model functor (which is useful for correctness proofs) and the semantic properties of the result of inserting actual parameters into parameterized specifications. In particular, actual parameters can be parameterized and the result is nested parameterized specification. Correctness of an applied (matrix (int)) or a nested (bintree (string ())) parameterized specification is shown given correctness of the parts. The formal theory in this paper is restricted to the basic algebraic case where only equations are allowed in the parameter declaration and parameter passing is given by specification morphisms. But we also give the main ideas of a corresponding theory with requirements where we allow different kinds of restrictions in the parameter declaration.
Preview
Unable to display preview. Download preview PDF.
9. Bibliography
J.A. Goguen, J.W. Thatcher, E.G. Wagner, J.B. Wright: Abstract data types as initial algebras and correctness of data representations; Proc. Conf. on Computer Graphics, Pattern Recognition and Data Structure, May 75, pp. 89–93
J.W. Thatcher, E.G. Wagner, J.B. Wright: Specification of abstract data types using conditional axioms, IBM Research Report RC-6214, Sept. 1976
J.A. Goguen, J.W. Thatcher, E.G. Wagner: An initial algebra appraoch to the specification, correctness, and implementation of abstract data types, IBM Research Report RC-6487, Oct. 1976. Current Trends in Programming Methodology, IV: Data Structuring (R.T. Yeh,Ed.) Prentice Hall, New Jersey (1978), pp. 80–149
J.W. Thatcher, E.G. Wagner, J.B. Wright: Data Type Specification: parameterization and the power of specification techniques, Proc. SIGACT 10th Annual Symp. on Theory of Computing, May 1978, pp. 119–132
H. Ehrig, H.-J. Kreowski, J.W. Thatcher, E.G. Wagner, J.B. Wright: Parameterized data types in algebraic specification languages (short version), Proc. 7th ICALP Nordwijkerhout, July 1980: Lect. Not. in Comp. Sci. 85 (1980), pp. 157–168
Arbib, M.A., Manes, E.G.: Arrows, Structures and Functors: The categorical imperative, Academic Press, New York, 1975
Burstall, R.M., Goguen, J.A.: Putting Theories together to make Specifications, Proc. 1977 IJCAI, MIT, Cambridge, MA, Aug. 1977
—: Semantics of CLEAR, Working Note — Draft Version, Dept. of Artificial Intelligence, Edinburgh University, Jan. 1979
—: The Semantics of CLEAR, a Specification Language, Proc. 1979 Copenhagen Winter School on Abstract Software Specifications (1980), Lect. Not. in Comp. Sci. (1980)
Cohn, P.M.: Universal Algebra, Harper and Row, New York, 1965
Ehrich, H.-D.: On the theory of specification, implementation and parameterization of abstract data types, Research Report Dortmund 1978
Ehrich, H.-D., Lohberger, V.G.: Constructing Specifications of Abstract Data Types by Replacements, Proc. Int. Workshop Graph Grammars and Appl. Com. Sci. and Biology, Bad Honnef 1978, Lect. Not. in Comp. Sci. 73 (1979), pp. 180–191
Ehrig, H.: Algebraic Theory of Parameterized Specifications with Requirements, Proc. 6th CAAP, Genova 81, Lect. Not. in Comp. Sci. 112 (1981), pp. 1–24
Ehrig, H., Fey, W.: Methodology for the specification of software systems: From requirement specifications to algebraic design specifications, Proc. GI 81, München
Ehrig, H., Kreowski, H.-J.: Kategorien und Funktoren, LV-Skript SS 1980, FB 20, TU Berlin (1980)
Ehrig, H., Kreowski, H.-J., Padawitz, P.: Some remarks concerning correct specification and implementation of abstract data types: Technical University of Berlin, Report 77-13, August 1977
—: Stepwise specification and implementation of abstract data types: Technical University of Berlin, Report, Nov. 1977 Proc. 5th ICALP, Udine, July 1978: Lect. Not. in Comp. Sci. 62 (1978), pp. 205–226
—: Algebraic Implementation of Abstract Data Types: Concept, Syntax, Semantics, Correctness; Proc. 7th ICALP, Nordwijkerhout, July 1980, Lect. Notes in Comp. Sci. 85 (1980), pp. 142–156
Fey, W.: Some Examples of Algebraic Specifications and Implementation, Part 4, Technical University of Berlin, Report No. 81-, 1981
Floyd, Ch.: Proc. 2nd German Chapter of The ACM-Meeting "Software Engineering — Entwurf und Spezifikation" (editor), Teubner Verlag 1981
Ganzinger, H.: Parameterized Specifications: Parameter Passing and Implementation, version Sept. 1980, to appear in TOPLAS
—: A final algebra semantics for parameterized specifications, draft version, UC Berkeley, November 1980
Goguen, J.A., Tardo, J.: OBJ-O preliminary users manual; UCLA, Los Angeles, CA., 1977
Graetzer, G.: Universal Algebra, Van Nostrand, Princeton, N.J. 1968
Guttag, J.V.: The specification and application to programming of abstract data types; Univ. of Toronto, Comp. Systems Research Group, Technical Report CSRG-59, Sept. 1975
—: Abstract data types and the development of data structures; supplement to Proc. Conf. on Data Abstraction, Definition, and Structure, SIGPLAN Notices 8, March 1976
Hornung, G., Raulefs, P.: Initial and Terminal Algebra Semantics of Parameterized Abstract Data Type Specification with Inequalities, Proc. 6th CAAP, Genova 81, Lect. Not. in Comp. Sci. 112 (1981), pp. 224–237
Herrlich, H., Strecker, G.: Category Theory, Allyn and Bacon, Rockleigh 1973
Hupbach, U.L.: Abstract Implementation and Parameter Substitution, submitted to 3rd Hungarian Comp. Sci. Conf., Budapest 1981
Jenks, R.D.: MODLISP: An Introduction, Lect. Not. in Comp. Sci. 72 (1979), pp. 466–480, new version in preparation
Jenks, R.D., Trager, M.B.: A language for computer algebra, Proc. 1981 ACM Symp. on Symbolic and Algebraic Computation, August, 1981
Klaeren, H.A.: On Parameterized Abstract Software Modules using Inductively Specified Operations, Research Report TH Aachen Nr. 66, (1980)
Kreowski, H.-J.: Algebra für Informatiker; LV-Skript WS 78/79, FB 20, TU Berlin (1978)
Liskov, B., Snyder, A., Atkonson, R., Schaffert, C.: Abstraction Mechanisms in CLU; CACM 20, Nr. 8 (1977), pp. 564–576
Liskov, B., Zilles, St.: Programming with abstract data types; SIGPLAN Notices 9, Nr. 4 (1977), pp. 50–59
MacLane, S.: Categories for the Working Mathematician; Springer Verlag, New York/Heidelberg/Berlin 1971
Reichel, H.: Initially Restricting Algebraic Theories, Proc. MFCS'80, Rydzyna, Sept. 1980, Lect. Not. in Comp. Sci. 88 (1980), pp. 504–514
Scott, D.: Mathematical concepts in programming language semantics; Proc. AFIPS Spring Joint Comp. Conf., 1962, pp.225–234
Wirsing, M., Broy, M.: Abstract Data Types as Lattices of Finitely Generated Models, Proc. MFCS'80, Rydzyna, Sept. 1980, Lect. Not. in Comp. Sci. 88 (1980), pp. 673–685
Wulf, W.A., London, R.L., Shaw, M.: An introduction to the construction and verification of Alphard programs: IEEE Transactions on Software Engineering SE 24 (1976), pp. 253–265
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1982 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ehrig, H., Kreowski, HJ., Thatcher, J., Wagner, E., Wright, J. (1982). Parameter passing in algebraic specification languages. In: Staunstrup, J. (eds) Program Specification. ProgSpec 1981. Lecture Notes in Computer Science, vol 134. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-11490-4_21
Download citation
DOI: https://doi.org/10.1007/3-540-11490-4_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-11490-1
Online ISBN: 978-3-540-39176-0
eBook Packages: Springer Book Archive