## The hidden computation steps of turbo Abstract State Machines (2003)

Venue: | Abstract State Machines — Advances in Theory and Applications, 10th International Workshop, ASM 2003 |

Citations: | 8 - 2 self |

### BibTeX

@INPROCEEDINGS{Fruja03thehidden,

author = {Nicu G. Fruja and Robert F. Stärk},

title = {The hidden computation steps of turbo Abstract State Machines},

booktitle = {Abstract State Machines — Advances in Theory and Applications, 10th International Workshop, ASM 2003},

year = {2003},

pages = {244--262},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

Abstract. Turbo Abstract State Machines are ASMs with parallel and sequential composition and possibly recursive submachine calls. Turbo ASMs are viewed as black-boxes that can combine arbitrary many steps of one or more submachines into one big step. The intermediate steps of a turbo ASM are not observable from outside. It is not even clear what exactly the intermediate steps are, because the semantics of turbo ASMs is usually defined inductively along the call graph of the ASM and the structure of the rule bodies. The most important application of turbo ASMs are recursive algorithms. Such algorithms can directly be simulated on turbo ASMs without transforming them into multi-agent (distributed) ASMs. In this article we analyze the hidden intermediate steps of turbo ASMs and characterize them using PAR/SEQ trees. We also address the problem of the reserve in the presence of recursion and sequential composition. 1

### Citations

406 | Evolving Algebras 1993: Lipari Guide
- Gurevich
- 1995
(Show Context)
Citation Context ...e PAR(∅, ev(P, A, ζ))⊲U implies yields(P, A, ζ, U) (Lemma 6). ⊓⊔ 7 The reserve and return values Algorithms often need to increase their working space. ASMs therefore have by definition (Lipari Guide =-=[10]-=-) an infinite reserve which is part of the base set. New elements are allocated using the construct import x do P which means ‘choose an element x from the reserve, delete it from the reserve and exec... |

114 | Sequential abstract state machines capture sequential algorithms
- Gurevich
(Show Context)
Citation Context ...vakis argues in [14] that algorithms are recursive equations while abstract machine models are just implementations, a special kind of algorithms. This contradicts in some sense Gurevich’s ASM thesis =-=[3,12]-=- that each algorithm can be simulated on its natural level of abstraction step-by-step by an ASM. As an example for the insufficiency of machine models, Moschovakis, mentions the MergeSort algorithm. ... |

65 |
draft of the ASM guide
- Gurevich
- 1997
(Show Context)
Citation Context ...(boolean valued function) Reserve such that the reserve elements Res(A) of a state A is the set of elements a of A such that Reserve(a) = true in A. The special dynamic function Reserve is avoided in =-=[2,11]-=-. In [11] the reserve of a state is defined to be the base set of the state minus the contents of locations and the elements (arguments) of defined (�= undef ) locations. In the presence of sequential... |

58 | Abstract State Machines Capture Parallel Algorithms
- Blass, Gurevich
(Show Context)
Citation Context ...vakis argues in [14] that algorithms are recursive equations while abstract machine models are just implementations, a special kind of algorithms. This contradicts in some sense Gurevich’s ASM thesis =-=[3,12]-=- that each algorithm can be simulated on its natural level of abstraction step-by-step by an ASM. As an example for the insufficiency of machine models, Moschovakis, mentions the MergeSort algorithm. ... |

50 | A Logic for Abstract State Machines - Stärk |

23 | What is an algorithm
- Moschovakis
- 2001
(Show Context)
Citation Context ...bo ASMs with return values are obtained simply by syntactic sugar. Finally, in Sect. 8 we compare turbo ASMs with other approaches to recursion for ASMs. 2 The MergeSort example Moschovakis argues in =-=[14]-=- that algorithms are recursive equations while abstract machine models are just implementations, a special kind of algorithms. This contradicts in some sense Gurevich’s ASM thesis [3,12] that each alg... |

18 | Sequential Abstract State Machines
- Gurevich
- 2000
(Show Context)
Citation Context ... of Lisp) and tl(x) is the rest of the list (the cdr of Lisp). Moschovakis asks the question: ‘If algorithms are machines, then which machine is the MergeSort?’ — Gurevich’s answer to the question in =-=[4,13]-=- is that recursion is implicitly distributed (multi-agent) computation. To model the recursive MergeSort algorithm one has to translate the equations (1) and (2) into a distributed ASM. The algorithm ... |

