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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi, L. Lamport: Composing specifications. Digital Systems Research Center, SRC Report 66, October 1990.
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.
E. Astesiano, H.-J. Kreowski, B. Krieg-Brückner (eds.): Algebraic Foundations of Systems Specifications. Berlin: Springer, 1999.
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.
H. Baumeister: Relations between Abstract Datatypes modeled as Abstract Datatypes, PhD thesis, Universität Saarbrücken, 1999.
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.
W. Brauer: Automatentheorie, Teubner 1984.
M. Broy: Views of queues. Science of Computer Programming 11, pages 65–86, 1988.
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.
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.
M. Broy: The specification of system components by state transition diagrams. Technische Universität München, Institut für Informatik, TUM-I9729, Mai 1997.
M. Chandy, J. Misra: Parallel Program Design: A Foundation. Addison-Wesley, 1988.
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.
C.C. Elgot: Monadic computation and iterative algebraic theories. Proc. Logic Colloquium 73, pages 175–230, Amsterdam: North-Holland, 1975.
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.
M.-C. Gaudel: Correctness Proof of Programming Language Translation, pages 25–43. 1982.
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.
Y. Gurevich: Evolving Algebra 1993: Lipari Guide. In: E. Börger (ed.): Specification and Validation Methods. Oxford University Press 1995.
Y. Gurevich: Abstract state machines. In T. Rus (ed.): AMAST 2000, Iowa City, 2000, this volume.
D. Harel: A visual formalism for complex systems. Science of Computer Programming 8, pages 231–274, 1987.
R. Hettler: Entity/Relationship-Datenmodellierung in axiomatischen Spezifikationssprachen. Dissertation, TU München. Reihe Softwaretechnik, Marburg: Tectum Verlag, 1995.
C. A. R. Hoare: An axiomatic basis for computer programming. Comm. ACM 12, pages 576–583, 1969.
L. Lamport: The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16(3), pages 872–923, 1994.
N. Lynch, E. Stark: A proof of the Kahn principle for input/output automata. Information and Computation 82, pages 81–92. 1989.
B. Meyer: Object-Oriented Software Construction. Prentice Hall International, 1988.
Rational: The Unified Modeling Language, Version 1.3, Rational Software Corporation, http://www.rational.com, 1999.
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.
B. Selic, G. Gullekson, P.T. Ward: Real Time Object Oriented Modeling. Wiley & Sons, 1994.
B. Selic, J. Rumbaugh: Using UML for Modeling Complex Real-Time Systems. Rational Software Corporation & ObjecTime Ltd., 1998.
D. D’Souza, A.C. Wills: Objects, Components, Frameworks with UML: The Catalysis approach. Addison-Wesley,1998.
M. Wirsing: Algebraic Specification. Handbook of Theoretical Computer Science, Vol. B, pages 675–788, Amsterdam: North Holland, 1990.
J. Warmer, A. Kleppe: The Object Constraint Language: Precise Modeling with UML. Reading, Mass.: Addison-Wesley, 1999.
E. Astesiano, E. Zucca: D-oids: a model for dynamic data types. Mathematical Structures in Computer Science 5(2), pages 257–282, 1995.
CoFI Language Design Group: CASL-Summary (Version 1.0). http://www.brics.dk/Projects/CoFI/Documents/CASL/Summary, 1998.
K. Lano: Formal Object-Oriented Development. London: Springer, 1995.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Broy, M., Wirsing, M. (2000). Algebraic State Machines. In: Rus, T. (eds) Algebraic Methodology and Software Technology. AMAST 2000. Lecture Notes in Computer Science, vol 1816. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45499-3_9
Download citation
DOI: https://doi.org/10.1007/3-540-45499-3_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67530-3
Online ISBN: 978-3-540-45499-1
eBook Packages: Springer Book Archive