Skip to main content

The Abstract State Machines Method for High-Level System Design and Analysis

  • Chapter
  • First Online:
Formal Methods: State of the Art and New Directions

Abstract

We explain the main ingredients of the Abstract State Machines (ASM) method for high-level system design and analysis and survey some of its application highlights in industrial software-based system engineering. We illustrate the method by defining models for three simple control systems (sluice gate, traffic light, package router) and by characterising Event-B machines as a specific class of ASMs.We point to directions for future research and applications of the method in other areas than software engineering.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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.

    However, this paper is neither an introduction to the ASM method nor a survey of its achievements. For the former see [29], for the latter [27], or Chaps. 2 and 9 of the AsmBook [46].

  2. 2.

    For example in Cremers’ and Hibbard’s data spaces [53], the operational transformations of abstract states are described by means of static functions, which form what is called there an information structure.

  3. 3.

    The definition of the ground model may change during the design phase, namely if it is recognised during the implementation process that some important feature is missing in the ground model or has to be changed there. The process of building a ground model is iterative; it ends only with the completion of the design and may be re-opened during maintenance for change management. But at each moment of the development process, there is one ground model, documenting the current understanding of the problem the system has to solve.

  4. 4.

    Note that the evaluation of the design against the ground model also provides an objective, rational ground for settling disputes on the code after its completion.

  5. 5.

    Thus the ASM method satisfies Parnas’ request [95] to base the foundation for a reliable software engineering discipline on standard mathematics, avoiding the introduction of complicated specification languages and theories of language semantics.

  6. 6.

    In general, in an ASM all updates are executed in parallel, though in this example also a sequential reading will do.

  7. 7.

    The definition of the seq constructor in the context of the parallel ASM execution model is defined in [45].

  8. 8.

    For reasons of space we leave out the operator commands to stop or start the conveyor. Adding them would involve adding an operator machine.

  9. 9.

    This is well-defined since by assumption, switch can be flipped only when there is no package in it, i.e., succ(switch) and thereby the exit point of switch can change only when queue(switch) is empty.

  10. 10.

    The original definition of ASMs in [79] was motivated by a different goal: an epistemological desire to generalise Turing’s thesis.

  11. 11.

    We consider here deterministic FSMs, since non-deterministic FSMs can be modelled using the ASM choose construct described below. For the sake of simplicity of exposition, we suppose each input to be consumed by executing a transition, technically speaking in to be a monitored function as explained below.

  12. 12.

    This view of Tarski structures supports a generalisation of Parnas’ table technique [96, 95] as a convenient notation for ASMs, as detailed in [22, 23].

  13. 13.

    More precisely: to execute one step of an ASM in a given state S determine all the fireable rules in S (s.t. Condition is true in S), compute all expressions t i , t in S occuring in the updates f(t 1, …, t n ) : = t of those rules and then perform simultaneously all these location updates. This yields the successor state S′ of S.

  14. 14.

    See the use of modes in [95] as a means to structure the set of states.

  15. 15.

    This avoids the alleged, though unjustified and in fact destructive, dichotomy between declarative and operational design elements, which unfortunately has been strongly advocated in the literature over the last 30 years. See the discussion at the end of Sect. 3.6.2.

  16. 16.

    The naming is influenced by its pendant in Parnas’ Four-Variable-Model [95].

  17. 17.

    The minimality avoids to define ground models that restrict the problem solution unnecessarily. Thus, it helps to leave the design space open as much as possible.

  18. 18.

    Experience in the following domains has confirmed that the ASM language is understandable for domain experts without computer science education: railway, control and telephony systems [32, 42, 50], business and aviation security processes [35, 7, 13, 77, 78], linguistics [85, 92, 93, 55], biology [89], social sciences [48, 47].

  19. 19.

    As already observed in Sect. 3.1 for ground models, this distinction does not pertain to the process of model building. The classification of what belongs to the “essence” of the system and what only to its implementation may change during the design process, typically when “implementation decisions are made before specification is complete and the decisions can have a major effect on the further specification of the system” [108, p. 440]. The final definition, yielding a document with the hierarchy of stepwise refined models, can be given only at the end of the design process. This document too is typically re-opened during maintenance for change management, where it has to be synchronised with the decisions taken for the system change.

