Skip to main content

Parameter passing in algebraic specification languages

  • Chapter 5 Submitted Papers
  • Conference paper
  • First Online:
Book cover Program Specification (ProgSpec 1981)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 134))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

9. Bibliography

  1. 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

    Google Scholar 

  2. J.W. Thatcher, E.G. Wagner, J.B. Wright: Specification of abstract data types using conditional axioms, IBM Research Report RC-6214, Sept. 1976

    Google Scholar 

  3. 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

    Google Scholar 

  4. 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

    Google Scholar 

  5. 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

    Google Scholar 

  6. Arbib, M.A., Manes, E.G.: Arrows, Structures and Functors: The categorical imperative, Academic Press, New York, 1975

    Google Scholar 

  7. Burstall, R.M., Goguen, J.A.: Putting Theories together to make Specifications, Proc. 1977 IJCAI, MIT, Cambridge, MA, Aug. 1977

    Google Scholar 

  8. —: Semantics of CLEAR, Working Note — Draft Version, Dept. of Artificial Intelligence, Edinburgh University, Jan. 1979

    Google Scholar 

  9. —: The Semantics of CLEAR, a Specification Language, Proc. 1979 Copenhagen Winter School on Abstract Software Specifications (1980), Lect. Not. in Comp. Sci. (1980)

    Google Scholar 

  10. Cohn, P.M.: Universal Algebra, Harper and Row, New York, 1965

    Google Scholar 

  11. Ehrich, H.-D.: On the theory of specification, implementation and parameterization of abstract data types, Research Report Dortmund 1978

    Google Scholar 

  12. 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

    Google Scholar 

  13. Ehrig, H.: Algebraic Theory of Parameterized Specifications with Requirements, Proc. 6th CAAP, Genova 81, Lect. Not. in Comp. Sci. 112 (1981), pp. 1–24

    Google Scholar 

  14. Ehrig, H., Fey, W.: Methodology for the specification of software systems: From requirement specifications to algebraic design specifications, Proc. GI 81, München

    Google Scholar 

  15. Ehrig, H., Kreowski, H.-J.: Kategorien und Funktoren, LV-Skript SS 1980, FB 20, TU Berlin (1980)

    Google Scholar 

  16. 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

    Google Scholar 

  17. —: 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

    Google Scholar 

  18. —: 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

    Google Scholar 

  19. Fey, W.: Some Examples of Algebraic Specifications and Implementation, Part 4, Technical University of Berlin, Report No. 81-, 1981

    Google Scholar 

  20. Floyd, Ch.: Proc. 2nd German Chapter of The ACM-Meeting "Software Engineering — Entwurf und Spezifikation" (editor), Teubner Verlag 1981

    Google Scholar 

  21. Ganzinger, H.: Parameterized Specifications: Parameter Passing and Implementation, version Sept. 1980, to appear in TOPLAS

    Google Scholar 

  22. —: A final algebra semantics for parameterized specifications, draft version, UC Berkeley, November 1980

    Google Scholar 

  23. Goguen, J.A., Tardo, J.: OBJ-O preliminary users manual; UCLA, Los Angeles, CA., 1977

    Google Scholar 

  24. Graetzer, G.: Universal Algebra, Van Nostrand, Princeton, N.J. 1968

    Google Scholar 

  25. 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

    Google Scholar 

  26. —: Abstract data types and the development of data structures; supplement to Proc. Conf. on Data Abstraction, Definition, and Structure, SIGPLAN Notices 8, March 1976

    Google Scholar 

  27. 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

    Google Scholar 

  28. Herrlich, H., Strecker, G.: Category Theory, Allyn and Bacon, Rockleigh 1973

    Google Scholar 

  29. Hupbach, U.L.: Abstract Implementation and Parameter Substitution, submitted to 3rd Hungarian Comp. Sci. Conf., Budapest 1981

    Google Scholar 

  30. Jenks, R.D.: MODLISP: An Introduction, Lect. Not. in Comp. Sci. 72 (1979), pp. 466–480, new version in preparation

    Google Scholar 

  31. Jenks, R.D., Trager, M.B.: A language for computer algebra, Proc. 1981 ACM Symp. on Symbolic and Algebraic Computation, August, 1981

    Google Scholar 

  32. Klaeren, H.A.: On Parameterized Abstract Software Modules using Inductively Specified Operations, Research Report TH Aachen Nr. 66, (1980)

    Google Scholar 

  33. Kreowski, H.-J.: Algebra für Informatiker; LV-Skript WS 78/79, FB 20, TU Berlin (1978)

    Google Scholar 

  34. Liskov, B., Snyder, A., Atkonson, R., Schaffert, C.: Abstraction Mechanisms in CLU; CACM 20, Nr. 8 (1977), pp. 564–576

    Google Scholar 

  35. Liskov, B., Zilles, St.: Programming with abstract data types; SIGPLAN Notices 9, Nr. 4 (1977), pp. 50–59

    Google Scholar 

  36. MacLane, S.: Categories for the Working Mathematician; Springer Verlag, New York/Heidelberg/Berlin 1971

    Google Scholar 

  37. Reichel, H.: Initially Restricting Algebraic Theories, Proc. MFCS'80, Rydzyna, Sept. 1980, Lect. Not. in Comp. Sci. 88 (1980), pp. 504–514

    Google Scholar 

  38. Scott, D.: Mathematical concepts in programming language semantics; Proc. AFIPS Spring Joint Comp. Conf., 1962, pp.225–234

    Google Scholar 

  39. 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

    Google Scholar 

  40. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jørgen Staunstrup

Rights and permissions

Reprints 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

Publish with us

Policies and ethics