Skip to main content

A Universal Control Construct for Abstract State Machines

  • Conference paper
  • First Online:
Book cover Abstract State Machines, Alloy, B, TLA, VDM, and Z (ABZ 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9675))

  • 806 Accesses

Abstract

Abstract State Machines can be used to specify arbitrary system behaviour. However, when writing executable specifications one often has to write additional statements which organise how, e.g., in which order, the rules are executed. This reduces the readability and comprehensibility of specifications and can introduce additional defects to them. We propose a new syntax construct for the specification of control flow for the ASM language which improves the compactness and readability of specifications by providing syntactic elements for often manually realised behaviour. This construct enables to parametrise which rules shall be selected for execution and how the selected rules are executed. We illustrate how the control construct can improve the code’s readability on some examples. The proposed control construct is also released as a plugin for CoreASM.

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 EPUB and 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

Notes

  1. 1.

    https://www.perl.org.

  2. 2.

    https://www.ruby-lang.org.

  3. 3.

    http://github.com/coreasm/coreasm.plugins/tree/master/org.coreasm.plugins.universalcontrol.

References

  1. Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  2. Ashenden, P.J.: The Designer’s Guide to VHDL, 3rd edn. Morgan Kaufmann Publishers Inc., San Francisco (2008)

    MATH  Google Scholar 

  3. Börger, E.: The origins and the development of the ASM method for high level system design and analysis. J. UCS 8(1), 2–74 (2002)

    Google Scholar 

  4. Börger, E., Bolognesi, T.: Remarks on Turbo ASMs for functional equations and recursion schemes. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 218–228. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  5. Börger, E., Stärk, R.F.: Abstract State Machines. A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)

    Book  MATH  Google Scholar 

  6. Farahbod, R.: CoreASM: an extensible modeling framework & Tool environment for high-level design and analysis of distributed systems. Ph.D. thesis, Simon Fraser University.(2009)

    Google Scholar 

  7. Farahbod, R., Gervasi, V., Glässer, U.: CoreASM: an extensible ASM execution engine. In: Proceedings of the 12th International Workshop on Abstract State Machines, ASM 2005. pp. 153–166 (2005)

    Google Scholar 

  8. Feijs, L.M.G., Jonkers, H.B.M.: Formal Specification and Design. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1992)

    MATH  Google Scholar 

  9. Fitzgerald, J.S., Larsen, P.G., Verhoef, M.: Vienna Development Method. Wiley Encyclopedia of Computer Science and Engineering (2008)

    Google Scholar 

  10. Gurevich, Y.: Sequential abstract-state machines capture sequential algorithms. ACM Trans. Comput. Logic (TOCL) 1(1), 77–111 (2000)

    Article  MathSciNet  Google Scholar 

  11. Gurevich, Y., Schulte, W., Wallace, C.: Investigating Java concurrency using abstract state machines. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 151–176. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  12. Johnson, W.W., Story, W.E.: Notes on the “15" puzzle. Am. J. Math. 2(4), 397–404 (1879)

    Article  MathSciNet  MATH  Google Scholar 

  13. Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation : Foundations, vol. 1. World Scientific Pub Co, Singapore (1997)

    MATH  Google Scholar 

  14. Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn. Prentice Hall Press, Upper Saddle River (2009)

    MATH  Google Scholar 

  15. Schroeder, A.: Integrated program measurement and documentation tools. In: Proceedings of the 7th International Conference on Software Engineering, ICSE 1984, pp. 304–313. IEEE Press (1984)

    Google Scholar 

Download references

Acknowledgements

First ideas to introduce a UCC originate from a CoreASM workshop in Ulm some time ago. We thank Vincenzo Gervasi, Roozbeh Farahbod, and Simone Zenzaro for inspiring discussions and valuable comments on a preliminary version of this paper. We also thank the anonymous reviewers for their extensive and valuable reviews that helped us improve the paper significantly.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexander Raschke .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Stegmaier, M., Dausend, M., Raschke, A., Tichy, M. (2016). A Universal Control Construct for Abstract State Machines. In: Butler, M., Schewe, KD., Mashkoor, A., Biro, M. (eds) Abstract State Machines, Alloy, B, TLA, VDM, and Z. ABZ 2016. Lecture Notes in Computer Science(), vol 9675. Springer, Cham. https://doi.org/10.1007/978-3-319-33600-8_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-33600-8_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-33599-5

  • Online ISBN: 978-3-319-33600-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics