Advertisement

Algebraic State Machines

  • Manfred Broy
  • Martin Wirsing
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1816)

Abstract

We introduce the concept of an algebraic state machine. This is a state transition machine all parts of that are described by algebraic and logical means. This way we base the description of state transition systems exclusively on the concept of algebraic specifications. Also the state of an algebraic state machine is represented by an algebra. In particular, we describe the state spaces of the state machine by algebraic techniques, and the state transitions by special axioms called transition rules. Then we show how known concepts from algebraic specifications can be used to provide a notion of parallel composition with asynchronous interaction for algebraic state machines. As example we introduce a notion of object-oriented component and show how algebraic state machines can formalize such components.

Keywords

State Machine Function Symbol Class Diagram Output Channel Input Channel 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    M. Abadi, L. Lamport: Composing specifications. Digital Systems Research Center, SRC Report 66, October 1990.Google Scholar
  2. 2.
    D. Ancona, M. Cerioli, E. Zucca: A formal framework with late binding. In J.P. Finance (ed.): Fundamental Approaches to Software Engineering, FASE’ 99, Lecture Notes in Computer Science 1577, pages 30–44, Berlin: Springer, 1999.Google Scholar
  3. 3.
    E. Astesiano, H.-J. Kreowski, B. Krieg-Brückner (eds.): Algebraic Foundations of Systems Specifications. Berlin: Springer, 1999.Google Scholar
  4. 4.
    H. Baumeister: Relations as abstract datatypes: An institution to specify relations between algebras. In TAPSOFT’ 95, Lecture Notes in Computer Science 915, pages 756–771, Arhus, Denmark, May 1995. Springer.Google Scholar
  5. 5.
    H. Baumeister: Relations between Abstract Datatypes modeled as Abstract Datatypes, PhD thesis, Universität Saarbrücken, 1999.Google Scholar
  6. 6.
    E. Börger: Why use evolving algebras for hardware and software Engineering. In: M. Bartosek, J. Standek, J. Wiedermann (eds): SOFSEM’ 95, 22nd Seminar on Current Trends in Theory and Practice of Informatics. Lecture Notes of Computer Science 1012, pages, 235–271. Springer, Berlin, 1995.Google Scholar
  7. 7.
    W. Brauer: Automatentheorie, Teubner 1984.Google Scholar
  8. 8.
    M. Broy: Views of queues. Science of Computer Programming 11, pages 65–86, 1988.Google Scholar
  9. 9.
    M. Broy: Mathematics of software engineering. Invited talk at MPC 95. In: B. Möller (ed.): Mathematics of Program Construction, July 1995, Kloster Irsee, Lecture Notes of Computer Science 947, pages, 18–47. Springer, Berlin, 1995.Google Scholar
  10. 10.
    M. Broy: Mathematical system models as a basis of software engineering. J. van Leeuwen (ed.): Computer Science Today. Lecture Notes of Computer Science 1000, pages, 292–306. Springer, Berlin, 1995.CrossRefGoogle Scholar
  11. 11.
    M. Broy: The specification of system components by state transition diagrams. Technische Universität München, Institut für Informatik, TUM-I9729, Mai 1997.Google Scholar
  12. 12.
    M. Chandy, J. Misra: Parallel Program Design: A Foundation. Addison-Wesley, 1988.Google Scholar
  13. 13.
    P. Dauchy: Développement et exploitation d’une spécification algébrique du logiciel embarqué d’un métro. Thèse, Université de Paris-Sud, Orsay 1992.Google Scholar
  14. 14.
    C.C. Elgot: Monadic computation and iterative algebraic theories. Proc. Logic Colloquium 73, pages 175–230, Amsterdam: North-Holland, 1975.Google Scholar
  15. 15.
    H. Ganzinger: Denotational semantics for languages with modules. In: D. Björner (ed.): TC2 Working Conference of Formal Description of Programming Concepts II, pages, 3–21. Garmisch, 1982.Google Scholar
  16. 16.
    M.-C. Gaudel: Correctness Proof of Programming Language Translation, pages 25–43. 1982.Google Scholar
  17. 17.
    M.-C. Gaudel, C. Khoury, A. Zamulin: Dynamic systems with implicit state. In J.P. Finance (ed.): Fundamental Approaches to Software Engineering, FASE’ 99, Lecture Notes in Computer Science, pages, 114–128. Berlin: Springer, 1999.Google Scholar
  18. 18.
    Y. Gurevich: Evolving Algebra 1993: Lipari Guide. In: E. Börger (ed.): Specification and Validation Methods. Oxford University Press 1995.Google Scholar
  19. 19.
    Y. Gurevich: Abstract state machines. In T. Rus (ed.): AMAST 2000, Iowa City, 2000, this volume.Google Scholar
  20. 20.
    D. Harel: A visual formalism for complex systems. Science of Computer Programming 8, pages 231–274, 1987.Google Scholar
  21. 21.
    R. Hettler: Entity/Relationship-Datenmodellierung in axiomatischen Spezifikationssprachen. Dissertation, TU München. Reihe Softwaretechnik, Marburg: Tectum Verlag, 1995.Google Scholar
  22. 22.
    C. A. R. Hoare: An axiomatic basis for computer programming. Comm. ACM 12, pages 576–583, 1969.Google Scholar
  23. 23.
    L. Lamport: The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16(3), pages 872–923, 1994.CrossRefGoogle Scholar
  24. 24.
    N. Lynch, E. Stark: A proof of the Kahn principle for input/output automata. Information and Computation 82, pages 81–92. 1989.Google Scholar
  25. 25.
    B. Meyer: Object-Oriented Software Construction. Prentice Hall International, 1988.Google Scholar
  26. 26.
    Rational: The Unified Modeling Language, Version 1.3, Rational Software Corporation, http://www.rational.com, 1999.
  27. 27.
    M. Broy, C. Facchi, R. Hettler, H. Hußmann, D. Nazareth, F. Regensburger, O. Slotosch, K. Stølen: The Requirement and Design Specification Language SPectrum. An Informal Introduction. Version 1.0. Part I/II Technische Universität München, Institut für Informatik, TUM-I9311 / TUM-I9312, May 1993.Google Scholar
  28. 28.
    B. Selic, G. Gullekson, P.T. Ward: Real Time Object Oriented Modeling. Wiley & Sons, 1994.Google Scholar
  29. 29.
    B. Selic, J. Rumbaugh: Using UML for Modeling Complex Real-Time Systems. Rational Software Corporation & ObjecTime Ltd., 1998.Google Scholar
  30. 30.
    D. D’Souza, A.C. Wills: Objects, Components, Frameworks with UML: The Catalysis approach. Addison-Wesley,1998.Google Scholar
  31. 31.
    M. Wirsing: Algebraic Specification. Handbook of Theoretical Computer Science, Vol. B, pages 675–788, Amsterdam: North Holland, 1990.Google Scholar
  32. 32.
    J. Warmer, A. Kleppe: The Object Constraint Language: Precise Modeling with UML. Reading, Mass.: Addison-Wesley, 1999.Google Scholar
  33. 33.
    E. Astesiano, E. Zucca: D-oids: a model for dynamic data types. Mathematical Structures in Computer Science 5(2), pages 257–282, 1995.zbMATHMathSciNetCrossRefGoogle Scholar
  34. 34.
    CoFI Language Design Group: CASL-Summary (Version 1.0). http://www.brics.dk/Projects/CoFI/Documents/CASL/Summary, 1998.
  35. 35.
    K. Lano: Formal Object-Oriented Development. London: Springer, 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Manfred Broy
    • 1
  • Martin Wirsing
    • 2
  1. 1.Institut für InformatikTechnische Universität MünchenMünchenGermany
  2. 2.Institut für InformatikLudwig-Maximilians-Universität MünchenMünchenGermany

Personalised recommendations