Abstract State Machine Language

What Does Abstract State Machine Language Mean?

Abstract State Machine Language (AsmL) is an executable specification language based on the theory of Abstract State Machine (ASM). AsmL is used for system modeling, analysis, simulation and conformance testing.


AsmL is developed by Microsoft’s Foundations of Software Engineering (FSE) research team. It integrates fully with the .NET environment and Microsoft’s development tools, including Word and Visual Studio .NET.

Techopedia Explains Abstract State Machine Language

Unlike a number of programming languages specified for coding and testing, AsmL is geared toward communicating project design. Additionally, AsmL may be used during any stage of development. AsmL specification execution allows for model testing, feature interaction checks, design goal fulfillment or unanticipated event planning.

AsmL is also used to for system specification, which provides users with a system picture based on ASM, a mathematical model of the system‘s evolving runtime state.

AsmL differs from traditional programs in that it provides minimal specifications describing anything related to selected details. AsmL facilitates system state descriptions in terms of variables and operations that make sense to the user.

AsmL is available as a software modeling language in the tool Spec Explorer, which is a Visual Studio 2010 component. An open-source implementation of AsmL is available as Extensible Abstract State Machines (XASM) language.


Related Terms

Latest DevOps Terms

Related Reading

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…