Skip to main content
Log in

Transition Specifications for Dynamic Abstract Data Types

  • Published:
Applied Categorical Structures Aims and scope Submit manuscript

Abstract

Transition specifications extend algebraic specifications by a notion of states and state transitions, introducing a second dynamic layer on abstract data types. This makes possible a reduction of complex specifications by the introduction of an explicit system state, a formal comparison of algebraic specifications and imperative algorithms, and the specification of input/output and other communication features. States are modelled as partial algebras that extend a given algebra by an environment, that is, a partial function that assigns contents to references. State transitions are specified by conditional parallel assignments, analoguous to the conditional existence equations of partial equational specifications. A framework of transition specifications is developed, including initial model semantics, parameterization and general composition mechanisms, and a notion of model correctness. Examples from programming languages show the applicability of the approach.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ancona, D., Astesiano, E. and Zucca, E.: Towards a classification of inheritance relations, in Proc. International Workshop on Information Systems — Correctness and Reusability, ISCORE'93, Informatik Berichte, No. 01/93, Universität Hannover, 1993, pp. 90–113.

  2. Astesiano, E. and Zucca, E.: A semantic model for dynamic systems, in Springer Workshops in Computing, 1992/93, pp. 63–80.

  3. Astesiano, E. and Zucca, E.: D-oids: A model for dynamic data types, Math. Struct, in Comp. Sci. 5(2) (1995), 257–282.

    Google Scholar 

  4. Burstall, R. M. and Goguen, J. A.: The semantics of CLEAR, a specification language, in D Bjøner (ed.), Abstract Software Specification, Proc. 1979 Copenhagen Winter School, LNCS 86, Springer, 1980, pp. 292–332.

  5. Chandy, K. M. and Misra, J.: Parallel Program Design — A Foundation, Addison-Wesley, 1988.

  6. Claßen, I.: Compositionality of application oriented structuring mechanisms for algebraic specification languages with initial semantics, PhD thesis, Technische Universität Berlin, 1993.

    Google Scholar 

  7. Claßen, I., Große-Rhode, M. and Wolter, U.: Categorical concepts for parameterized partial specifications, Math. Struct. in Comp. Science 5(2) (1995), 153–188.

    Google Scholar 

  8. Claßen, I., Ehrig, H. and Wolz, D.: Algberaic Specification Techniques and Tools for Software Development — The ACT Approach, AMAST Series in Computing, Vol. 1, World Scientific, 1993.

  9. Dauchy, P.: Développement et exploitation d'une specification algébrique du logiciel embarqué d'un métro, PhD thesis, Université de Paris-Sud, 1992.

  10. Dauchy, P., Gaudel, M. C. and Marre, B.: Using algebraic specifications in software testing: a case study on the software of an automatic subway, Journal of Systems and Software 21(3) (1993), 229–244.

    Google Scholar 

  11. Dauchy, P. and Gaudel, M. C.: Algebraic Specifications with Implicit States, Tech. Report, Univ. Paris Sud, 1994.

  12. Dauchy, P. and Marre, B.: Test data selection from algebraic specifications: application to an automatic subway module, in 3rd European Software Engineering Conference, ESEC'91, LNCS 550, 1991.

  13. Ehrig, H., Löwe, M. and Orejas, F.: Dynamic abstract data types based on algebraic graph transformations, in ADT-Workshop'94, LNCS 906, Springer-Verlag, 1995, pp. 236–254.

  14. Ehrig, H. and Mahr, B.: Fundamentals of Algebraic Specification 1: Equations and Initial Semantics, Vol. 6 of EATCS Monographs on Theoretical Computer Science, Springer, Berlin, 1985.

    Google Scholar 

  15. Ehrig, H. and Orejas, F.: Dynamic abstract data types: An informal proposal, Bull. EATCS 53 (1994).

  16. Ehrig, H. and Padberg, J.: Linking dynamic abstract datatypes with algebraic high-level nets, Bull. EACTS 54 (1994).

  17. Große-Rhode, M.: Specification of Transition Categories — An Approach to Dynamic Abstract Data Types, PhD thesis, TU Berlin, 1995.

  18. Gurevich, Y.: Algorithms in the world of bounded resources, in R. Herken (ed.), The Universal Turing Machine — a Half-Century Story, Oxford University Press, 1988, pp. 407–416.

  19. Gurevich, Y.: Logic and the challenge of computer science, in E. Börger (ed.), Trends in Theoretical Computer Science, Computer Science Press, 1988, pp. 1–57.

  20. Gurevich, Y.: Evolving algebras, a tutorial introduction, Bull. EATCS 43 (1991), 264–284.

    Google Scholar 

  21. Lloyd, J.: Current theoretical issues in logic programming (abstract), Bull. EATCS 39(211), (1989).

  22. Meyer, B.: Object-Oriented Software Construction, Prentice Hall International, 1988.

  23. Reichel, H.: Initial Computability, Algebraic Specifications, and Partial Algebras, Oxford University Press, Oxford, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Große-Rhode, M. Transition Specifications for Dynamic Abstract Data Types. Applied Categorical Structures 5, 265–308 (1997). https://doi.org/10.1023/A:1008641804822

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008641804822

Navigation