Results 1  10
of
68
Abstract state machines capture parallel algorithms
 ACM Transactions on Computational Logic
, 2003
"... Abstract We give an axiomatic description of parallel, synchronous algorithms. Our main result is that every such algorithm can be simulated, step for step, by an abstract state machine with a background that provides for multisets. \Lambda ..."
Abstract

Cited by 70 (27 self)
 Add to MetaCart
Abstract We give an axiomatic description of parallel, synchronous algorithms. Our main result is that every such algorithm can be simulated, step for step, by an abstract state machine with a background that provides for multisets. \Lambda
Semantic Essence of AsmL
, 2004
"... The Abstract State Machine Language, AsmL, is a novel executable specification language based on the theory of Abstract State Machines. AsmL is objectoriented, provides highlevel mathematical datastructures, and is built around the notion of synchronous updates and finite choice. AsmL is full ..."
Abstract

Cited by 50 (6 self)
 Add to MetaCart
The Abstract State Machine Language, AsmL, is a novel executable specification language based on the theory of Abstract State Machines. AsmL is objectoriented, provides highlevel mathematical datastructures, and is built around the notion of synchronous updates and finite choice. AsmL is fully integrated into the .NET framework and Microsoft development tools. In this paper, we explain the design rationale of AsmL and provide static and dynamic semantics for a kernel of the language.
Verification of Relational Transducers for Electronic Commerce
 JCSS
, 2000
"... Motivated by recent work of Abiteboul, Vianu, Fordham, and Yesha [3] we investigate the verifiability of transaction protocols specifying the interaction of multiple parties via a network, where each party is equipped with an (active) database that participates in the interaction. Such transaction p ..."
Abstract

Cited by 41 (0 self)
 Add to MetaCart
Motivated by recent work of Abiteboul, Vianu, Fordham, and Yesha [3] we investigate the verifiability of transaction protocols specifying the interaction of multiple parties via a network, where each party is equipped with an (active) database that participates in the interaction. Such transaction protocols typically occur in the context of electronic commerce applications and can be formalized as relational transducers. We introduce a class of powerful relational transducers based on Gurevich's abstract state machines and show that several verification problems related to electronic commerce applications can be solved for these transducers. Our approach is, in some sense, complementary to the approach in [3].
Ordinary Interactive SmallStep Algorithms, I
 ACM TRANS. COMPUTATIONAL LOGIC
, 2004
"... This is the first in a series of papers extending the Abstract State Machine Thesis — that arbitrary algorithms are behaviorally equivalent to abstract state machines — to algorithms that can interact with their environments during a step rather than only between steps. In the present paper, we desc ..."
Abstract

Cited by 33 (17 self)
 Add to MetaCart
This is the first in a series of papers extending the Abstract State Machine Thesis — that arbitrary algorithms are behaviorally equivalent to abstract state machines — to algorithms that can interact with their environments during a step rather than only between steps. In the present paper, we describe, by means of suitable postulates, those interactive algorithms that (1) proceed in discrete, global steps, (2) perform only a bounded amount of work in each step, (3) use only such information from the environment as can be regarded as answers to queries, and (4) never complete a step until all queries from that step have been answered. We indicate how a great many sorts of interaction meet these requirements. We also discuss in detail the structure of queries and replies and the appropriate definition of equivalence of algorithms. Finally, motivated by our considerations concerning queries, we discuss a generalization of firstorder logic in which the arguments of function and relation symbols are not merely tuples of elements but orbits of such tuples under groups of permutations of the argument places.
Choiceless Polynomial Time
, 2000
"... Turing machines define polynomial time (PTime) on strings but cannot deal with structures like graphs directly, and there is no known, easily computable string encoding of isomorphism classes of structures. Is there a computation model whose machines do not distinguish between isomorphic structures ..."
Abstract

Cited by 30 (6 self)
 Add to MetaCart
