Ensuring the consistent composition of context-dependent behavior is a major challenge in context-aware systems. Developers have to manually identify and validate existing interactions between behavioral adaptations, which is far from trivial. This paper presents a run-time model for the consistency management of context-dependent behavior, called context Petri nets. Context Petri nets provide a concrete representation of the execution context of a system, in which it is possible to represent the interactions due to dynamic and concurrent context changes. In addition, our model allows the definition of dependency relations between contexts, which are internally managed to avoid inconsistencies. We have successfully integrated context Petri nets with Subjective-C, a context-oriented programming language. We show how our model can be cleanly combined with the abstractions of the language to define and manage context-dependent behavior.
Cardozo Alvarez, N., Vallejos, J., Gonzalez Montesinos, S. A., Mens, K., & D’Hondt, T. (2012). Context petri nets : enabling consistent composition of context-dependent behavior. C E U R Workshop Proceedings, 851, 155-169. https://hdl.handle.net/2078.5/159818 (Original work published 2012)