Language Independent Container Specification

  • Alexandre V. Zamulin
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1766)


An approach to the specification of STL components in terms of mutable objects is proposed in the paper. The approach is based on considering an object update as a transition from one algebra of a given signature to another of the same signature. Each object (iterator, container) belongs to a definite object type and possesses a state and a unique identifier represented by a typed address. Iterators are divided in different iterator categories. Containers are collections of iterators of the corresponding category. Transition rules of an Abstract State Machine are used as a means of container specification.


generic programming standard template library formal methods abstract state machines object types transition rules 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    ISO/IEC FDIS 14882. International Standard for the C++ Programming Language. American National Standards Institute (ANSI), X3 Secretariat, 1250 Eye Street NW, Suite 200, Washington, DC 20005, 1998.Google Scholar
  2. 2.
    D. R. Musser and A. Saini. STL Tutorial and Reference Guide. Addison-Wesley, 1996.Google Scholar
  3. 3.
    M. Wirsing. Algebraic Specifications. Handbook of Theoretical Computer Science, Elsevier Science Publishers B.V., 1990, pp. 665–788.Google Scholar
  4. 4.
    Y. Gurevich. Evolving Algebras 1993: Lipary Guide. In: Börger, E., ed., Specification and Validation Methods, Oxford University Press, 1995, pp. 9–36.Google Scholar
  5. 5.
    Y. Gurevich. May 1997 Draft of the ASM Guide. University of Michigan (available electronically from
  6. 6.
    A. V. Zamulin. Typed Gurevich Machines Revisited. Joint NCC&ISS Bull., Comp. Science, 5 (1997), pp. 1–26 (available electronically from Scholar
  7. 7.
    A. V. Zamulin. Object-Oriented Abstract State Machines. Proc. ASM workshop, Magderburg, Germany, 21–22 September, 1998, pp. 1–21 (available electronically from
  8. 8.
    M. Abadi and L. Cardelli. A Theory of Objects. Springer-Verlag, 1996.Google Scholar
  9. 9.
    P. Wadler and S. Blott. How to make ad-hoc polymorphism less ad-hoc. Conf. Record of the 16th ACM Annual Symp. on Principles of Progr. Lang., Austin, Texas, January 1989.Google Scholar
  10. 10.
    F. Parisi-Presicce and A. Pierantonio. Dynamic Behavior of Object Systems. In: Recent trends in Data Type Specification. LNCS, vol. 906, 1995, pp. 406–419.CrossRefGoogle Scholar
  11. 11.
    E. H. Dürr and J. van Katwijk. A Formal Specification Language for Object Oriented Designs. In: Computer Systems and Engineering (Proceedings of CompEuro 92). IEEE Computer Society Press, 1992, pp. 214–219.Google Scholar
  12. 12.
    R. Duke, P. King, G.A. Rose, and G. Smith. The Object-Z specification language. In: T. Korson, V. Vaishnavi, and B. Meyer, eds., Technology of Object-Oriented Languages and Systems: TOOLS 5, Prentice Hall, 1991, pp. 465–483.Google Scholar
  13. 13.
    K. Lano and H. Houghton, eds., Object-Oriented Specification Case Studies. Prentice Hall (Object-Oriented Series), 1994.Google Scholar
  14. 14.
    K. Lano and H. Houghton. The Z++ manual. October 1994. Available from
  15. 15.
    T. Hartmann, G. Saake, R. Jungclaus, P. Hartel, and J. Kush. Revised Version of the Modelling Language TROLL. Technische Universität Braunschweig, Informatik-Berichte 94-03, 1994.Google Scholar
  16. 16.
    M. Gogolla and R. Herzig. An Algebraic Semantics for the Object Specification Language TROLL-light. In: Recent Trends in Data Type Specifications, LNCS, vol. 906, 1995, pp. 290–306.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Alexandre V. Zamulin
    • 1
  1. 1.Institute of Informatics SystemsSiberian Division of the Russian Academy of SciencesNovosibirskRussia

Personalised recommendations