A Design Pattern for State Machines and Concurrent Activities

  • Bo I. Sandén
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2043)


State machines are used to design real-time software controlling anything from household devices to spacecraft. They are also a standard way of describing the life of an object in object-oriented analysis and design. This paper presents a pattern for the implementation of state machines and associated activities by means of tasks and protected objects. It is a refinement of earlier work on a state-machine pattern and part of a set of concurrent design patterns based on the entity-life modeling design philosophy.


State Machines Entity-Life Modeling Design Patterns Protected Objects 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    G. Booch, Object-oriented development. IEEE TSE, 12(2), Feb. 1986, 211–221.Google Scholar
  2. 2.
    D. Budgen, Software Design. Addison-Wesley 1993Google Scholar
  3. 3.
    B. Dobbing, A. Burns, The Ravenscar tasking profile for high integrity real-time programs, Proc. SIGAda’ 98, Ada Letters XVIII:6 (Nov./Dec. 1998) 1–6CrossRefGoogle Scholar
  4. 4.
    E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley 1995Google Scholar
  5. 5.
    B. I. Sandén, The case for eclectic design of real-time software, IEEE TSE 15 (March 1989), 360–362.Google Scholar
  6. 6.
    B. I. Sandén, Entity-life modeling and structured analysis in real-time software design–a comparison. CACM, 32:12 (Dec. 1989) 1458–1466.Google Scholar
  7. 7.
    B. I. Sandén, Software Systems Construction with Examples in Ada. Prentice-Hall, 1994.Google Scholar
  8. 8.
    B. I. Sandén, The state machine pattern. Proc. TRI-Ada, Philadelphia, PA, Dec. 1996, 135–142.Google Scholar
  9. 9.
    B. I. Sandén, A course in real-time software design based on Ada 95, ASSET repository, 1996,
  10. 10.
    B. I. Sandén, Concurrent design patterns for resource sharing. Proc. TRI-Ada, St. Louis, MO, Nov. 1997, 173–183.Google Scholar
  11. 11.
    B. I. Sandén, Modeling concurrent software. IEEE Software, Sept. 1997, 93–100.Google Scholar
  12. 12.
    B. I. Sandén, Implementation of state machines with tasks and protected objects. Ada User Journal 20:4 (Jan 2000), 273–288. [Also in Ada Letters 20, 2 (June 2000) 38–56]Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Bo I. Sandén
    • 1
  1. 1.Colorado Technical UniversityColorado SpringsUSA

Personalised recommendations