What Petri Net Obliges Us to Say

by   Achiya Elyasaf, et al.

We identify and demonstrate a weakness of Petri Nets (PN) in specifying complex behavior. Specifically, we show how, when specifying multiple requirements in one Petri net model, modelers are obliged to specify mechanisms for combining these requirements. This yields, in many cases, over-specification and incorrect models. We demonstrate how some execution paths are missed, and some are generated unintentionally. To support this claim, we analyze Petri net models from the literature, identify the combination mechanisms, and demonstrate their effect on the correctness of the model. To address this problem, we propose to model the system behavior using behavioral programming (BP), a software development and modeling paradigm designed for seamless integration of independent requirements. Specifically, we demonstrate how the semantics of BP, which define how to interweave scenarios into a single model, allow avoiding the over-specification. Additionally, while BP maintains the same mathematical properties as PN, it provides means for changing the model dynamically, thus increasing the agility of the specification. We compare BP and PN in quantitative and qualitative measures by analyzing the models, their generated execution paths, and the specification process. Finally, while BP is supported by tools that allow for applying formal methods and reasoning techniques to the model, it lacks the legacy of PN tools and algorithms. To address this issue, we propose semantics and a tool for translating BP models to PN and vice versa.


page 1

page 2

page 3

page 4


Testing Reactive Systems Using Behavioural Programming, a Model Centric Approach

Testing is a significant aspect of software development. As systems beco...

Designing a Socio-Technical Business Process for Analyzing Information Quality Requirements: Experience Report

Although many BPs involve critical activities that demand high-quality i...

Context-Oriented Behavioral Programming

Modern systems require programmers to develop code that dynamically adap...

A Knowledge-driven Business Process Analysis Canvas

Business process (BP) analysis represents a first key phase of informati...

Dualities in Tree Representations

A characterization of the tree T^* such that BP(T^*)=DFUDS(T), the rever...

Rule- and context-based dynamic business process modelling and simulation

The traditional approach used to implement a business process (BP) in to...

DesignBIP: A Design Studio for Modeling and Generating Systems with BIP

The Behavior-Interaction-Priority (BIP) framework, rooted in rigorous se...