3,263 research outputs found
Action semantics in retrospect
This paper is a themed account of the action semantics project, which Peter Mosses has led since the 1980s. It explains his motivations for developing action semantics, the inspirations behind its design, and the foundations of action semantics based on unified algebras. It goes on to outline some applications of action semantics to describe real programming languages, and some efforts to implement programming languages using action semantics directed compiler generation. It concludes by outlining more recent developments and reflecting on the success of the action semantics project
An abstract view on syntax with sharing
The notion of term graph encodes a refinement of inductively generated syntax
in which regard is paid to the the sharing and discard of subterms. Inductively
generated syntax has an abstract expression in terms of initial algebras for
certain endofunctors on the category of sets, which permits one to go beyond
the set-based case, and speak of inductively generated syntax in other
settings. In this paper we give a similar abstract expression to the notion of
term graph. Aspects of the concrete theory are redeveloped in this setting, and
applications beyond the realm of sets discussed.Comment: 26 pages; v2: final journal versio
A Process Algebraical Approach to Modelling Compartmentalized Biological Systems
This paper introduces Protein Calculus, a special modeling language designed for encoding and calculating the behaviors of compartmentilized biological systems. The formalism combines, in a unified framework, two successful computational paradigms - process algebras and membrane systems. The goal of Protein Calculus is to provide a formal tool for transforming collected information from in vivo experiments into coded definition of the different types of proteins, complexes of proteins, and membrane-organized systems of such entities. Using this encoded information as input, our calculus computes, in silico, the possible behaviors of a living system. This is the preliminary version of a paper that was published in Proceedings of International Conference of Computational Methods in Sciences and Engineering (ICCMSE), American Institute of Physics, AIP Proceedings, N 2: 642-646, 2007 (http://scitation.aip.org/dbt/dbt.jsp?KEY=APCPCS&Volume=963&Issue=2)
An Algebraic Framework for Compositional Program Analysis
The purpose of a program analysis is to compute an abstract meaning for a
program which approximates its dynamic behaviour. A compositional program
analysis accomplishes this task with a divide-and-conquer strategy: the meaning
of a program is computed by dividing it into sub-programs, computing their
meaning, and then combining the results. Compositional program analyses are
desirable because they can yield scalable (and easily parallelizable) program
analyses.
This paper presents algebraic framework for designing, implementing, and
proving the correctness of compositional program analyses. A program analysis
in our framework defined by an algebraic structure equipped with sequencing,
choice, and iteration operations. From the analysis design perspective, a
particularly interesting consequence of this is that the meaning of a loop is
computed by applying the iteration operator to the loop body. This style of
compositional loop analysis can yield interesting ways of computing loop
invariants that cannot be defined iteratively. We identify a class of
algorithms, the so-called path-expression algorithms [Tarjan1981,Scholz2007],
which can be used to efficiently implement analyses in our framework. Lastly,
we develop a theory for proving the correctness of an analysis by establishing
an approximation relationship between an algebra defining a concrete semantics
and an algebra defining an analysis.Comment: 15 page
- …