Larissa, un langage aspect pour les systèmes réactifs
Institution:
Grenoble INPGDisciplines:
Directors:
Abstract EN:
Aspect-oriented programming encapsulates cross-cutting concerns into aspects. Although these concepts have met great success in software engineering, they have never been studied in the context of reactive systems. This thesis takes a first step in that direction. We have developed Larissa, an aspect-oriented extension for the small synchronous programming language Argos. We also studied several examples of cross-cutting concerns in reactive systems. Larissa differs from most other aspect languages in two points. First, it crosscuts the parallel structure of synchronous languages. Second, it is formally defined and has important semantic properties, notably the preservation of the equivalence of base programs. We also present two analysis tools for Larissa. The first statically analyzes interferences between aspects, and the second combines Larissa aspects with design-by-contract.
Abstract FR:
La programmation par aspects encapsule des préoccupations transverses dans des aspects. Alors que ces notions ont eu un grand succès dans le génie logiciel, elles n'ont jamais été étudiées dans le cadre des systèmes réactifs. Cette thèse fait un premier pas dans cette direction. Nous présentons Larissa, un langage d'aspect pour le langage simple synchrone Argos. Les aspects Larissa encapsulent des préoccupations qui sont transverse à la structure parallèle du programme de base, sont définis formellement, et ont des propriétés sémantiques importantes, tel que le respect de l'encapsulation du programme de base. Nous avons aussi étudié plusieurs exemples de préoccupations transverses, que nous avons modélisés avec Larissa. Nous avons aussi développé deux outils d'analyse puissants, un pour l'interférence des aspects, et l'autre pour la combinaison des aspects avec la programmation par contrat.