16,127 research outputs found
Towards a Uniform Theory of Effectful State Machines
Using recent developments in coalgebraic and monad-based semantics, we
present a uniform study of various notions of machines, e.g. finite state
machines, multi-stack machines, Turing machines, valence automata, and weighted
automata. They are instances of Jacobs' notion of a T-automaton, where T is a
monad. We show that the generic language semantics for T-automata correctly
instantiates the usual language semantics for a number of known classes of
machines/languages, including regular, context-free, recursively-enumerable and
various subclasses of context free languages (e.g. deterministic and real-time
ones). Moreover, our approach provides new generic techniques for studying the
expressivity power of various machine-based models.Comment: final version accepted by TOC
A Model of Cooperative Threads
We develop a model of concurrent imperative programming with threads. We
focus on a small imperative language with cooperative threads which execute
without interruption until they terminate or explicitly yield control. We
define and study a trace-based denotational semantics for this language; this
semantics is fully abstract but mathematically elementary. We also give an
equational theory for the computational effects that underlie the language,
including thread spawning. We then analyze threads in terms of the free algebra
monad for this theory.Comment: 39 pages, 5 figure
Complexity Theory and the Operational Structure of Algebraic Programming Systems
An algebraic programming system is a language built from a fixed algebraic data abstraction and a selection of deterministic, and non-deterministic, assignment and control constructs. First, we give a detailed analysis of the operational structure of an algebraic data type, one which is designed to classify programming systems in terms of the complexity of their implementations. Secondly, we test our operational description by comparing the computations in deterministic and non-deterministic programming systems under certain space and time restrictions
An Algebraic Characterisation of Concurrent Composition
We give an algebraic characterization of a form of synchronized parallel
composition allowing for true concurrency, using ideas based on Peter Landin's
"Program-Machine Symmetric Automata Theory".Comment: This is an old technical report from 1981. I submitted it to a
special issue of HOSC in honour of Peter Landin, as explained in the Prelude,
added in 2008. However, at an advanced stage, the handling editor became
unresponsive, and the paper was never published. I am making it available via
the arXiv for the same reasons given in the Prelud
Observation and abstract behaviour in specification and implementation of state-based systems
Classical algebraic specification is an accepted framework for specification. A criticism which applies is the
fact that it is functional, not based on a notion of state as most software development and implementation languages
are. We formalise the idea of a state-based object or abstract machine using algebraic means. In contrast to similar approaches we consider dynamic logic instead of equational logic as the framework for specification and implementation. The advantage is a more expressive language allowing us to specify safety and liveness conditions. It also allows a clearer distinction of functional and state-based parts which require different treatment in order to achieve behavioural abstraction when necessary. We shall in particular focus on abstract behaviour and observation. A behavioural notion of satisfaction for state-elements is needed in order to abstract from irrelevant details of the state realisation
- …