Modeling Software: From Theory to Practice

Modeling of software is hard. The most difficult task is to identify and remain faithful to the right levels of abstraction, to decide what should be in the model and what should be abstracted away. Abstract state machines (ASMs) give the modeler the maximal flexibility in dealing with this task. ASMs are able to simulate arbitrary computer systems on their natural level of abstraction. This is known as the ASM thesis; it has theoretical support and has been confirmed by numerous academic and industrial projects. In order to use ASMs for modeling industrial software, the group on Foundations of Software Engineering at Microsoft Research developed the Abstract State Machine Language. It provides a modern object-oriented, component-based specification environment complete with tools to test and enforce specifications.

[1]  Wolfram Schulte,et al.  The ABCs of specification: asml, behavior, and components , 2001, Informatica.

[2]  Andreas Blass,et al.  Abstract state machines capture parallel algorithms , 2003, TOCL.

[3]  Margus Veanes,et al.  An Abstract Communication Model , 2002 .

[4]  Shlomo Moran,et al.  Wait-Freedom vs. Bounded-Freedom in Public Data Structures , 1996, Journal of universal computer science (Online).

[5]  Andreas Blass,et al.  Background, Reserve, and Gandy Machines , 2000, CSL.

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

[7]  Margus Veanes,et al.  Generating finite state machines from abstract state machines , 2002, ISSTA '02.

[8]  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..

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

[10]  Egon Börger,et al.  Why Use Evolving Algebras for Hardware and Software Engineering? , 1995, SOFSEM.

[11]  Yuri Gurevich,et al.  Sequential abstract-state machines capture sequential algorithms , 2000, TOCL.

[12]  Nikolai Tillmann,et al.  Partial Updates: Exploration , 2001, J. Univers. Comput. Sci..

[13]  Egon Börger,et al.  Abstract State Machines 1988-1998: Commented ASM Bibliography , 1998, Bull. EATCS.

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