Aspect-oriented programming for reactive systems: Larissa, a proposal in the synchronous framework

Aspect-oriented programming (AOP) has emerged recently as a language concept for expressing cross-cutting concerns, mainly in object-oriented software. Since then, the concept has been applied to a wide variety of other contexts. In this paper, we explore some cross-cutting concerns tbr parallel programs of reactive systems: we propose an aspect language, Larissa, and a weaving mechanism, in a core language based on parallel communicating Mealy machines.

[1]  Florence Maraninchi,et al.  Argos: an automaton-based synchronous language , 2001, Comput. Lang..

[2]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[3]  Mario Südholt,et al.  An expressive aspect language for system applications with Arachne , 2005, AOSD '05.

[4]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .

[5]  Robert J. Walker,et al.  Implementing protocols via declarative event patterns , 2004, SIGSOFT '04/FSE-12.

[6]  Fred B. Schneider,et al.  Enforceable security policies , 2000, TSEC.

[7]  James H. Andrews,et al.  Process-Algebraic Foundations of Aspect-Oriented Programming , 2001, Reflection.

[8]  Matthias Felleisen,et al.  On the Expressive Power of Programming Languages , 1990, European Symposium on Programming.

[9]  Nicolas Halbwachs,et al.  Synchronous Observers and the Verification of Reactive Systems , 1993, AMAST.

[10]  Karine Altisen Verimag Exploring Aspects in the Context of Reactive Systems , 2004 .

[11]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[12]  Nape rvile Using Aspects to Abstract and Modularize Statecharts , 2004 .

[13]  Yuanyuan Song,et al.  Modular software design with crosscutting interfaces , 2006, IEEE Software.

[14]  Henny B. Sipma,et al.  A Formal Model for Cross-cutting Modular Transition Systems , 2003 .

[15]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[16]  F. Schlenk Proof of Theorem 4 , 2005 .

[17]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[18]  Lujo Bauer,et al.  Edit automata: enforcement mechanisms for run-time security policies , 2005, International Journal of Information Security.

[19]  Shmuel Katz,et al.  Diagnosis of Harmful Aspects Using Regression Verification , 2004 .

[20]  Nicolas Halbwachs,et al.  Synchronous Programming of Reactive Systems , 1992, CAV.

[21]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[22]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[23]  Rémi Douence,et al.  Trace-Based Aspects , 2004 .

[24]  Gregor Kiczales,et al.  A semantics for advice and dynamic join points in aspect-oriented programming , 2001, TOPL.

[25]  Thomas Colcombet,et al.  Enforcing trace properties by program transformation , 2000, POPL '00.

[26]  Klaus Ostermann,et al.  Back to the Future: Pointcuts as Predicates over Traces , 2005 .

[27]  Shmuel Katz,et al.  A superimposition control construct for distributed systems , 1993, TOPL.

[28]  Nicolas Halbwachs,et al.  Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE , 1992, IEEE Trans. Software Eng..

[29]  G. Kiczales,et al.  Aspect-oriented programming and modular reasoning , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..