Abstract State Machines
In computer science, an abstract state machine (ASM) is a state machine operating on states which are arbitrary data structures (structure in the sense of mathematical logic, that is a nonempty set together with a number of functions (operations over the set) and relations).
The ASM Method is a practical and scientifically well-founded systems engineering method which bridges the gap between the two ends of system development:
- the human understanding and formulation of real-world problems (requirements capture by accurate high-level modeling at the level of abstraction determined by the given application domain)
- the deployment of their algorithmic solutions by code-executing machines on changing platforms (definition of design decisions, system and implementation details).
The method builds upon three basic concepts:
- ASM: a precise form of pseudo-code, generalizing Finite State Machines to operate over arbitrary data structures
- ground model: a rigorous form of blueprints, serving as authoritative reference model for the design
- refinement: a most general scheme for stepwise instantiations of model abstractions to concrete system elements, providing controllable links between the more and more detailed descriptions at the successive stages of system development.
In the original conception of ASMs, a single agent executes a program in a sequence of steps, possibly interacting with its environment. This notion was extended to capture distributed computations, in which multiple agents execute their programs concurrently.
Since ASMs model algorithms at arbitrary levels of abstraction, they can provide high-level, low-level and mid-level views of a hardware or software design. ASM specifications often consist of a series of ASM models, starting with an abstract ground model and proceeding to greater levels of detail in successive refinements or coarsenings.
Due to the algorithmic and mathematical nature of these three concepts, ASM models and their properties of interest can be analyzed using any rigorous form of verification (by reasoning) or validation (by experimentation, testing model executions).
Famous quotes containing the words abstract, state and/or machines:
“When needs and means become abstract in quality, abstraction is also a character of the reciprocal relation of individuals to one another. This abstract character, universality, is the character of being recognized and is the moment which makes concrete, i.e. social, the isolated and abstract needs and their ways and means of satisfaction.”
—Georg Wilhelm Friedrich Hegel (17701831)
“Across Parker Avenue from the fort is the Site of the Old Gallows, where 83 men stood on nothin, a-lookin up a rope. The platform had a trap wide enought to accommodate 12 men, but half that number was the highest ever reached. On two occasions six miscreants were executed. There were several groups of five, some quartets and trios.”
—Administration in the State of Arka, U.S. public relief program. Arkansas: A Guide to the State (The WPA Guide to Arkansas)
“Gee, I wish we had one of them doomsday machines things.”
—Stanley Kubrick (b. 1928)