18,829 research outputs found
Abstract State Machines 1988-1998: Commented ASM Bibliography
An annotated bibliography of papers which deal with or use Abstract State
Machines (ASMs), as of January 1998.Comment: Also maintained as a BibTeX file at http://www.eecs.umich.edu/gasm
Quantum Cellular Automata
Quantum cellular automata (QCA) are reviewed, including early and more recent
proposals. QCA are a generalization of (classical) cellular automata (CA) and
in particular of reversible CA. The latter are reviewed shortly. An overview is
given over early attempts by various authors to define one-dimensional QCA.
These turned out to have serious shortcomings which are discussed as well.
Various proposals subsequently put forward by a number of authors for a general
definition of one- and higher-dimensional QCA are reviewed and their properties
such as universality and reversibility are discussed.Comment: 12 pages, 3 figures. To appear in the Springer Encyclopedia of
Complexity and Systems Scienc
Curriculum Guidelines for Undergraduate Programs in Data Science
The Park City Math Institute (PCMI) 2016 Summer Undergraduate Faculty Program
met for the purpose of composing guidelines for undergraduate programs in Data
Science. The group consisted of 25 undergraduate faculty from a variety of
institutions in the U.S., primarily from the disciplines of mathematics,
statistics and computer science. These guidelines are meant to provide some
structure for institutions planning for or revising a major in Data Science
Evolving MultiAlgebras unify all usual sequential computation models
It is well-known that Abstract State Machines (ASMs) can simulate
"step-by-step" any type of machines (Turing machines, RAMs, etc.). We aim to
overcome two facts: 1) simulation is not identification, 2) the ASMs simulating
machines of some type do not constitute a natural class among all ASMs. We
modify Gurevich's notion of ASM to that of EMA ("Evolving MultiAlgebra") by
replacing the program (which is a syntactic object) by a semantic object: a
functional which has to be very simply definable over the static part of the
ASM. We prove that very natural classes of EMAs correspond via "literal
identifications" to slight extensions of the usual machine models and also to
grammar models. Though we modify these models, we keep their computation
approach: only some contingencies are modified. Thus, EMAs appear as the
mathematical model unifying all kinds of sequential computation paradigms.Comment: 12 pages, Symposium on Theoretical Aspects of Computer Scienc
Regular Expression Matching and Operational Semantics
Many programming languages and tools, ranging from grep to the Java String
library, contain regular expression matchers. Rather than first translating a
regular expression into a deterministic finite automaton, such implementations
typically match the regular expression on the fly. Thus they can be seen as
virtual machines interpreting the regular expression much as if it were a
program with some non-deterministic constructs such as the Kleene star. We
formalize this implementation technique for regular expression matching using
operational semantics. Specifically, we derive a series of abstract machines,
moving from the abstract definition of matching to increasingly realistic
machines. First a continuation is added to the operational semantics to
describe what remains to be matched after the current expression. Next, we
represent the expression as a data structure using pointers, which enables
redundant searches to be eliminated via testing for pointer equality. From
there, we arrive both at Thompson's lockstep construction and a machine that
performs some operations in parallel, suitable for implementation on a large
number of cores, such as a GPU. We formalize the parallel machine using process
algebra and report some preliminary experiments with an implementation on a
graphics processor using CUDA.Comment: In Proceedings SOS 2011, arXiv:1108.279
JWalk: a tool for lazy, systematic testing of java classes by design introspection and user interaction
Popular software testing tools, such as JUnit, allow frequent retesting of modified code; yet the manually created test scripts are often seriously incomplete. A unit-testing tool called JWalk has therefore been developed to address the need for systematic unit testing within the context of agile methods. The tool operates directly on the compiled code for Java classes and uses a new lazy method for inducing the changing design of a class on the fly. This is achieved partly through introspection, using Java’s reflection capability, and partly through interaction with the user, constructing and saving test oracles on the fly. Predictive rules reduce the number of oracle values that must be confirmed by the tester. Without human intervention, JWalk performs bounded exhaustive exploration of the class’s method protocols and may be directed to explore the space of algebraic constructions, or the intended design state-space of the tested class. With some human interaction, JWalk performs up to the equivalent of fully automated state-based testing, from a specification that was acquired incrementally
Equivalence is in the Eye of the Beholder
In a recent provocative paper, Lamport points out "the insubstantiality of
processes" by proving the equivalence of two different decompositions of the
same intuitive algorithm by means of temporal formulas. We point out that the
correct equivalence of algorithms is itself in the eye of the beholder. We
discuss a number of related issues and, in particular, whether algorithms can
be proved equivalent directly.Comment: See also the ASM web site at http://www.eecs.umich.edu/gasm
- …