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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 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.
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.
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.
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.
In general, in an ASM all updates are executed in parallel, though in this example also a sequential reading will do.
- 7.
The definition of the seq constructor in the context of the parallel ASM execution model is defined in [45].
- 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.
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.
The original definition of ASMs in [79] was motivated by a different goal: an epistemological desire to generalise Turing’s thesis.
- 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.
- 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.
See the use of modes in [95] as a means to structure the set of states.
- 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.
The naming is influenced by its pendant in Parnas’ Four-Variable-Model [95].
- 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.
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.
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
J.-R. Abrial. The B-Book. Cambridge University Press, Cambridge, MA, 1996.
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.
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.
J.-R. Abrial. Discrete system models. Version 2, September 2004.
J.-R. Abrial. Formal methods in industry: Achievements, problems, future. In Proceedings of the ICSE’06, Shanghai, ACM, May 2006.
J.-R. Abrial. Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge, MA, 2009.
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.
M. Anlauff and P. Kutter. Xasm Open Source. Web pages at http://www.xasm.org/, 2001.
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.
E. Astesiano and G. Reggio. Labelled transition logic: An outline. Acta Informatica, 37(11–12), 2001.
R. J. R. Back. On correct refinement of programs. Journal of Computer and System Sciences, 23(1):49–68, 1979.
R. J. R. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Springer, Berlin, 1998.
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.
R. Bird. Introduction to Functional Programming using Haskell. Prentice-Hall, Upper Saddle River, NJ, 2nd edition, 1998.
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.
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.
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.
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.
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.
E. Börger. A natural formalization of full Prolog. Newsletter of the Association for Logic Programming, 5(1):8–9, 1992.
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.
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.
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.
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.
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.
E. Börger. The ASM refinement method. Formal Aspects of Computing, 15:237–257, 2003.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
E. Börger and I. Durdanović. Correctness of compiling occam to transputer code. Computer Journal, 39(1):52–92, 1996.
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.
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.
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.
E. Börger and L. Mearelli. Integrating ASMs into the software development life cycle. Journal of Universal Computer Science, 3(5):603–665, 1997.
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.
E. Börger and D. Rosenzweig. A mathematical definition of full Prolog. Science of Computer Programming, 24:249–286, 1995.
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.
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.
E. Börger and R. F. Stärk. Abstract State Machines. A Method for High-Level System Design and Analysis. Springer, Berlin, 2003.
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.
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.
F. P. Brooks, Jr. No silver bullet. Computer, 20(4):10–19, 1987.
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.
A. Cavarra. Applying Abstract State Machines to Formalize and Integrate the UML Lightweight Method. PhD thesis, University of Catania, Sicily, 2000.
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.
A. B. Cremers and T. N. Hibbard. Formal modeling of virtual machines. IEEE Transactions on Software Engineering, SE-4(5):426–436, 1978.
W. P. de Roever and K. Engelhardt. Data Refinement: Model-Oriented Proof Methods and their Comparison. Cambridge University Press, Cambridge, MA, 1998.
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.
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.
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.
J. Derrick and E. Boiten. Refinement in Z and Object-Z. Formal Approaches to Computing and Information Technology. Springer, Berlin, 2001.
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.
A. Dold. A formal representation of abstract state machines using PVS. Verifix Technical Report Ulm/6.2, Universität Ulm, Germany, July 1998.
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.
H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1,2. Springer, Berlin, 1985.
R. Farahbod et al. The CoreASM Project, 2005. http://www.coreasm.org.
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.
L. M. G. Feijs and H. B. M. Jonkers. Formal Specification and Design. Cambridge University Press, Cambridge, MA, 1992.
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.
J. Fitzgerald and P. G. Larsen. Modeling Systems. Practical Tool and Techniques in Software Development. Cambridge University Press, Cambridge, MA, 1998.
Foundations of Software Engineering Group, Microsoft Research. AsmL. Web pages at http://research.microsoft.com/foundations/AsmL/, 2001.
N. G. Fruja. The correctness of the definite assignment analysis in C#. Journal of Object Technology, 3(9):29–52, 2004.
N. G. Fruja. Type Safety of C# and.NET CLR. PhD thesis, ETH ZĂĽrich, 2006.
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.
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.
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.
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.
R. L. Glass. Facts and Fallacies of Software Engineering. Addison-Wesley, Reading, MA, 2003.
U. Glässer, R. Gotzhein, and A. Prinz. Formal semantics of SDL-2000: Status and perspectives. Computer Networks, 42(3):343–358, 2003.
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.
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.
Y. Gurevich. Evolving algebras 1993: Lipari guide. In E. Börger, editor, Specification and Validation Methods, pp. 9–36. Oxford University Press, 1995.
J. V. Guttag, E. Horowitz, and D. R. Musser. Abstract data types and software validation. Communications of the ACM, 21(12):1048–1064, 1978.
A. Habibi. Framework for System Level Verification: The SystemC Case. PhD thesis, Concordia University, Montreal, July 2005.
C. Heitmeyer. Software cost reduction. In John J. Marciniak, editor, Encyclopedia of Software Engineering. 2nd edition, 2002.
G. Hommel. Vergleich verschiedener Spezifikationsverfahren am Beispiel einer Paketverteilanlage. Technical report, Kernforschungszentrum Karlsruhe, August 1980.
M. Jackson. Problem Frames. Addison-Wesley, Reading, MA, 2001.
D. E. Johnson and L. S. Moss. Grammar formalisms viewed as evolving algebras. Linguistics and Philosophy, 17:537–560, 1994.
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.
B. H. Lisko and S. N. Zilles. Specification techniques for data abstraction. IEEE Transactons on Software Engineering, SE-1, 1975.
K. M. Chandy and J. Misra. Parallel Program Design. A Foundation. Addison-Wesley, Boston, MA, 1988.
D. Mazzei. Ottimizzazione di un bioreattore high throughput con strategia di controllo autonoma. Master’s thesis, University of Pisa, October 2006.
L. Mearelli. Refining an ASM specification of the production cell to C++ code. Journal of Universal Computer Science, 3(5):666–688, 1997.
J. M. Morris. A theoretical basis for stepwise refinement. Science of Computer Programming, 9(3):287–306, 1987.
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.
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.
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.
D. L. Parnas. The use of precise documentation in software development. Tutorial at FM 2006, see http://fm06.mcmaster.ca/t8.htm, August 2006.
D. L. Parnas and J. Madey. Functional documents for computer systems. Science of Computer Programming, 25:41–62, 1995.
G. Schellhorn. Verification of ASM refinements using generalized forward simulation. Journal of Universal Computer Science, 7(11):952–979, 2001.
G. Schellhorn. ASM refinement and generalizations of forward simulation in data refinement: A comparison. Theoretical Computer Science, 336(2–3):403–436, 2005.
G. Schellhorn and W. Ahrendt. Reasoning about abstract state machines: The WAM case study. Journal of Universal Computer Science, 3(4):377–413, 1997.
J. Schmid. Executing ASM specifications with AsmGofer. Web pages at http://www.tydo.de/AsmGofer.
J. Schmid. Compiling abstract state machines to C++. Journal of Universal Computer Science, 7(11):1069–1088, 2001.
J. Schmid. Refinement and Implementation Techniques for Abstract State Machines. PhD thesis, University of Ulm, Germany, 2002.
Semiconductor Industry Assoc. Internat. technology roadmap for semiconductors. Design. http://www.itrs.net/Common/2005ITRS/Design2005.pdf, 2005.
J. M. Spivey. The Z Notation: A Reference Manual. Prentice-Hall, Upper Saddle River, NJ, 1989.
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.
R. F. Stärk and S. Nanchen. A logic for abstract state machines. Journal of Universal Computer Science, 7(11):981–1006, 2001.
R. F. Stärk, J. Schmid, and E. Börger. Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, Berlin, 2001.
W. Swartout and R. Balzer. On the inevitable intertwining of specification and implementation. Communications of the ACM, 25(7):438–440, 1982.
A. Tarski. Der Wahrheitsbegriff in den formalisierten Sprachen. Studia Philosophica, 1:261–405, 1936.
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.
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.
K. Winter. Model checking for abstract state machines. Journal of Universal Computer Science, 3(5):689–701, 1997.
N. Wirth. Program development by stepwise refinement. Communication of the ACM, 14(4):221–227, 1971.
J. C. P. Woodcock and J. Davies. Using Z: Specification, Refinement, and Proof. Prentice-Hall, Upper Saddle River, NJ, 1996.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)