Context Petri Nets: Enabling Consistent Composition of Context-dependent Behavior

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.

[1]  Wolfgang Reisig Simple Composition of Nets , 2009, Petri Nets.

[2]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[3]  Wolfgang De Meuter,et al.  The Puzzle Approach for Designing Context-Enabled Applications , 2007, XXVI International Conference of the Chilean Society of Computer Science (SCCC'07).

[4]  Hidehiko Masuhara,et al.  EventCJ: a context-oriented programming language with declarative event-based context transition , 2011, AOSD '11.

[5]  Gregory D. Abowd,et al.  The context toolkit: aiding the development of context-enabled applications , 1999, CHI '99.

[6]  Klaus Reinhardt,et al.  Reachability in Petri Nets with Inhibitor Arcs , 2008, RP.

[7]  Sebastian Andres Gonzalez Montesinos Programming in ambience : gearing up for dynamic adaptation to context , 2008 .

[8]  Kim Mens,et al.  Context Petri Nets : Definition and Manipulation , 2012 .

[9]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[10]  Kim Mens,et al.  Subjective-C - Bringing Context to Mobile Platform Programming , 2010, SLE.

[11]  Richard Spencer-Smith,et al.  Modal Logic , 2007 .

[12]  Kim Mens,et al.  Highly dynamic behaviour adaptability through prototypes with subjective multimethods , 2007, DLS '07.

[13]  Diego Latella,et al.  Towards a Formal Operational Semantics of UML Statechart Diagrams , 1999, FMOODS.

[14]  Bart Jacobs,et al.  Exercises in Coalgebraic Specification , 2000, Algebraic and Coalgebraic Methods in the Mathematics of Program Construction.

[15]  Thomas Ledoux,et al.  WildCAT: a generic framework for context-aware applications , 2005, MPAC '05.

[16]  Falko Bause On the analysis of Petri nets with static priorities , 2009, Acta Informatica.

[17]  Maciej Koutny,et al.  Petri Net Semantics of Priority Systems , 1992, Theor. Comput. Sci..

[18]  M. de Rijke,et al.  Modal Logic , 2001, Cambridge Tracts in Theoretical Computer Science.

[19]  Robert Hirschfeld,et al.  Language constructs for context-oriented programming: an overview of ContextL , 2005, DLS '05.

[20]  Gordon S. Blair,et al.  A context-aware middleware for applications in mobile Ad Hoc environments , 2004, MPAC '04.

[21]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[22]  Serge Haddad,et al.  Application and Theory of Petri Nets , 2012, Lecture Notes in Computer Science.