Context Petri Nets : Definition and Manipulation

Context-oriented programming languages provide dedicated programming abstractions to define behavioral adaptations and means to recompose them dynamically according to sensed context changes. Additionally,some of these languages have proposed abstractions to explicitly define dependency relations between adaptations. Such dependency relations enable programmers to specify allowed and disallowed interactions between behavioral adaptations at a high abstraction level. In this paper, we explore Petri nets as an underlying formalism to model contextdependent adaptations and their dependencies. Petri nets oer a precise notation and semantics for behavioral adaptations and the dependency relations between them. Even more, Petri nets can be used as an underlying representation to manage dependency relations, and activations and deactivations of behavioral adaptations at runtime.We illustrate the ideas through the context-oriented programming language Subjective-C.

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

[2]  Laure Petrucci,et al.  Semantics, composition and net properties of algebraic high-level nets , 1990, Applications and Theory of Petri Nets.

[3]  Franck Pommereau Quickly prototyping petri nets tools with SNAKES , 2008, Simutools 2008.

[4]  Theo D'Hondt,et al.  Context-Oriented Domain Analysis , 2007, CONTEXT.

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

[6]  Vicente Pelechano,et al.  Strategies for variability transformation at run-time , 2009, SPLC.

[7]  Rik Eshuis,et al.  Reactive Petri Nets for Workflow Modeling , 2003, ICATPN.

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

[9]  Egon Börger,et al.  Abstract State Machines , 2003 .

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

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

[12]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

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

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

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

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

[17]  Christos G. Cassandras,et al.  Introduction to Discrete Event Systems , 1999, The Kluwer International Series on Discrete Event Dynamic Systems.

[18]  Yu Liu,et al.  Resource-Aware Contracts for Addressing Feature Interaction in Dynamic Adaptive Systems , 2009, 2009 Fifth International Conference on Autonomic and Autonomous Systems.

[19]  Andry Rakotonirainy,et al.  Context-oriented programming , 2003, MobiDe '03.

[20]  R. Stärk,et al.  Abstract State Machines , 2003, Springer Berlin Heidelberg.

[21]  James L. Peterson,et al.  Petri Nets , 1977, CSUR.

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

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

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

[25]  Theo D'Hondt,et al.  Feature Descriptions for Context-oriented Programming , 2008, SPLC.

[26]  E. Allen Emerson,et al.  An Automata Theoretic Decision Procedure for the Propositional Mu-Calculus , 1989, Inf. Comput..

[27]  Franck Pommereau,et al.  Quickly prototyping petri nets tools with SNAKES , 2008, SimuTools.

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

[29]  Armin Biere,et al.  A survey of recent advances in SAT-based formal verification , 2005, International Journal on Software Tools for Technology Transfer.

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

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