Introduction
Abstract State Machines (ASMs) are a common formal specification language. They can be described as "pseudo-code over abstract data". The main difference to e.g. finite state machines is that each state not only defines the control flow, but also the available data structures in so called "algebras". This explains the original name "evolving algebras".
In the book "Abstract State Machines - A Method for High-Level System Design and Analysis" by Egon Börger and Robert Stärk (2003), this method is explained in detail. Because of their closeness to mathematics, the ASM specifications make extended use of mathematical symbols. On one side, this is convenient, but on the other side, this makes it hard to write tools for ASMs.
While there exist several tools (ASMeta, CoreASM, KIV, AsmL [Links]), they all define their own interpretation of the (abstract) syntax defined or just used in several papers or books. This circumstance makes it very tedious to reuse an ASM model written in one tool in another.
Thus, the goal of the UASM-project is to define one common concrete syntax for ASMs that can (and should be) used in all tools. For the beginning, we started to combine the syntaxes of ASMeta and CoreASM.
The progress of this joined work between UNIBG, UMIL and UULM is documented on this homepage and the corresponding github repositories.
monthly meeting
protocols
open issues
documents
current state
decisions
next steps
fix grammar
review documentation
create parser for UASM (JParsec)
define translation of AST to ASMeta-Model
publications
links
ASMeta
CoreASM
KIV
AsmL
contact
UNIBG UULM UMIL