(Show Context)
Turing machines define polynomial time (PTime) on strings but cannot deal with structures like graphs directly, and there is no known, easily computable string encoding of isomorphism classes of structures. Is there a computation model whose machines do not distinguish between isomorphic structures and compute exactly PTime properties? This question can be recast as follows: Does there exist a logic that captures polynomial time (without presuming the presence of a linear order)? Earlier, one of us conjectured a negative answer. The problem motivated a quest for stronger and stronger PTime logics. All these logics avoid arbitrary choice. Here we attempt to capture the choiceless fragment of PTime. Our computation model is a version of abstract state machines (formerly called evolving algebras). The idea is to replace arbitrary choice with parallel execution. The resulting logic is more expressive than some other PTime logics in the literature. A more difficult theorem shows that the logic does not capture all of PTime.
Algorithms: A quest for absolute definitions
 Bulletin of the European Association for Theoretical Computer Science
, 2003
"... y Abstract What is an algorithm? The interest in this foundational problem is not only theoretical; applications include specification, validation and verification of software and hardware systems. We describe the quest to understand and define the notion of algorithm. We start with the ChurchTurin ..."
Abstract

Cited by 21 (10 self)
 Add to MetaCart
y Abstract What is an algorithm? The interest in this foundational problem is not only theoretical; applications include specification, validation and verification of software and hardware systems. We describe the quest to understand and define the notion of algorithm. We start with the ChurchTuring thesis and contrast Church's and Turing's approaches, and we finish with some recent investigations.
Recursive abstract state machines
 J. of Universal Computer Science
, 1997
"... Abstract: As introduced in the Lipari guide, Abstract State Machines (abbreviated as ASMs) are untyped. This is useful for many purposes. However, typed languages have their own advantages. Types structure the data, type checking uncovers errors. Here we propose a typed version of ASMs. ..."
Abstract

Cited by 19 (3 self)
 Add to MetaCart
(Show Context)
Abstract: As introduced in the Lipari guide, Abstract State Machines (abbreviated as ASMs) are untyped. This is useful for many purposes. However, typed languages have their own advantages. Types structure the data, type checking uncovers errors. Here we propose a typed version of ASMs.
Computing for Embedded Systems
 IEEE Instrumentation and Measurement Technology Conference
, 2001
"... Embedded software is increasingly a composition of concurrent components. Components in such systems interact in a rich variety of ways, not limited to the simple transfer of control of method calls in objectoriented design. I describe a view where the systems are modeled as assemblages of componen ..."
Abstract

Cited by 17 (1 self)
 Add to MetaCart
Embedded software is increasingly a composition of concurrent components. Components in such systems interact in a rich variety of ways, not limited to the simple transfer of control of method calls in objectoriented design. I describe a view where the systems are modeled as assemblages of components within one of several models of computation, where components with welldefined interfaces are composed. The declaration of these component interfaces becomes a central problem, and the composition of properties becomes the central benefit. Unlike objectoriented interfaces, these interfaces must declare dynamic properties such as communication protocols and temporal properties. The model of computation must include shared information, such as time (a total ordering constraint), or causality (a partial ordering constraint). The properties of a model of computation strongly determine the problems that it matches, and frequently, practical systems are forced to use multiple models of computation. I briefly describe how this can be done systematically.
The Semantics of the Java Programming Language: Preliminary Version
, 1997
"... A mathematical model of the Java programming language is constructed. ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
A mathematical model of the Java programming language is constructed.
StateBased Extension of CASL
, 2000
"... A statebased extension of the algebraic specification language CASL is presented. It permits the specification of the static part of a complex dynamic system by means of CASL and the dynamic part by means of the facilities described in the paper. The dynamic system is defined as possessing a number ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
A statebased extension of the algebraic specification language CASL is presented. It permits the specification of the static part of a complex dynamic system by means of CASL and the dynamic part by means of the facilities described in the paper. The dynamic system is defined as possessing a number of states and a number of operations (procedures) for transforming one state into another. Each state possesses one and the same static part specified by CASL and a varying part specified by additional tools. The varying part includes dynamic sorts/functions/predicates and dependent functions/predicates. The dependent functions/predicates are specified by formulae using the names of the dynamic functions/predicates so that each time one of the last ones is updated the corresponding former ones are also updated. The updates of the dynamic entities are produced by procedures which are specified by means of preconditions, postconditions, and dynamic equations.