The ASM Method for System Design and Analysis. A Tutorial Introduction

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.

[1]  Egon Börger,et al.  The ASM Refinement Method , 2003, Formal Aspects of Computing.

[2]  Egon Börger,et al.  Abstract State Machines , 2003 .

[3]  Roozbeh Farahbod,et al.  Specification and Validation of the Business Process Execution Language for Web Services , 2004, Abstract State Machines.

[4]  Egon Börger,et al.  Java and the Java Virtual Machine: Definition, Verification, Validation , 2001 .

[5]  Paolo Traverso,et al.  Applied Formal Methods — FM-Trends 98 , 1998, Lecture Notes in Computer Science.

[6]  Egon Börger,et al.  High Level System Design and Analysis Using Abstract State Machines , 1998, FM-Trends.

[7]  Andreas Prinz,et al.  The formal semantics of SDL-2000: Status and perspectives , 2003, Comput. Networks.

[8]  Egon Börger,et al.  A High-Level Specification for Mediators(Virtual Providers) , 2005, Business Process Management Workshops.

[9]  James K. Huggins Kermit: specification and verification , 1993, Specification and validation methods.

[10]  Martin Odersky,et al.  Abstract State Machines - Theory and Applications , 2002, Lecture Notes in Computer Science.

[11]  Egon Börger,et al.  A Compositional Framework for Service Interaction Patterns and Interaction Flows , 2005, ICFEM.

[12]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[13]  Joachim Schmid,et al.  Compiling Abstract State Machines to C++ , 2001, J. Univers. Comput. Sci..

[14]  Nachum Dershowitz,et al.  Verification: Theory and Practice , 2004, Lecture Notes in Computer Science.

[15]  Egon Börger,et al.  An ASM Specification of C# Threads and the .NET Memory Model , 2004, Abstract State Machines.

[16]  Egon Börger Abstract state machines and high-level system design and analysis , 2005, Theor. Comput. Sci..

[17]  Alexander K. Petrenko,et al.  Using ASM Specifications for Compiler Testing , 2003, Abstract State Machines.

[18]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[19]  Egon Börger,et al.  Composition and Submachine Concepts for Sequential ASMs , 2000, CSL.

[20]  Egon Börger,et al.  The WAM - Definition and Compiler Correctness , 1995, Logic Programming: Formal Methods and Practical Applications.

[21]  Egon Börger,et al.  The Origins and the Development of the ASM Method for High Level System Design and Analysis , 2002, J. Univers. Comput. Sci..

[22]  Giuseppe Del Castillo,et al.  The ASM Workbench - A Tool Environment for Computer-Aided Analysis and Validation of Abstract State Machine Models Tool Demonstration , 2001, TACAS.

[23]  Egon Börger,et al.  Initialization problems for Java , 2000, Softw. Concepts Tools.

[24]  Angelo Gargantini,et al.  Encoding Abstract State Machines in PVS , 2000, Abstract State Machines.

[25]  Gerhard Goos,et al.  Verifying Compilers and ASMs , 2000, Abstract State Machines.

[26]  Egon Börger,et al.  The ASM Ground Model Method as a Foundation for Requirements Engineering , 2003, Verification: Theory and Practice.

[27]  Angelo Gargantini,et al.  Abstract State Machines 2003 , 2003, Lecture Notes in Computer Science.

[28]  Axel Dold,et al.  ASM-based Mechanized Verification of Compiler Back-Ends , 1998, Workshop on Abstract State Machines.

[29]  Margus Veanes,et al.  Using Abstract State Machines at Microsoft: A Case Study , 2000, Abstract State Machines.

[30]  Egon Börger,et al.  A formal method for provably correct composition of a real-life processor out of basic components. (The APE100 Reverse Engineering Study) , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[31]  Egon Börger,et al.  Remarks on Turbo ASMs for Functional Equations and Recursion Schemes , 2003, Abstract State Machines.

[32]  Egon Börger Modeling with Abstract State Machines: A support for accurate system design and analysis , 2004, Modellierung.

[33]  Wolfgang Müller,et al.  The semantics of behavioral VHDL '93 descriptions , 1994, EURO-DAC '94.

[34]  Robert F. Stärk,et al.  A Logic for Abstract State Machines , 2001, J. Univers. Comput. Sci..

[35]  Alex K. Simpson,et al.  Computational Adequacy in an Elementary Topos , 1998, CSL.

[36]  Gerhard Schellhorn Verification of ASM Refinements Using Generalized Forward Simulation , 2001, J. Univers. Comput. Sci..

[37]  E. Borger Linking Content De nition and Analysis to What the Compiler Can Verify , 2005 .

[38]  Sofiène Tahar,et al.  Interfacing ASM with the MDG Tool , 2003, Abstract State Machines.

[39]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[40]  Egon Börger,et al.  Report on a Practical Application of ASMs in Software Design , 2000, Abstract State Machines.

[41]  Egon Börger,et al.  Architecture Design and Validation Methods , 2012, Springer Berlin Heidelberg.

[42]  Andreas Heberle,et al.  Korrekte Transformationsphase: der Kern korrekter Übersetzer , 2000 .

[43]  Egon Börger,et al.  Correctness of Compiling Occam to Transputer Code , 1996, Comput. J..

[44]  Joachim Schmid,et al.  Refinement and implementation techniques for Abstract State Machines , 2002 .

[45]  Roozbeh Farahbod,et al.  CoreASM: An Extensible ASM Execution Engine , 2007, Fundam. Informaticae.

[46]  A. Habibi,et al.  A framework for system level verification: the systemc case , 2005 .

[47]  Kirsten Winter,et al.  Model Checking Support for the ASM High-Level Language , 2000, TACAS.

[48]  Prof. Dr. Robert F. Stärk,et al.  Java and the Java Virtual Machine , 2001, Springer Berlin Heidelberg.

[49]  Sanjiva Weerawarana,et al.  The Business Process Execution Language for Web Services , 2005, Process-Aware Information Systems.

[50]  Egon Börger Specification and validation methods , 1995 .

[51]  Nicu G. Fruja Specification and Implementation Problems for C# , 2004, Abstract State Machines.

[52]  Wolfgang Ahrendt,et al.  Reasoning about Abstract State Machines: The WAM Case Study , 1997, J. Univers. Comput. Sci..

[53]  Gregory H. Harris,et al.  Review of "Abstract state machines: a method for high-level system design and analysis" by Egon Börger and Robert Stärk. Springer-Verlag 2003. , 2004, SOEN.

[54]  Wolf Zimmermann,et al.  On the Construction of Correct Compiler Back-Ends: An ASM-Approach , 1997, J. Univers. Comput. Sci..

[55]  Luciano Lavagno,et al.  Models of computation for system design , 2000 .

[56]  Egon Börger,et al.  A Neural Abstract Machine , 2001, J. Univers. Comput. Sci..

[57]  Gerhard Schellhorn,et al.  ASM refinement and generalizations of forward simulation in data refinement: a comparison , 2005, Theor. Comput. Sci..

[58]  Egon Börger,et al.  A high-level modular definition of the semantics of C# , 2005, Theor. Comput. Sci..