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: Semi-automated title-abstract screening using natural language processing and machine learningInfluential work since 2022
- Pick up a classic book: Hiroshi SugimotoThe most-reprinted book on the subject
- Read the landmark paper: The chemical abstract machineCited 530 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)
The chemical abstract machine
HAM: a general purpose hypertext abstract machine
Deriving a lazy abstract machine
The linear abstract machine
The categorical abstract machine
TAM - A Compiler Controlled Threaded Abstract Machine
Machine characterization based on an abstract high-level language machine
Strongly reducing variants of the Krivine abstract machine
🆕 Influential since 2022
Semi-automated title-abstract screening using natural language processing and machine learning
Fast Automated Abstract Machine Repair Using Simultaneous Modifications and Refactoring
Static analysis by abstract interpretation against data leakage in machine learning
Abstract Machine of the Programming Language for Educational Purposes SYNCHRO
Abstract 13293: Predicting Successful ECMO Decannulation - A Novel Machine Learning Approach
📚 Books worth reading
Hiroshi SugimotoHiroshi Sugimoto, Thomas Kellein · 1991
VHDLDouglas L. Perry · 1991
Language and Automata Theory and ApplicationsAdrian-Horia Dediu · 2012
The Universal Turing MachineRolf Herken · 1988
Organizing knowledgeRowley, J. E. · 1992
Descriptional Complexity of Formal SystemsJeffrey Shallit, Alexander Okhotin · 2014
Generating abstraction hierarchiesCraig A. Knoblock · 1993
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…
- Input/output In computing, input/output (abbreviated I/O, i/o, or informally IO or io) is the communication between an information processing system, such as a computer…
- 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…
- 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…