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 for parallel programs of reactive systems: we propose an aspect language,… (More)
Aspect Oriented Programming is a programming language concept for expressing cross-cutting concerns. A key point when dealing with aspects is the notion of interference. Applying several aspects to the same program may lead to un-intended results because of conflicts between the aspects. In this paper, we study the notion of interference for Larissa, a… (More)
We explore the semantics of aspect oriented programming languages in the context of embedded reactive systems. For reactive systems, there are a lot of simple and expressive formal models that can be used, based on traces and au-tomata. Moreover, the main construct in the programming languages of the domain is parallel composition, and the notion of… (More)
The man-machine interface of a small electronic device like a wristwatch is a crucial component, as more and more functions have to be controlled using a small set of buttons. We propose to use Argos, an automaton-based language for reactive systems, and Larissa, its aspect-oriented extension, to show that several interfaces can be obtained from the same… (More)
This paper combines two successful techniques from software engineering, aspect-oriented programming and design-by-contract, and applies them in the context of reactive systems. For the aspect language Larissa and contracts expressed with synchronous observers, we show how to apply an aspect asp to a contract C and derive a new contract C , such that for… (More)
We present two tools for the formal analysis of the aspect language Larissa, which extends the simple synchronous language Argos. The first tool concerns the combination of design-by-contract with Larissa aspects, and shows how we can apply an aspect not only to a program, but to a specification of programs in form of a contract, and obtain a new contract.… (More)
Reactive systems are often programmed in dedicated languages, to which existing aspect languages cannot be applied. Therefore, we created Larissa, an aspect language for the synchronous programming language Argos. This article describes Larissa and its use to implement an example for a reactive system, a controller of the door of a tramway.