Analysing Petri Nets in a Calculus of Context-Aware Ambients (original) (raw)

Petri Net Modeling Dynamic Context of Ambient Systems

2014

An ambient System is a network of tools and equipment that interacts to fulfill someone needs. This equipment should respect the context in which they act. In order to correctly fulfill their functions, we need to specify these contexts. In this paper, we propose a new approach that allows 1) to model the ambient systems as a multi agent systems, and 2) to model both local context of each component and the global context of the ambient systems. The context is modeled using petri nets to formally verify and validate the system operations.

Ubiquitous Systems and Petri Nets

Lecture Notes in Computer Science, 2005

Several years before the popularization of the Internet, Mark Weiser proposed the concept of ubiquitous computing with the purpose of enhancing the use of computers by making many computers available throughout the physical environment, but making them effectively invisible to the user. Nowadays, such idea affects all areas of computing science, including both hardware and software. In this paper, a formal model for ubiquitous systems based on Petri nets is introduced and motivated with examples and applications. This simple model allows the definition of two-level ubiquitous systems, composed of a collection of processor nets providing services, and a collection of process nets requesting those services. The modeled systems abstract from middleware details, such as service discovery protocols, and security infrastructures, such as PKI's or trust policies, but not from mobility or component compatibility.

Context Petri Nets: Definition and Manipulation

2012

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 offer 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. 2 Context-Oriented Programming Context-Oriented Programming [9] allows software systems to be modularized into behavioral variations that can be activated and deactivated at run-time. Each variation represents a behavioral adaptation that depends on specific properties of the surrounding environment, such as device battery level, user preferences and geographical location. COP languages provide constructs for Time of day User mode Battery level Camera availability

Context petri nets: Enabling consistent composition of context-dependent behavior

International Workshop on Petri Nets and Software Engineering, PNSE, 2012

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.

CCA: a Calculus of Context-aware Ambients

2009 International Conference on …, 2009

We present a process calculus, CCA, for the modelling and verification of mobile systems that are context-aware. This process calculus is built upon the calculus of mobile ambients and introduces new constructs to enable ambients and processes to be aware of the environment in which they are being executed. This results in a powerful calculus where mobility and context-awareness are first-class citizens. We present the syntax and a formal semantics of the calculus. We show that CCA can encode the π-calculus, and illustrate the pragmatics of the calculus through a case study of a context-aware hospital bed.

Replicated Ambient Petri Nets

Lecture Notes in Computer Science, 2003

Recently we have introduced Ambient Petri nets, as a multilevel extension of the Elementary Object Systems, that can be used to model the concept of nested ambients from the Ambient Calculus. Both mobile computing and mobile computation are supported by that calculus, and then by means of our Ambient Petri nets we get a way to introduce in the world of Petri nets these important features of nowadays computing. Nevertheless, our basic proposal does not yet provide the suitable background for the modeling of replication, one of the basic operators from the original calculus, by means of which infinite processes are introduced and treated in a very simple way. In this paper we enrich our framework by introducing that operator. We obtain a simple and nice model in which the basic nets are still static and finite, since the dynamics of the systems can be covered by the adequate notion of marking, where all the copies generated by the application of the replication operator will live together, without interfering in an inadequate way.

The Calculus of Context-aware Ambients

Journal of Computer and System Sciences, 2010

We present a process calculus, CCA, for the modelling and verification of mobile systems that are context-aware. This process calculus is built upon the calculus of mobile ambients and introduces new constructs to enable ambients and processes to be aware of the environment in which they are being executed. This results in a powerful calculus where mobility and context-awareness are first-class citizens. We present the syntax and a formal semantics of the calculus. We show that CCA can encode the π-calculus, and illustrate the pragmatics of the calculus through a case study of a context-aware hospital bed.

Formal Verification of Context Aware Systems

2020

This discussion paper introduces a modeling technique, based on Boolean Control Networks, for assessing useful properties of Context Aware systems. Indeed, Context Aware systems are becoming useful components in autonomic and monitoring applications and the assessment of their properties is an important step towards reliable implementation, especially in safety-critical applications.

AC-contract: Run-time verification of context-aware applications

Modern software systems are increasingly complex and are controlling critical activities in many different domains. The traditional assumption that these systems will work in a controlled context is slightly vanishing. Therefore, it emerges the need of methodologies able to determine under what conditions desired goals will be achieved and behavioural strategies will be preserved despite (often unavoidable) adaptations. In this paper we use the cognitive psychology concept of schema to identify the set of properties that an adaptable system has to maintain when adapting to changed context. The methodology we propose, called AC-contract (Adaptable Code-contract), starts from high-level requirements and identifies properties that should hold locally on single parts of the system. Local properties are represented as contracts directly on the programming language. Specifically, AC-contract is able to embed logical propositions in the source code as annotations; moreover, it enables veri...