Skip to main content

A Design Pattern for State Machines and Concurrent Activities

  • Conference paper
  • First Online:
Reliable SoftwareTechnologies — Ada-Europe 2001 (Ada-Europe 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2043))

Included in the following conference series:

Abstract

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Booch, Object-oriented development. IEEE TSE, 12(2), Feb. 1986, 211–221.

    Google Scholar 

  2. D. Budgen, Software Design. Addison-Wesley 1993

    Google Scholar 

  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–6

    Article  Google Scholar 

  4. E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley 1995

    Google Scholar 

  5. B. I. Sandén, The case for eclectic design of real-time software, IEEE TSE 15 (March 1989), 360–362.

    Google Scholar 

  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. B. I. Sandén, Software Systems Construction with Examples in Ada. Prentice-Hall, 1994.

    Google Scholar 

  8. B. I. Sandén, The state machine pattern. Proc. TRI-Ada, Philadelphia, PA, Dec. 1996, 135–142.

    Google Scholar 

  9. B. I. Sandén, A course in real-time software design based on Ada 95, ASSET repository, 1996, http://www.coloradotech.edu/~bsanden/DISA

  10. B. I. Sandén, Concurrent design patterns for resource sharing. Proc. TRI-Ada, St. Louis, MO, Nov. 1997, 173–183.

    Google Scholar 

  11. B. I. Sandén, Modeling concurrent software. IEEE Software, Sept. 1997, 93–100.

    Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sandén, B.I. (2001). A Design Pattern for State Machines and Concurrent Activities. In: Craeynest, D., Strohmeier, A. (eds) Reliable SoftwareTechnologies — Ada-Europe 2001. Ada-Europe 2001. Lecture Notes in Computer Science, vol 2043. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45136-6_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-45136-6_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42123-8

  • Online ISBN: 978-3-540-45136-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics