Context Petri Nets: Definition and Manipulation

Nicolas Cardozo, Sebatián González, Kim Mens, Theo D'Hondt

Research output: Book/ReportOther reportResearch


Context-oriented programming languages provide dedicated programming abstractions to define behavioral adaptations and means to recompose them dynamically according to sensed context changes. Ad- ditionally, some of these languages have proposed abstractions to explic- itly define dependency relations between adaptations. Such dependency relations enable programmers to specify allowed and disallowed interac- tions between behavioral adaptations at a high abstraction level. In this paper, we explore Petri nets as an underlying formalism to model context- dependent adaptations and their dependencies. Petri nets offer a precise notation and semantics for behavioral adaptations and the dependency relations between them. Even more, Petri nets can be used as an underly- ing 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.
Original languageEnglish
PublisherVrije Universiteit Brussel
Number of pages32
Publication statusPublished - 16 Apr 2012


  • Context-oriented programming
  • Petri nets


Dive into the research topics of 'Context Petri Nets: Definition and Manipulation'. Together they form a unique fingerprint.

Cite this