Abstract
We introduce into and survey the ASM method for high-level system design and analysis. We explain the three notions—Abstract State Machine [37], ASM ground model (system blueprint) [7] and ASM refinement [8]—that characterize the method, which integrates also current validation and verification techniques. We illustrate how the method allows the system engineer to rigorously capture requirements by ASM ground models and to stepwise refine these to code in a validatable and verifiable way.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Altenhofen, M., Börger, E., Lemcke, J.: A high-level specification for mediators. In: 1st International Workshop on Web Service Choreography and Orchestration for Business Process Management (2005)
Anlauff, M., Kutter, P.: Xasm Open Source (2001). Web pages at http://www.xasm.org/
Barnett, M., Börger, E., Gurevich, Y., Schulte, W., Veanes, M.: Using Abstract State Machines at Microsoft: A case study. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 367–379. Springer, Heidelberg (2000)
Barros, A., Börger, E.: A compositional framework for service interaction patterns and communication flows. In: Lau, K.-K., Banach, R. (eds.) ICFEM 2005. LNCS, vol. 3785, pp. 5–35. Springer, Heidelberg (2005)
Börger, E.: High-level system design and analysis using Abstract State Machines. In: Hutter, D., Stephan, W., Traverso, P., Ullmann, M. (eds.) FM-Trends 1998. LNCS, vol. 1641, pp. 1–43. Springer, Heidelberg (1999)
Börger, E.: The origins and the development of the ASM method for high-level system design and analysis. J. Universal Computer Science 8(1), 2–74 (2002)
Börger, E.: The ASM ground model method as a foundation of requirements engineering. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 145–160. Springer, Heidelberg (2004)
Börger, E.: The ASM refinement method. Formal Aspects of Computing 15, 237–257 (2003)
Börger, E.: Modeling with Abstract State Machines: A support for accurate system design and analysis. In: Rumpe, B., Hesse, W. (eds.) Modellierung 2004. GI-Edition Lecture Notes in Informatics, vol. P-45, pp. 235–239. Springer, Heidelberg (2004)
Börger, E.: From finite state machines to virtual machines (Illustrating design patterns and event-B models). In: Cohors-Fresenborg, E., Schwank, I. (eds.) Präzisionswerkzeug Logik–Gedenkschrift zu Ehren von Dieter Rödding. Forschungsinstitut für Mathematikdidaktik Osnabrück (2005); ISBN 3-925386-56-4
Börger, E.: Linking content definition and analysis to what the compiler can verify. In: Proc. IFIP WG Conference on Verified Software: Tools, Techniques, and Experiments, Zurich, Switzerland, October 2005. LNCS. Springer, Heidelberg (2005)
Börger, E., Bolognesi, T.: Remarks on turbo ASMs for computing 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)
Börger, E., Busch, H., Cuellar, J., Päppinghaus, P., Tiden, E., Wildgruber, I.: Konzept einer hierarchischen Erweiterung von EURIS. Siemens ZFE T SE 1 Internal Report BBCPTW91-1, pp. 1–43, Summer (1996)
Börger, E., Dässler, K.: Prolog: DIN papers for discussion. ISO/IEC JTCI SC22 WG17 Prolog Standardization Document 58, National Physical Laboratory, Middlesex, England (1990)
Börger, E., Del Castillo, G.: A formal method for provably correct composition of a real-life processor out of basic components (The APE100 Reverse Engineering Study). In: Werner, B. (ed.) Proc. 1st IEEE Int. Conf. on Engineering of Complex Computer Systems (ICECCS 1995), November 1995, pp. 145–148 (1995)
Börger, E., Durdanović, I.: Correctness of compiling Occam to Transputer code. Computer Journal 39(1), 52–92 (1996)
Börger, E., Fruja, G., Gervasi, V., Stärk, R.: A high-level modular definition of the semantics of C#. Theoretical Computer Science 336(2/3) (2005)
Börger, E., Glässer, U., Müller, W.: The semantics of behavioral VHDL 1993 descriptions. In: EURO-DAC 1994. European Design Automation Conference with EURO-VHDL 1994, pp. 500–505. IEEE Computer Society Press, Los Alamitos (1994)
Börger, E., Päppinghaus, P., Schmid, J.: Report on a practical application of ASMs in software design. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 361–366. Springer, Heidelberg (2000)
Börger, E., Rosenzweig, D.: The WAM – definition and compiler correctness. In: Beierle, C., Plümer, L. (eds.) Logic Programming: Formal Methods and Practical Applications, ch. 2. Studies in Computer Science and Artificial Intelligence, vol. 11, pp. 20–90. North-Holland, Amsterdam (1995)
Börger, E., Schmid, J.: Composition and submachine concepts for sequential ASMs. In: Clote, P.G., Schwichtenberg, H. (eds.) CSL 2000. LNCS, vol. 1862, pp. 41–60. Springer, Heidelberg (2000)
Börger, E., Schulte, W.: Initialization problems for Java. Software – Concepts and Tools 19(4), 175–178 (2000)
Börger, E., Sona, D.: A neural abstract machine. J. Universal Computer Science 7(11), 1007–1024 (2001)
Börger, E., Stärk, R.F.: Abstract State Machines. A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)
Castillo, G.D., Päppinghaus, P.: Designing software for internet telephony: experiences in an industrial development process. In: Blass, A., Börger, E., Gurevich, Y. (eds.) Theory and Applications of Abstract State Machines, Schloss Dagstuhl, Int. Conf. and Research Center for Computer Science (2002)
Del Castillo, G.: The ASM Workbench. A Tool Environment for Computer-Aided Analysis and Validation of Abstract State Machine Models. PhD thesis, Universität Paderborn, Germany (2001)
Del Castillo, G., Winter, K.: Model checking support for the ASM high-level language. In: Schwartzbach, M.I., Graf, S. (eds.) TACAS 2000. LNCS, vol. 1785, pp. 331–346. Springer, Heidelberg (2000)
Dold, A.: A formal representation of Abstract State Machines using PVS. Verifix Technical Report Ulm/6.2, Universität Ulm, Germany (July 1998)
Dold, A., Gaul, T., Vialard, V., Zimmermann, W.: ASM-based mechanized verification of compiler back-ends. In: Glässer, U., Schmitt, P. (eds.) Proc. 5th Int. Workshop on Abstract State Machines, pp. 50–67. Magdeburg University (1998)
Farahbod, R., Gervasi, V., Glässer, U.: CoreASM: An extensible ASM execution engine. In: Beauquier, D., Börger, E., Slissenko, A. (eds.) Proc.ASM 2005, Université de Paris (December 2005)
Foundations of Software Engineering Group, Microsoft Research. AsmL (2001). Web pages at http://research.microsoft.com/foundations/AsmL/
Fruja, N.G.: Specification and implementation problems for C#. In: Zimmermann, W., Thalheim, B. (eds.) ASM 2004. LNCS, vol. 3052, pp. 127–143. Springer, Heidelberg (2004)
Gargantini, A., Riccobene, E.: Encoding Abstract State Machines in PVS. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 303–322. Springer, Heidelberg (2000)
Gawanmeh, A., Tahar, S., Winter, K.: Interfacing ASMs with the MDG tool. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 278–292. Springer, Heidelberg (2003)
Glässer, U., Gotzhein, R., Prinz, A.: Formal semantics of SDL-2000: Status and perspectives. Computer Networks 42(3), 343–358 (2003)
Goos, G., Zimmermann, W.: Verifying compilers and ASMs. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 177–202. Springer, Heidelberg (2000)
Gurevich, Y.: Evolving algebras 1993: Lipari Guide. In: Börger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)
Habibi, A.: Framework for System Level Verification: The SystemC Case. PhD thesis, Concordia University, Montreal (July 2005)
Heberle, A.: Korrekte Transformationsphase – der Kern korrekter Übersetzer. PhD thesis, Universität Karlsruhe, Germany (2000)
Huggins, J.: Kermit: Specification and verification. In: Börger, E. (ed.) Specification and Validation Methods, pp. 247–293. Oxford University Press, Oxford (1995)
Kalinov, A., Kossatchev, A., Petrenko, A., Posypkin, M., Shishkov, V.: Using ASM specifications for compiler testing. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 415–415. Springer, Heidelberg (2003)
Lavagno, L., Sangiovanni-Vincentelli, A., Sentovitch, E.M.: Models of computation for system design. In: Börger, E. (ed.) Architecture Design and Validation Methods, pp. 243–295. Springer, Heidelberg (2000)
Schellhorn, G.: Verification of ASM refinements using generalized forward simulation. J. Universal Computer Science 7(11), 952–979 (2001)
Schellhorn, G.: ASM refinement and generalizations of forward simulation in data refinement: A comparison. Theoretical Computer Science (2004)
Schellhorn, G., Ahrendt, W.: Reasoning about Abstract State Machines: The WAM case study. J. Universal Computer Science 3(4), 377–413 (1997)
Schmid, J.: Executing ASM specifications with AsmGofer. Web pages at http://www.tydo.de/AsmGofer
Schmid, J.: Compiling Abstract State Machines to C++. J. Universal Computer Science 7(11), 1069–1088 (2001)
Schmid, J.: Refinement and Implementation Techniques for Abstract State Machines. PhD thesis, University of Ulm, Germany (2002)
Stärk, R.F., Börger, E.: An ASM specification of C# threads and the .NET memory model. In: Zimmermann, W., Thalheim, B. (eds.) ASM 2004. LNCS, vol. 3052, pp. 38–60. Springer, Heidelberg (2004)
Stärk, R.F., Nanchen, S.: A logic for Abstract State Machines. J. Universal Computer Science 7(11), 981–1006 (2001)
Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, Heidelberg (2001)
Vajihollahi, M.: High level specification and validation of the Business Process Execution Language for web services. Master’s thesis, School of Computing Science at Simon Fraser University (April 2004)
Zimmerman, W., Gaul, T.: On the construction of correct compiler back-ends: An ASM approach. J. Universal Computer Science 3(5), 504–567 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Börger, E. (2005). The ASM Method for System Design and Analysis. A Tutorial Introduction. In: Gramlich, B. (eds) Frontiers of Combining Systems. FroCoS 2005. Lecture Notes in Computer Science(), vol 3717. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11559306_15
Download citation
DOI: https://doi.org/10.1007/11559306_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29051-3
Online ISBN: 978-3-540-31730-2
eBook Packages: Computer ScienceComputer Science (R0)