Final semantics for event-pattern reactive programs
César Sánchez,Henny B. Sipma,Matteo Slanina,Zohar Manna +3 more
- 03 Sep 2005
- pp 364-378
TL;DR: This work introduces PAR, a specification language for event-pattern reactive programs, and proposes a new approach for defining such languages in terms of observations and actions, using standard techniques from coalgebra to obtain instances of the corecursion and coinduction principles.
read more
Abstract: Event-pattern reactive programs are front-end programs for distributed reactive components that preprocess an incoming stream of event stimuli. Their purpose is to recognize temporal patterns of events that are relevant to the serviced program and ignore all other events, outsourcing some of the component's complexity and shielding it from event overload. Correctness of event-pattern reactive programs is essential, because bugs may result in loss of relevant events and hence failure to react appropriately.
We introduce PAR, a specification language for event-pattern reactive programs. We propose a new approach for defining such languages in terms of observations and actions. This approach applies standard techniques from coalgebra to obtain instances of the corecursion and coinduction principles. Corecursion is used to formally de.ne the operational semantics of PAR, and coinduction allows to prove general equivalences between (ground and parameterized) PAR programs.
This is the first of a series of papers in which we study questions of expressive completeness, complexity, and formal verification techniques for specification languages of event-pattern reactive programs.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Figures

Fig. 1: Example machine with a behavior evaluation. 
Fig. 5: Rules for the output function o of the machine of PAR expressions. 
Fig. 4: Rules for the step function ∂ of the machine of PAR expressions. 
Fig. 3: Rules for the completion function α of the machine of PAR expressions. 
Fig. 2: Behaviors associated to states q0, q1 and s of Fig. 1.
Citations
Action Machines: a Framework for Encoding and Composing Partial Behaviors
TL;DR: The current main application is in the area of model- based conformance testing, where the approach addresses practical problems users at Microsoft have in applying model-based testing technology.
Synthesis of Mealy Machines Using Derivatives
TL;DR: Rutten as discussed by the authors constructed binary Mealy machines from rational 2-adic specifications based on the coalgebraic notion of stream function derivative, a generalisation of the Brzozowski derivative of regular expressions.
24
Expressive completeness of an event-pattern reactive programming language
César Sánchez,Matteo Slanina,Henny B. Sipma,Zohar Manna +3 more
- 02 Oct 2005
TL;DR: The declarative language PAR allows the expression of complex event- pattern reactions and is expressively complete in the following sense: every event-pattern reactive system that can be described and implemented using finite memory can also be expressed in PAR.
A schema language for coordinating construction and composition of partial behavior descriptions
Wolfgang Grieskamp,Nicolas Kicillof +1 more
- 27 May 2006
TL;DR: The language is a frontend to the semantical and implementation framework of action machines, which allows to encode behaviors of software artifacts in a language-agnostic manner, supporting both state-based and interaction-based description styles, as well as partial descriptions by means of symbolic representations.
•Journal Article
Synthesis of Mealy machines using derivatives
TL;DR: In this paper, the authors complete the construction of Mealy machines from rational 2-adic specifications by describing how to decide equivalence of expressions via reduction to normal forms, and present a Haskell implementation of this Mealy synthesis algorithm.
References
Communicating sequential processes
TL;DR: It is suggested that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method.
•Book
Communication and Concurrency
Robin Milner
- 01 Jan 1989
TL;DR: This chapter discusses Bisimulation and Observation Equivalence as a Modelling Communication, a Programming Language, and its application to Equational laws.
9K
Representation of Events in Nerve Nets and Finite Automata
S. C. Kleene
- 15 Dec 1951
TL;DR: This memorandum is devoted to an elementary exposition of the problems and of results obtained on the McCulloch-Pitts nerve net during investigations in August 1951.
Algebraic laws for nondeterminism and concurrency
Matthew Hennessy,Robin Milner +1 more
TL;DR: The paper demonstrates, for a sequence of simple languages expressing finite behaviors, that in each case observation congruence can be axiomatized algebraically and the algebraic language described here becomes a calculus for writing and specifying concurrent programs and for proving their properties.
Regular Expressions and State Graphs for Automata
Robert McNaughton,Hisao Yamada +1 more
TL;DR: Algorithms are presented for converting a state graph describing thebehavior of an automaton to a regular expression describing the behavior of the same automaton, and for converting an regular expression into a stategraph.
618