Everything about Abstract machine
Theoretical model
In computer science, an abstract machine is a theoretical model that allows for a detailed and precise analysis of how a computer system functions. It is similar to a mathematical function in that it receives inputs and produces outputs based on predefined rules. Abstract machines vary from literal machines in that they are expected to perform correctly and independently of hardware. Abstract machines are "machines" because they allow step-by-step execution of programs; they are "abstract" because they ignore many aspects of actual (hardware) machines. A typical abstract machine consists of a definition in terms of input, output, and the set of allowable operations used to turn the former into the latter. They can be used for purely theoretical reasons as well as models for real-world computer systems. In the theory of computation, abstract machines are often used in thought experiments regarding computability or to analyse the complexity of algorithms. This use of abstract machines is fundamental to the field of computational complexity theory, such as with finite state machines, Mealy machines, push-down automata, and Turing machines. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Abstract machineA 5-minute orientation
- Skim a recent paper: The Abstract State Machines MethodInfluential work since 2022
- Pick up a classic book: Andy WarholThe most-reprinted book on the subject
- Read the landmark paper: Concurrent abstract state machinesCited 51 times
- Go sideways: Stack machineA closely related topic
- Go sideways: Computer programA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Concurrent abstract state machines
Generating finite state machines from abstract state machines
Automated Verification of Completeness and Consistency of Abstract State Machine Specifications using a SAT Solver
On the Understandability of Language Constructs to Structure the State and Behavior in Abstract State Machine Specifications: A Controlled Experiment
Structure-Behavior Coalescence Abstract State Machine for Metamodel-Based Language in Model-Driven Engineering
An Improved Abstract State Machine Based Choreography Specification and Execution Algorithm for Semantic Web Services
A Compositional Simulation Framework for Abstract State Machine Models of Discrete Event Systems
Security risk analysis of IaaS based on the abstract state machine model
🆕 Influential since 2022
📚 Books worth reading
Andy WarholAndy Warhol · 1967- 📕Letter from the secretary of stateUnited States. Department of State. · 1796
Structure and Interpretation of Computer Programs (SICP)Harold Abelson, Gerald Jay Sussman · 1985
Mathematical structures for computer scienceJudith L. Gersting · 1982
Out of controlKevin Kelly · 1994
Semantics in Data and Knowledge BasesKlaus-Dieter Schewe · 2008
Formal Aspects of Component SoftwareFarhad Arbab · 2012
Abstract State Machines, Alloy, B, TLA, VDM, and ZYamine Ait Ameur, Klaus-Dieter Schewe · 2014
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Stack machine In computer science, computer engineering and programming language implementations, a stack machine is a computer processor or a process virtual machine…
- Computer program A computer program is a sequence or set of instructions in a programming language for a computer to execute. It is one component of software, which also…
- Threaded code In computer science, threaded code is a programming technique where the code has a form that essentially consists entirely of calls to subroutines. It…
- Model of computation In computer science, and more specifically in computability theory and computational complexity theory, a model of computation is a model that describes…
- Glossary of computer science This glossary of computer science is a list of definitions of terms and concepts used in computer science, its sub-disciplines, and related fields, including…
- Emulator In computing, an emulator is hardware or software that enables one computer system (called the host) to behave like another computer system (called the…
- Hardware acceleration Hardware acceleration is the use of computer hardware, known as a hardware accelerator, to perform specific functions faster than can be done by software…
- Programming paradigm A programming paradigm is a relatively high-level way to conceptualize and structure the implementation of a computer program. A programming language can…