References

  1. J.-R. Abrial. The B-Book. Cambridge University Press, Cambridge, MA, 1996.

    Book  MATH  Google Scholar 

  2. J.-R. Abrial. Extending B without changing it (for developing distributed systems). In H. Habrias, editor, Proceedings of the 1st Conference on the B Method, pp. 169–190. IRIN Institut de recherche en informatique de Nantes, 1996.

    Google Scholar 

  3. J.-R. Abrial. Event based sequential program development: Application to constructing a pointer program. In Proceedings of the FME 2003, pp. 51–74. Springer, Berlin, 2003.

    Google Scholar 

  4. J.-R. Abrial. Discrete system models. Version 2, September 2004.

    Google Scholar 

  5. J.-R. Abrial. Formal methods in industry: Achievements, problems, future. In Proceedings of the ICSE’06, Shanghai, ACM, May 2006.

    Google Scholar 

  6. J.-R. Abrial. Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge, MA, 2009.

    Google Scholar 

  7. M. Altenhofen, E. Börger, A. Friesen, and J. Lemcke. A high-level specification for virtual providers. International Journal of Business Process Integration and Management, 1(4):267–278, 2006.

    Article  Google Scholar 

  8. M. Anlauff and P. Kutter. Xasm Open Source. Web pages at http://www.xasm.org/, 2001.

  9. E. Astesiano and G. Reggio. SMoLCS-driven concurrent calculi. In G. Levi, H. Ehrig, R. Kowalski and U. Montanari, editors, Proceedings of the TAPSOFT’87 Vol. 1, Lecture Notes in Computer Science, vol. 249, pp. 169–201. Springer, Berlin, 1987.

    Google Scholar 

  10. E. Astesiano and G. Reggio. Labelled transition logic: An outline. Acta Informatica, 37(11–12), 2001.

    Google Scholar 

  11. R. J. R. Back. On correct refinement of programs. Journal of Computer and System Sciences, 23(1):49–68, 1979.

    Article  MathSciNet  Google Scholar 

  12. R. J. R. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Springer, Berlin, 1998.

    Book  MATH  Google Scholar 

  13. A. Barros and E. Börger. A compositional framework for service interaction patterns and communication flows. In K.-K. Lau and R. Banach, editors, Formal Methods and Software Engineering. Proceedings of the 7th International Conference on Formal Engineering Methods (ICFEM 2005), Lecture Notes in Computer Science, vol. 3785, pp. 5–35. Springer, Berlin, 2005.

    Google Scholar 

  14. R. Bird. Introduction to Functional Programming using Haskell. Prentice-Hall, Upper Saddle River, NJ, 2nd edition, 1998.

    Google Scholar 

  15. T. Bolognesi and E. Börger. Abstract state processes. In E. Börger, A. Gargantini, and E. Riccobene, editors, Abstract State Machines 2003 – Advances in Theory and Applications, Lecture Notes in Computer Science, vol. 2589, pp. 22–32. Springer, Berlin, 2003.

    Google Scholar 

  16. E. Börger. A logical operational semantics for full Prolog. Part I: Selection core and control. In E. Börger, H. K. Büning, M. M. Richter, and W. Schönfeld, editors, CSL’89. 3rd Workshop on Computer Science Logic, Lecture Notes in Computer Science, vol. 440, pp. 36–64. Springer, Berlin, 1990.

    Google Scholar 

  17. E. Börger. A logical operational semantics of full Prolog. Part II: Built-in predicates for database manipulation. In B. Rovan, editor, Mathematical Foundations of Computer Science, Lecture Notes in Computer Science, vol. 452, pp. 1–14. Springer, Berlin, 1990.

    Google Scholar 

  18. E. Börger. Dynamische Algebren und Semantik von Prolog. In E. Börger, editor, Berechenbarkeit, Komplexität, Logik, pp. 476–499. Vieweg, Wiesbaden, 3rd edition, 1992.

    Google Scholar 

  19. E. Börger. A logical operational semantics for full Prolog. Part III: Built-in predicates for files, terms, arithmetic and input-output. In Y. N. Moschovakis, editor, Logic From Computer Science, Mathematical Sciences Research Institute Publications, Berkeley, CA, vol. 21, pp. 17–50. Springer, New York, 1992.

    Google Scholar 

  20. E. Börger. A natural formalization of full Prolog. Newsletter of the Association for Logic Programming, 5(1):8–9, 1992.

    Google Scholar 

  21. E. Börger. Logic programming: The evolving algebra approach. In B. Pehrson and I. Simon, editors, IFIP 13th World Computer Congress, vol. 1: Technology/ Foundations, pp. 391–395. Elsevier, Amsterdam, 1994.

    Google Scholar 

  22. E. Börger. Evolving Algebras and Parnas tables. In H. Ehrig, F. von Henke, J. Meseguer, and M. Wirsing, editors, Specification and Semantics. Dagstuhl Seminar, Schloss Dagstuhl, Germany, July 1996.

    Google Scholar 

  23. E. Börger. High-level system design and analysis using abstract state machines. In D. Hutter, W. Stephan, P. Traverso, and M. Ullmann, editors, Current Trends in Applied Formal Methods (FM-Trends 98), Lecture Notes in Computer Science, vol. 1641, pp. 1–43. Springer, Berlin, 1999.

    Google Scholar 

  24. E. Börger. The origins and the development of the ASM method for high-level system design and analysis. Journal of Universal Computer Science, 8(1):2–74, 2002.

    Google Scholar 

  25. E. Börger. The ASM ground model method as a foundation of requirements engineering. In N. Dershowitz, editor, Verification: Theory and Practice, Lecture Notes in Computer Science, vol. 2772, pp. 145–160. Springer, Berlin, 2003.

    Google Scholar 

  26. E. Börger. The ASM refinement method. Formal Aspects of Computing, 15:237–257, 2003.

    Article  MATH  Google Scholar 

  27. E. Börger. Modeling with abstract state machines: A support for accurate system design and analysis. In B. Rumpe and W. Hesse, editors, Modellierung 2004, GI-Edition, Lecture Notes in Informatics, vol. P-45, pp. 235–239. Springer, Berlin, 2004.

    Google Scholar 

  28. E. Börger. Abstract state machines: A unifying view of models of computation and of system design frameworks. Annals of Pure and Applied Logic, 133:149–171, 2005.

    Article  MathSciNet  MATH  Google Scholar 

  29. E. Börger. The ASM method for system design and analysis. A tutorial introduction. In B. Gramlich, editor, Frontiers of Combining Systems, Lecture Notes in Artificial Intelligence, vol. 3717, pp. 264–283. Springer, Berlin, 2005.

    Google Scholar 

  30. E. Börger. Construction and analysis of ground models and their refinements as a foundation for validating computer based systems. Formal Aspects of Computing, 18:495–517, 2006.

    Article  Google Scholar 

  31. E. Börger. From finite state machines to virtual machines (Illustrating design patterns and event-B models). In E. Cohors-Fresenborg and I. Schwank, editors, Präzisionswerkzeug Logik–Gedenkschrift zu Ehren von Dieter Rödding. Forschungsinstitut für Mathematikdidaktik Osnabrück, 2006. ISBN 3-925386-56-4, Proceedings of the of 2005 Colloquium.

    Google Scholar 

  32. E. Börger, H. Busch, J. Cuellar, P. Päppinghaus, E. Tiden, and I. Wildgruber. Konzept einer hierarchischen Erweiterung von EURIS. Siemens ZFE T SE 1 Internal Report BBCPTW91-1, pp. 1–43, Summer 1996.

    Google Scholar 

  33. E. Börger, A. Cavarra, and E. Riccobene. An ASM semantics for UML activity diagrams. In T. Rus, editor, Algebraic Methodology and Software Technology, 8th International Conference on AMAST 2000, Iowa, May 20–27, 2000 Proceedings, Lecture Notes in Computer Science, vol. 1816, pp. 293–308. Springer, Berlin, 2000.

    Google Scholar 

  34. E. Börger, A. Cavarra, and E. Riccobene. Modeling the dynamics of UML state machines. In Y. Gurevich, P. Kutter, M. Odersky, and L. Thiele, editors, Abstract State Machines: Theory and Applications, Lecture Notes in Computer Science, vol. 1912, pp. 223–241. Springer, Berlin, 2000.

    Google Scholar 

  35. E. Börger, M. Cesaroni, M. Falqui, and T. L. Murgi. Caso di Studio: Mail from form system. Internal Report FST-2-1-RE-02, Fabbrica Servizi Telematici FST (Gruppo Atlantis), Uta (Cagliari), 1999.

    Google Scholar 

  36. E. Börger and K. Dässler. Prolog: DIN papers for discussion. ISO/IEC JTCI SC22 WG17 Prolog Standardization Document 58, National Physical Laboratory, Middlesex, England, 1990.

    Google Scholar 

  37. E. Börger and I. Durdanović. Correctness of compiling occam to transputer code. Computer Journal, 39(1):52–92, 1996.

    Article  Google Scholar 

  38. E. Börger, G. Fruja, V. Gervasi, and R. Stärk. A high-level modular definition of the semantics of C#. Theoretical Computer Science, 336(2–3):235–284, 2005.

    Article  MathSciNet  MATH  Google Scholar 

  39. E. Börger, U. Glässer, and W. Müller. The semantics of behavioral VHDL’93 descriptions. In EURO-DAC’94. European Design Automation Conference with EURO-VHDL’94, pp. 500–505, Los Alamitos, CA. IEEE Computer Society, 1994.

    Google Scholar 

  40. E. Börger and S. Mazzanti. A practical method for rigorously controllable hardware design. In J. P. Bowen, M. B. Hinchey, and D. Till, editors, ZUM’97: The Z Formal Specification Notation, Lecture Notes in Computer Science, vol. 1212, pp. 151–187. Springer, Berlin, 1997.

    Google Scholar 

  41. E. Börger and L. Mearelli. Integrating ASMs into the software development life cycle. Journal of Universal Computer Science, 3(5):603–665, 1997.

    MATH  Google Scholar 

  42. E. Börger, P. Päppinghaus, and J. Schmid. Report on a practical application of ASMs in software design. In Y. Gurevich, P. Kutter, M. Odersky, and L. Thiele, editors, Abstract State Machines: Theory and Applications, Lecture Notes in Computer Science, vol. 1912, pp. 361–366. Springer, Berlin, 2000.

    Google Scholar 

  43. E. Börger and D. Rosenzweig. A mathematical definition of full Prolog. Science of Computer Programming, 24:249–286, 1995.

    Article  MathSciNet  MATH  Google Scholar 

  44. E. Börger and D. Rosenzweig. The WAM – definition and compiler correctness. In C. Beierle and L. Plümer, editors, Logic Programming: Formal Methods and Practical Applications, Studies in Computer Science and Artificial Intelligence, vol. 11, Chap. 2, pp. 20–90. Elsevier science, North-Holland, 1995.

  45. E. Börger and J. Schmid. Composition and submachine concepts for sequential ASMs. In P. Clote and H. Schwichtenberg, editors, Computer Science Logic (Proceedings of CSL 2000), Lecture Notes in Computer Science, vol. 1862, pp. 41–60. Springer, Berlin, 2000.

    Google Scholar 

  46. E. Börger and R. F. Stärk. Abstract State Machines. A Method for High-Level System Design and Analysis. Springer, Berlin, 2003.

    Google Scholar 

  47. P. L. Brantingham, B. Kinney, U. Glässer, P. Jackson, and M. Vajihollahi. A computational model for simulating spatial and temporal aspects of crime in urban environments. In L. Liu and J. Eck, editors, Artificial Crime Analysis Systems: Using Computer Simulations and Geographic Information Systems. Idea Publishing, 2006.

    Google Scholar 

  48. P. L. Brantingham, B. Kinney, U. Glässer, K. Singh, and M. Vajihollahi. A computational model for simulating spatial aspects of crime in urban environments. In M. Jamshidi, editor, Proceedings of the 2005 IEEE International Conference on Systems, Man and Cybernetics, pp. 3667–3674. IEEE, October 2005.

    Google Scholar 

  49. F. P. Brooks, Jr. No silver bullet. Computer, 20(4):10–19, 1987.

    Article  MathSciNet  Google Scholar 

  50. G. D. Castillo and P. Päppinghaus. Designing software for internet telephony: Experiences in an industrial development process. In A. Blass, E. Börger, and Y. Gurevich, editors, Theory and Applications of Abstract State Machines, Schloss Dagstuhl, International Conference and Research Center for Computer Science, 2002.

    Google Scholar 

  51. A. Cavarra. Applying Abstract State Machines to Formalize and Integrate the UML Lightweight Method. PhD thesis, University of Catania, Sicily, 2000.

    Google Scholar 

  52. A. Cavarra, E. Riccobene, and P. Scandurra. Integrating UML static and dynamic views and formalizing the interaction mechanism of UML state machines. In E. Börger, A. Gargantini, and E. Riccobene, editors, Abstract State Machines 2003 – Advances in Theory and Applications, Lecture Notes in Computer Science, vol. 2589, pp. 229–243. Springer, Berlin, 2003.

    Google Scholar 

  53. A. B. Cremers and T. N. Hibbard. Formal modeling of virtual machines. IEEE Transactions on Software Engineering, SE-4(5):426–436, 1978.

    Google Scholar 

  54. W. P. de Roever and K. Engelhardt. Data Refinement: Model-Oriented Proof Methods and their Comparison. Cambridge University Press, Cambridge, MA, 1998.

    Book  MATH  Google Scholar 

  55. S. Degeilh and A. Preller. ASMs specify natural language processing via pregroups. Technical Report Local Proceedings ASM’04, Department of Mathematics, University Halle-Wittenberg, 2004.

    Google Scholar 

  56. G. Del Castillo. The ASM Workbench. A Tool Environment for Computer-Aided Analysis and Validation of Abstract State Machine Models. PhD thesis, Universität Paderborn, Germany, 2001.

    Google Scholar 

  57. G. Del Castillo and K. Winter. Model checking support for the ASM high-level language. In S. Graf and M. Schwartzbach, editors, Proceedings of the 6th International Conference on TACAS 2000, Lecture Notes in Computer Science, vol. 1785, pp. 331–346. Springer, Berlin, 2000.

    Google Scholar 

  58. J. Derrick and E. Boiten. Refinement in Z and Object-Z. Formal Approaches to Computing and Information Technology. Springer, Berlin, 2001.

    Book  MATH  Google Scholar 

  59. E. W. Dijkstra. Notes on structured programming. In O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare, editors, Structured Programming, pp. 1–82. Academic Press, New York, 1972.

    Google Scholar 

  60. A. Dold. A formal representation of abstract state machines using PVS. Verifix Technical Report Ulm/6.2, Universität Ulm, Germany, July 1998.

    Google Scholar 

  61. A. Dold, T. Gaul, V. Vialard, and W. Zimmermann. ASM-based mechanized verification of compiler back-ends. In U. Glässer and P. Schmitt, editors, Proceedings of the 5th International Workshop on ASMs, pp. 50–67. Magdeburg University, Germany, 1998.

    Google Scholar 

  62. H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1,2. Springer, Berlin, 1985.

    Book  Google Scholar 

  63. R. Farahbod et al. The CoreASM Project, 2005. http://www.coreasm.org.

  64. R. Farahbod, U. Glässer, and M. Vajihollahi. An abstract machine architecture for web service based business process management. International Journal on Business Process Integration and Management, 1(4):279–291, 2006.

    Article  Google Scholar 

  65. L. M. G. Feijs and H. B. M. Jonkers. Formal Specification and Design. Cambridge University Press, Cambridge, MA, 1992.

    Book  MATH  Google Scholar 

  66. L. M. G. Feijs, H. B. M. Jonkers, C. P. J. Koymans, and G. R. Renardel de Lavalette. Formal definition of the design language COLD-K. Technical Report No. 234/87, Philips Research Laboratories, 1987.

    Google Scholar 

  67. J. Fitzgerald and P. G. Larsen. Modeling Systems. Practical Tool and Techniques in Software Development. Cambridge University Press, Cambridge, MA, 1998.

    Google Scholar 

  68. Foundations of Software Engineering Group, Microsoft Research. AsmL. Web pages at http://research.microsoft.com/foundations/AsmL/, 2001.

  69. N. G. Fruja. The correctness of the definite assignment analysis in C#. Journal of Object Technology, 3(9):29–52, 2004.

    Article  Google Scholar 

  70. N. G. Fruja. Type Safety of C# and.NET CLR. PhD thesis, ETH ZĂĽrich, 2006.

    Google Scholar 

  71. N. G. Fruja and E. Börger. Modeling the.NET CLR exception handling mechanism for a mathematical Analysis. Journal of Object Technology, 5(3): 5–34, 2006.

    Google Scholar 

  72. A. Gargantini and E. Riccobene. Encoding abstract state machines in PVS. In Y. Gurevich, P. Kutter, M. Odersky, and L. Thiele, editors, Abstract State Machines: Theory and Applications, Lecture Notes in Computer Science, vol. 1912, pp. 303–322. Springer, Berlin, 2000.

    Google Scholar 

  73. A. Gawanmeh, S. Tahar, and K. Winter. Interfacing ASMs with the MDG tool. In E. Börger, A. Gargantini, and E. Riccobene, editors, Abstract State Machines 2003 – Advances in Theory and Applications, Lecture Notes in Computer Science, vol. 2589, pp. 278–292. Springer, Berlin, 2003.

    Google Scholar 

  74. C. George, P. Haff, K. Havelund, A. E. Haxthausen, R. Milne, C. B. Nielsen, S. Prehn, and K. R. Wagner. The RAISE specification language. Prentice-Hall, Upper Saddle River, NJ, 1992.

    Google Scholar 

  75. R. L. Glass. Facts and Fallacies of Software Engineering. Addison-Wesley, Reading, MA, 2003.

    Google Scholar 

  76. U. Glässer, R. Gotzhein, and A. Prinz. Formal semantics of SDL-2000: Status and perspectives. Computer Networks, 42(3):343–358, 2003.

    Article  MATH  Google Scholar 

  77. U. Glässer, S. Rastkar, and M. Vajihollahi. Computational modeling and experimental validation of aviation security procedures. In S. Mehrotra, D. D. Zeng, H. Chen, B. M. Thuraisingham, and F.-Y. Wang, editors, Intelligence and Security Informatics, IEEE International Conference on Intelligence and Security Informatics, ISI 2006, San Diego, CA, May 23–24, 2006, Proceedings, Lecture Notes in Computer Science, vol. 3975, pp. 420–431. Springer, Berlin, 2006.

    Google Scholar 

  78. U. Glässer, S. Rastkar, and M. Vajihollahi. Modeling and validation of aviation security. In H. Chen and C. C. Yang, editors, Intelligence and Security Informatics: Techniques and Applications. Springer, Berlin, 2006.

    Google Scholar 

  79. Y. Gurevich. Evolving algebras 1993: Lipari guide. In E. Börger, editor, Specification and Validation Methods, pp. 9–36. Oxford University Press, 1995.

    Google Scholar 

  80. J. V. Guttag, E. Horowitz, and D. R. Musser. Abstract data types and software validation. Communications of the ACM, 21(12):1048–1064, 1978.

    Article  MathSciNet  MATH  Google Scholar 

  81. A. Habibi. Framework for System Level Verification: The SystemC Case. PhD thesis, Concordia University, Montreal, July 2005.

    Google Scholar 

  82. C. Heitmeyer. Software cost reduction. In John J. Marciniak, editor, Encyclopedia of Software Engineering. 2nd edition, 2002.

    Google Scholar 

  83. G. Hommel. Vergleich verschiedener Spezifikationsverfahren am Beispiel einer Paketverteilanlage. Technical report, Kernforschungszentrum Karlsruhe, August 1980.

    Google Scholar 

  84. M. Jackson. Problem Frames. Addison-Wesley, Reading, MA, 2001.

    Google Scholar 

  85. D. E. Johnson and L. S. Moss. Grammar formalisms viewed as evolving algebras. Linguistics and Philosophy, 17:537–560, 1994.

    Article  Google Scholar 

  86. A. Kalinov, A. Kossatchev, A. Petrenko, M. Posypkin, and V. Shishkov. Using ASM specifications for compiler testing. In E. Börger, A. Gargantini, and E. Riccobene, editors, Abstract State Machines 2003 – Advances in Theory and Applications, Lecture Notes in Computer Science, vol. 2589, page 415. Springer, Berlin, 2003.

    Google Scholar 

  87. B. H. Lisko and S. N. Zilles. Specification techniques for data abstraction. IEEE Transactons on Software Engineering, SE-1, 1975.

    Google Scholar 

  88. K. M. Chandy and J. Misra. Parallel Program Design. A Foundation. Addison-Wesley, Boston, MA, 1988.

    Google Scholar 

  89. D. Mazzei. Ottimizzazione di un bioreattore high throughput con strategia di controllo autonoma. Master’s thesis, University of Pisa, October 2006.

    Google Scholar 

  90. L. Mearelli. Refining an ASM specification of the production cell to C++ code. Journal of Universal Computer Science, 3(5):666–688, 1997.

    MATH  Google Scholar 

  91. J. M. Morris. A theoretical basis for stepwise refinement. Science of Computer Programming, 9(3):287–306, 1987.

    Article  MathSciNet  MATH  Google Scholar 

  92. L. S. Moss and D. E. Johnson. Dynamic interpretations of constraint-based grammar formalisms. Journal of Logic, Language, and Information, 4(1):61–79, 1995.

    Article  MathSciNet  MATH  Google Scholar 

  93. L. S. Moss and D. E. Johnson. Evolving algebras and mathematical models of language. In L. Polos and M. Masuch, editors, Applied Logic: How, What, and Why, Synthese Library, vol. 626, pp. 143–175. Kluwer Academic Publishers, Dordecht, 1995.

    Google Scholar 

  94. S. Nanchen and R. F. Stärk. A security logic for Abstract State Machines. In W. Zimmermann and B. Thalheim, editors, Abstract State Machines 2004, Lecture Notes in Computer Science, vol. 3052, pp. 169–185. Springer, Berlin, 2004.

    Google Scholar 

  95. D. L. Parnas. The use of precise documentation in software development. Tutorial at FM 2006, see http://fm06.mcmaster.ca/t8.htm, August 2006.

  96. D. L. Parnas and J. Madey. Functional documents for computer systems. Science of Computer Programming, 25:41–62, 1995.

    Article  Google Scholar 

  97. G. Schellhorn. Verification of ASM refinements using generalized forward simulation. Journal of Universal Computer Science, 7(11):952–979, 2001.

    MathSciNet  Google Scholar 

  98. G. Schellhorn. ASM refinement and generalizations of forward simulation in data refinement: A comparison. Theoretical Computer Science, 336(2–3):403–436, 2005.

    Article  MathSciNet  MATH  Google Scholar 

  99. G. Schellhorn and W. Ahrendt. Reasoning about abstract state machines: The WAM case study. Journal of Universal Computer Science, 3(4):377–413, 1997.

    MathSciNet  MATH  Google Scholar 

  100. J. Schmid. Executing ASM specifications with AsmGofer. Web pages at http://www.tydo.de/AsmGofer.

  101. J. Schmid. Compiling abstract state machines to C++. Journal of Universal Computer Science, 7(11):1069–1088, 2001.

    Google Scholar 

  102. J. Schmid. Refinement and Implementation Techniques for Abstract State Machines. PhD thesis, University of Ulm, Germany, 2002.

    Google Scholar 

  103. Semiconductor Industry Assoc. Internat. technology roadmap for semiconductors. Design. http://www.itrs.net/Common/2005ITRS/Design2005.pdf, 2005.

  104. J. M. Spivey. The Z Notation: A Reference Manual. Prentice-Hall, Upper Saddle River, NJ, 1989.

    MATH  Google Scholar 

  105. R. F. Stärk and E. Börger. An ASM specification of C# threads and the.NET memory model. In W. Zimmermann and B. Thalheim, editors, Abstract State Machines 2004, Lecture Notes in Computer Science, vol. 3052, pp. 38–60. Springer, Berlin, 2004.

    Google Scholar 

  106. R. F. Stärk and S. Nanchen. A logic for abstract state machines. Journal of Universal Computer Science, 7(11):981–1006, 2001.

    Google Scholar 

  107. R. F. Stärk, J. Schmid, and E. Börger. Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, Berlin, 2001.

    Book  Google Scholar 

  108. W. Swartout and R. Balzer. On the inevitable intertwining of specification and implementation. Communications of the ACM, 25(7):438–440, 1982.

    Article  Google Scholar 

  109. A. Tarski. Der Wahrheitsbegriff in den formalisierten Sprachen. Studia Philosophica, 1:261–405, 1936.

    Google Scholar 

  110. J. Teich, P. Kutter, and R. Weper. Description and simulation of microprocessor instruction sets using ASMs. In Y. Gurevich, P. Kutter, M. Odersky, and L. Thiele, editors, Abstract State Machines: Theory and Applications, Lecture Notes in Computer Science, vol. 1912, pp. 266–286. Springer, Berlin, 2000.

    Google Scholar 

  111. J. Teich, R. Weper, D. Fischer, and S. Trinkert. A joint architecture/compiler design environment for ASIPs. In Proceeding of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES2000), pp. 26–33, San Jose, CA, ACM, November 2000.

    Google Scholar 

  112. K. Winter. Model checking for abstract state machines. Journal of Universal Computer Science, 3(5):689–701, 1997.

    MATH  Google Scholar 

  113. N. Wirth. Program development by stepwise refinement. Communication of the ACM, 14(4):221–227, 1971.

    Article  MATH  Google Scholar 

  114. J. C. P. Woodcock and J. Davies. Using Z: Specification, Refinement, and Proof. Prentice-Hall, Upper Saddle River, NJ, 1996.

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Egon Börger .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag London Limited

About this chapter

Cite this chapter

Börger, E. (2010). The Abstract State Machines Method for High-Level System Design and Analysis. In: Boca, P., Bowen, J., Siddiqi, J. (eds) Formal Methods: State of the Art and New Directions. Springer, London. https://doi.org/10.1007/978-1-84882-736-3_3

Download citation

  • DOI: https://doi.org/10.1007/978-1-84882-736-3_3

  • Published:

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-84882-735-6

  • Online ISBN: 978-1-84882-736-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics