Final Semantics for Event-Pattern Reactive Programs

  • César Sánchez
  • Henny B. Sipma
  • Matteo Slanina
  • Zohar Manna
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3629)


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 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.


Operational Semantic Formal Semantic Input Symbol Adequacy Condition Silent State 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aguilera, M.K., Strom, R.E., Sturman, D.C., Astley, M., Chandra, T.D.: Matching events in a content-based subscription system. In: Symposium on Principles of Distributed Computing, pp. 53–61 (1999)Google Scholar
  2. 2.
    Baeten, J.C.M., Weijland, W.P.: Process Algebra. Cambridge University Press, Cambridge (1990)CrossRefGoogle Scholar
  3. 3.
    Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and evaluation of a wide-area event notification service. ACM Transactions on Computer Systems 19(3), 332–383 (2001)CrossRefGoogle Scholar
  4. 4.
    Cîrstea, C.: Semantic constructions from the specification of objects. Theoretical Computer Science 260 (2001)Google Scholar
  5. 5.
    Goguen, J., Malcolm, G.: A hidden agenda. Theoretical Computer Science 245(1) (2000)Google Scholar
  6. 6.
    Goldin, D.Q.: Persistent Turing Machines as a model of interactive computation. In: Foundations of Information and Knowledge Systems, Burg, Germany, February 2000, pp. 116–135 (2000)Google Scholar
  7. 7.
    Hennessy, M., Milner, R.: Algebraic laws for nondeterminism and concurrency. Journal of the Association for Computer Machinery 32(1), 137–161 (1985)zbMATHMathSciNetGoogle Scholar
  8. 8.
    Antony, C., Hoare, R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)Google Scholar
  9. 9.
    Hunleth, F., Cytron, R., Gill, C.: Building customizable middleware using aspect oriented programming. In: Workshop on Advanced Separation of Concerns (OOPSLA 2001) (2001)Google Scholar
  10. 10.
    Jacobs, B., Rutten, J.J.M.M.: A tutorial on (co)algebras and (co)induction. Bulletin of the European Association for Theoretical Computer Science 62, 222–259 (1997)zbMATHGoogle Scholar
  11. 11.
    Kleene, S.C.: Representation of events in nerve nets and finite automata. In: Shannon, C.E., McCarthy, J. (eds.) Automata Studies, vol. (34), pp. 3–41. Princeton University Press, Princeton (1956)Google Scholar
  12. 12.
    McNaughtonand, R.F., Yamada, H.: Regular expressions and state graphs for automata. IEEE Transactions on Electronic Computers 9, 39–47 (1960)CrossRefGoogle Scholar
  13. 13.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)zbMATHGoogle Scholar
  14. 14.
    Roşu, G.: Hidden Logic. PhD thesis, University of California at San Diego (2000)Google Scholar
  15. 15.
    Rutten, J.J.M.M.: Automata and coinduction (an exercise in coalgebra). In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 194–218. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  16. 16.
    Sánchez, C., Sankaranarayanan, S., Sipma, H.B., Zhang, T., Dill, D., Manna, Z.: Event correlation: Language and semantics. In: Alur, R., Lee, I. (eds.) EMSOFT 2003. LNCS, vol. 2855, pp. 323–339. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Sánchez, C., Slanina, M., Sipma, H.B., Manna, Z.: Expressive completeness of an event-pattern reactive programming language (submitted for publication)Google Scholar
  18. 18.
    Schmidt, D.C., Levine, D.L., Harrison, T.H.: The design and performance of a real-time CORBA object event service. In: Proc. of OOPSLA 1997 (1997)Google Scholar
  19. 19.
    Segall, B., Arnold, D.: Elvin has left the building: A publish/subscribe notification service with quenching. In: Queensland AUUG Summer Technical Conference, Brisbane, Australia (1997)Google Scholar
  20. 20.
    Sharp, D.: Reducing avionics software cost through component based product line development. In: Proc. of the Software Technology Conference (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • César Sánchez
    • 1
  • Henny B. Sipma
    • 1
  • Matteo Slanina
    • 1
  • Zohar Manna
    • 1
  1. 1.Computer Science DepartmentStanford UniversityStanford

Personalised recommendations