Monitoring Association Constraints in Model-Oriented Programming
Résumé
Associations are a key concept in modeling languages as a way to formalize the relationships between domain concepts. Unfortunately, the support of semantically rich associations able to represent complex relationships is often missing, and this is both at the model and code level. At the model level, complex constraints on associations are often represented by using external, textual constraint languages which are difficult to understand and to maintain. At the code level, the situation is even worse, as mainstream object-oriented languages lack direct support for associations. In order to alleviate this problem, in this paper we propose a reification of complex association constraints so that they can be easily specified at development time and monitored at runtime. We do this by leveraging PAMELA, an annotation-based Java modeling framework, which promotes blending classical programming with modeling through the use of annotations and runtime code instrumentalization and monitoring. PAMELA is in the scope of Model-Oriented Programming approaches. We provide a classification of association constraints and discuss different implementation strategies. Finally, we demonstrate the feasibility of our approach with a prototype implementation and an initial catalog of association patterns.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|