Context Petri nets (CoPN)

The logo image filename. You will have to upload it by clicking on the Attach link after saving this page.

The screenshot image filename. You will have to upload it by clicking on the Attach link after saving this page. Do not forget to fill the caption below.

The list of contributors to the project. The best is to link towards their profile page on this site

Ex. Kim Mens

A list of tags separated by blank spaces.

Tags
, , ,
Context Petri nets is a runtime model for context-oriented systems based on Petri nets. Context Petri nets provide a semantics that allows to ensure consistency and composability of context-oriented systems.

Context-oriented programming (COP) is a programming paradigm geared towards the dynamic adaptability of software systems. Now a days computing devices count with a large variety of sensors to access information of their surrounding environment, such as location, temperature, noise level, or even internal conditions about the device in which an application is running as the battery level. Each of such situations that is semantically meaningful for the application is reified as context and is associated with an specific behavioral adaptation. Behavioral adaptations are made available or unavailable according to the applications's surrounding environment.

Context Petri nets (CoPN) (read co-pen) is a Petri net-based runtime model for COP languages. Contexts and dependency relations in a COP system are defined in CoPN by means of a language level abstraction suited for COP programmers. At runtime CoPN is used for the management of the activation and deactivation of contexts. Every change in the surrounding environment that is semantically significant for the application is processed by the CoPN. If the change can be reified as a context activation (deactivation) the corresponding behavioral adaptation will be deployed (withhold) from the system.

Download

context Petri nets (CoPN) is available for download under the GPL public license which is part of the distribution below.

Check out the Subjective-C web page

A CoPN view of three contexts: <strong>VideoCall</strong>, <strong>Connectivity</strong> and <strong>HighBattery</strong> and two dependency relations between them (<strong>Connectivity</strong> -> <strong>VideoCall</strong>, <strong>VideoCall</strong> =< <strong>HighBattery</strong>)
A CoPN view of three contexts: VideoCall, Connectivity and HighBattery and two dependency relations between them (Connectivity -> VideoCall, VideoCall =< HighBattery)
Current state
alpha
Contributor(s)

Nicolas Cardozo, Kim Mens

Website
Related Publications

Tags Tags: , , ,