Skip to main content

Algebraic specifications with generating constraints

  • Conference paper
  • First Online:

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

Abstract

In this paper we take a new look at one of the basic principles of abstract data types. Due to this principle the domain of an abstract data type must be generated by the operations. In the initial algebraic approach as well as in the loose case with initial restrictions or data constraints this principle is satisfied because of initiality resp. free construction. Actually initiality makes sure that the data under consideration are not only generated but even freely generated by the operations. In this paper we do not consider free generation but only generation leading to the new concept of algebraic specifications with generating constraints.

This new look was also motivated by the notion of hierarchy constraints, introduced by the CIP-group in Munich, but there are two main differences between hierarchy and generating constraints: First of all we remove the consistency condition “TRUE≠FALSE” for bool. This part of hierarchy constraints can be expressed (if necessary) in the axiom part of the specifications. Secondly we give a mechanism how to construct generating constraints and how to translate or reflect them from one part of a specification to other parts. More precisely we define syntax and semantics of a language building up generating constraints together with the stepwise construction of an algebraic specification. The main result of this paper shows how an arbitrary generating constraint built up in this way can be transformed to a very simple constraint in canonical form which is equivalent to the given one. Equivalence of two generating constraints on the same algebraic specification means that they have the same semantics, i.e. they define the same class of algebras.

Finally we discuss how concepts and results of this paper could be used for the design of algebraic specification languages where not only the specifications but also the constraints are built up in a stepwise way.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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, Oct. 76, Current Trends in Progr. Method., IV: Data Structuring (R.T. Yeh, Ed.) Prentice Hall, New Jersey (1978), 80–149

    Google Scholar 

  2. -, Wright, J.B.: Initial algebra semantics and continous algebras, J.ACM 24, 68–95 (1977)

    Google Scholar 

  3. Thatcher, J.W., Wagner, E.G., Wright, J.B.: More on advice on structuring compilers and proving them correct, TCS 15 (1981), 223–249

    Google Scholar 

  4. Ehrig, H., Kreowski, H.-J., Thatcher, J.W., Wagner, E.G., Wright, J.B.: Parameter Passing in Algebraic Specification Languages, Proc. Aarhus Workshop on Prog. Spec., 1981, LNCS 134 (1982), 322–369

    Google Scholar 

  5. Broy, M., Dorsch, N., Partsch, H., Pepper, P., Wirsing, M.: Existential quantifiers in abstract data types; Proc. 6th ICALP, LNCS 71, 73–87 (1979)

    Google Scholar 

  6. Burstall, R., Goguen, J.: The semantics of CLEAR, a Specification Language, Proc. Advanced Course on Abstr. Software Spec., LNCS 86 (1980), 294–332

    Google Scholar 

  7. Bloom, S.L., Wagner, E.G.: Many sorted theories and their algebras, with examples from Comp. Sci. (working paper), IBM Research Center, 1982

    Google Scholar 

  8. Ehrich, H.-D.: On the theory of specification, implementation and parameterization of abstract data types, J. ACM 29, No.1 (1982), 206–227

    Google Scholar 

  9. Ehrig, H.: Parameterized Specifications with Requirements, Proc. CAAP'81, LNCS 112 (1981), 1–24

    Google Scholar 

  10. Ehrig, H., Fey, W., Hansen, H.: ACT ONE: An Algebraic Specification Language with Two Levels of Semantics, Techn. Report TU Berlin, No. 83-03, 1983

    Google Scholar 

  11. Ehrig, H., Kreowski, H.-J., Padawitz, P.: Algebraic Implementation of Abstract Data Types: Concept, Syntax, Semantics and Correctness, Proc. 7th ICALP, LNCS 85 (1980), 142–156; long version to appear in TCS

    Google Scholar 

  12. Ehrig, H., Kreowski, H.-J.: Parameter Passing Commutes with Implementation of Parameterized Data Types, Proc. 9th ICALP, LNCS 140 (1982), 197–211

    Google Scholar 

  13. Ehrig, H., Thatcher, J., Lucas, P., Zilles, S.: Denotational and initial algebra semantics of the algebraic specification language LOOK (draft paper), IBM Research Center (1982)

    Google Scholar 

  14. Ehrig, H., Wagner, E.G., Thatcher, J.W.: Algebraic Constraints for Specifications and Canonical Form Results, Techn.Report TU Berlin, No. 82-09, 1982

    Google Scholar 

  15. Guttag, J.V.: The specification and application to programming of abstract data types, Univ. Toronto, Techn.Report CSRG-59, (1975)

    Google Scholar 

  16. Hupbach, U.L., Kaphengst, M., Reichel, H.: Initial algebraic specifications of data types, parameterized data types and algorithms, VEB Robotron ZFT, Techn. Report, Dresden, 1980

    Google Scholar 

  17. Lipeck, U.: Ein algebraischer Kalkül für einen strukturierten Entwurf von Datenabstraktionen, PhD Thesis, Univ. Dortmund, 1982

    Google Scholar 

  18. Liskov, B.H., Zilles, S.N.: Specification Techniques for Data Abstraction, IEEE Trans.on Soft.Eng., Vol.SE-1, No.1 (1975),7–19

    Google Scholar 

  19. Sanella, D., Wirsing, M.: Implementation of parameterized specifications, Proc. 9th ICALP, LNCS 140 (1982), 473–488

    Google Scholar 

  20. Wagner, E.G., Ehrig, H., Bloom, S.: Parameterized data types, parameter passing and canonical constraints (working paper) IBM Research Center (1982)

    Google Scholar 

  21. Zilles, S.N.: Algebraic specifications of data types, Project MAC Prog. Rep. 11, MIT (1974), 52–58

    Google Scholar 

  22. Zilles, S.N., Lucas, P., Thatcher, J.W.: A look at algebraic specifications, IBM Research Report RJ 3568, 1982

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Josep Diaz

Rights and permissions

Reprints and permissions

Copyright information

© 1983 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ehrig, H., Wagner, E.G., Thatcher, J.W. (1983). Algebraic specifications with generating constraints. In: Diaz, J. (eds) Automata, Languages and Programming. ICALP 1983. Lecture Notes in Computer Science, vol 154. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0036909

Download citation

  • DOI: https://doi.org/10.1007/BFb0036909

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-12317-0

  • Online ISBN: 978-3-540-40038-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics