Title: Perspectives on the ASM Theorem
1Abstract State MachinesMeetComputational Models
Udi Boker
2Abstract State Machines
- Mathematically define algorithms
- Simulate every machine step for step
3Computational Models
- Define a computing mechanism
- Its machines are defined on top of the common
framework - Examples Turing machines, finite automata,
counter machines,
4The Motivation
- We want ASMs to define computational models
- Not a single machine or algorithm, but the
general models mechanism - The individual machines of the model can then be
defined on top of the models configuration
5The Gap
- A single machine vs. a framework
- ASMs simulate single machines
- Extensionality (implemented function)
- ASMs have no extensionality
- Domain of computation
- ASMs have no domains (they have all domains) due
to the isomorphism closure
6In The Literature
- There are many examples in the literature of ASM
defining computational models. - There is no general framework, nor analysis
As a side effect of this epistemologically
significant generality of the postulates, the
application of the Blass and Gurevich proof
scheme to established models of computation may
yield abstract machine models which are more
involved than necessary and may blur features
which really distinguish different concrete
systems. ASM book, 2003
7Filling the Gap
8Extensionality - Demands
- There is a domain of computation input and
output domains - The machine has no control over the possible
inputs
Input
Ouput
Computation
9Extensionality - Solution
- The signature contains two designated nullary
functions named In, Out - There is a specific domain over which the machine
is defined - All initial states are the same, except for the
value of In - There is exactly one initial state for each
domain element e, in which In ? e
10Comp. Models - Demands
- Every computational model has its own concepts
and building blocks, on top of which its machines
are defined.
11Comp. Models - Solution
- All models machines share the same signature
- All machines share the same ASM program
- An ASM state has the following configuration
12Examples
- Most examples in the literature fit the framework
- Some (improper) exceptions, e.g. with a different
ASM program for each simulated machine - Turing machines
ctl_state Nxtctl(ctl_state,tape(head)) tape(he
ad) Write(ctl_state,tape(head)) head head
Move(ctl_state,tape(head))
13Analysis
14Conflicts?
- Does the suggested framework conflict with the
ASM concepts? - There are four potential issues
- In, Out two specific nullary functions
- Fixed state configuration
- Specific domain for the structures
- Fixed initial state, up to changes in In
15Conflict Resolution In, Out
- Designated functions are not a problem, and are
often used in the ASM approach, e.g. with
distributed ASMs (Mod, Self)
16Resolution State Configuration
- The separation of static and dynamic functions is
well established in ASMs - The finitary and infinitary properties are
preserved under isomorphism, hence well defined
in the ASM approach - The separation of the machines part and models
part is a higher level view, not concerning ASM
internals
17Resolution Specific Domain
- ASM defines an algorithm, operating over all
domains. - Every specific run operates over a specific
domain - This domain is the interpretation given to the
abstract machines entities by the user, who
views the machine as performing a specific
computation. - The ASM defining a computational model is a
general (all domains) ASM, in which we relate
only to those runs that apply to the chosen
domain
18Fixed Domain View
Strings
Integers
Initial states
Perspectives on the ASM Theorem Berlin, 26-27
Feb 2007
18
19Resolution Fixed Initial State
- As with the domain, the ASM is general
- Relating to a fixed view of the elements
Isomorphic Views
Fixed View
Initial states
20Summary
- We provide a framework for representing
computational models by ASMs - The framework provides a specific configuration,
which goes along with the ASM approach - This representation scheme is intended for
analyzing properties of computational models, for
example effectivenes
21Thanks