15 |
Gandy Machines
- “Background
- 2000
(Show Context)
Citation Context ...(boolean valued function) Reserve such that the reserve elements Res(A) of a state A is the set of elements a of A such that Reserve(a) = true in A. The special dynamic function Reserve is avoided in =-=[2,11]-=-. In [11] the reserve of a state is defined to be the base set of the state minus the contents of locations and the elements (arguments) of defined (�= undef ) locations. In the presence of sequential... |

11 |
Executing ASM specifications with AsmGofer’. Web pages at http://www.tydo.de/AsmGofer
- Schmid
- 1999
(Show Context)
Citation Context ...ve shown that recursive algorithms are ASMs. 8 Recursion in other implementations of ASMs The inductive semantics for turbo ASMs in Table 1 describes the semantical basis for Schmid’s AsmGofer system =-=[15]-=-. A slightly different approach to recursion is 23srun(P, A, ζ, A) run(P, A, ζ, B) yields(P, B, ζ, U) run(P, A, ζ, B + U) yields(P, A, ζ, ∅) final(P, A, ζ) run(P, A, η, B) final(P, B, η) yields(r(t), ... |

4 |
Xasm Open Source. Web pages at http://www.xasm.org
- Anlauff, Kutter
- 2001
(Show Context)
Citation Context ...B, η) yields(r(t), A, ζ, B − A) if U is consistent where r(x) � P is a rule declaration, a = [t] A ζ and η = ζ[x ↦→ a] Table 5. Inductive definition of the semantics of Xasm rule calls. taken in Xasm =-=[1]-=-. In this section, we want to point out the essential differences. We focus just on recursion and omit other features of Xasm like the evaluation of terms with side effects (update sets) or the so-cal... |

4 | Abstract State Processes
- Bolognesi, Börger
- 2003
(Show Context)
Citation Context ...R/SEQ tree can all be different. Also the environments that assign values to the free variables of transition rules can be different in different nodes. Hence, the approach of Bolognesi and Börger in =-=[5]-=- for the intermediate states of Abstract State Processes (ASPs) cannot be applied. Abstract State Processes extend ASM programs by process-algebraic behavior expressions for non-deterministic and conc... |

4 |
Composition and submachine concepts
- Börger, Schmid
- 2000
(Show Context)
Citation Context ...s of turbo ASMs and characterize them using PAR/SEQ trees. We also address the problem of the reserve in the presence of recursion and sequential composition. 1 Introduction Börger and Schmid view in =-=[7]-=- the execution of a sequential rule of an ASM or a recursive submachine call as one atomic step that produces exactly one set of parallel updates. Their black-box view of subcomputations makes it poss... |

1 |
Algorithms vs. machines. The Logic
- Blass, Gurevich
(Show Context)
Citation Context ... of Lisp) and tl(x) is the rest of the list (the cdr of Lisp). Moschovakis asks the question: ‘If algorithms are machines, then which machine is the MergeSort?’ — Gurevich’s answer to the question in =-=[4,13]-=- is that recursion is implicitly distributed (multi-agent) computation. To model the recursive MergeSort algorithm one has to translate the equations (1) and (2) into a distributed ASM. The algorithm ... |

1 | Turbo ASMs for functional equations and recursion schemes
- Bolognesi, Börger
- 2002
(Show Context)
Citation Context ... + 1. The map α, however, cannot be a permutation of the reserve, since ˆ0 is not met by α. ASMs with return values are now obtained by syntactic sugar. We use the notation of Börger and Bolognesi in =-=[6]-=-. The expression return t is considered as an abbreviation for the update result(this) := t, where result is special unary dynamic function that is used for returning values. The variable this is a sp... |