20 research outputs found
FIFO Buffers in tie Sauce
International audienceThis paper introduces a new semantics for FIFO buffers (more usually called channels) in a parallel programming language, B(PN)². This semantics is given in terms of M-nets, which form an algebra of labelled high-level Petri nets. The proposed approach makes usage of asynchronous link operator, newly introduced in the algebra of M-nets, and repairs some drawbacks of the previous M-net semantics. Channels are now fully expressible within the algebra (it was not the case), they are significantly smaller (in number of places), and they offer several other advantages
Implementing Hierarchical Graph-Structures
. We present concepts for the implementation of hierarchical graphs, which can be used as basis for the implementation of tools for graphical formal description techniques (gFDT) like SDL or statecharts. Our approach provides a strong modularity of a specification by a loose coupling between different hierarchy levels and it serves for a rapid development of interactive editors for gFDTs by a special technique of describing hierarchy. Furthermore, this technique allows the reuse of graph editors in different applications. Our concepts are explained by means of the graphical design tool Moby/plc for a special class of real-time automata, called PLC-Automata.
Using Logic Programs with Stable Model Semantics to Solve Deadlock and Reachability Problems for 1-Safe Petri Nets
McMillan has presented a deadlock detection method for Petri nets based on finite complete prefixes (i.e. net unfoldings). The approach transforms the PSPACE-complete deadlock detection problem for a 1-safe Petri net into a potentially exponentially larger NP-complete problem of deadlock detection for a finite complete prefix. McMillan devised a branch-and-bound algorithm for deadlock detection in prefixes. Recently, Melzer and Römer have presented another approach, which is based on solving mixed integer programming problems. In this work it is shown that instead of using mixed integer programming, a constraint-based logic programming framework can be employed, and a linear-size translation from deadlock detection in prexes into the problem of finding a stable model of a logic program is presented. As a side result also such a translation for solving the reachability problem is devised. Correctness proofs of both the translations are presented. Experimental results are given from an implementation combining a prefix generator from a PEP tool, the translation, and an implementation of a constraint logic programming framework, the smodels system. The experiments show the approach to be quite competetive, when compared to the approaches of McMillan and Melzer/Römer
A compositional Petri net semantics for SDL
In this paper a high-level Petri net semantics for SDL (Specification and Description Language) is presented. Emphasis is laid on the modelling of dynamic creation and termination of processes and of procedures - features, which are, for instance, essential for typical client-server systems. In addition to presenting the main ideas as well as the details of the semantics, we show that we are able to use 'state of the art' verification techniques by basing our approach on M-nets (an algebra of high-level Petri nets). Therefore, we verify our running example, an ARQ (Automatic Repeat reQuest) communication protocol, using the verification component of the PEP tool which presently includes partial order based model checking and algorithms based on linear programming as well as interfaces to other verification packages such as INA, SMV and SPIN providing reduction algorithms based on BDDs, on the stubborn set or sleep set method, and on symmetries. Moreover, we give examples how the compositional nature of the M-net semantics can be used to solve the 'state explosion' problem, and how interactive verification may extend the verification possibilities. (orig.)SIGLEAvailable from TIB Hannover: RO 8347(1997,18) / FIZ - Fachinformationszzentrum Karlsruhe / TIB - Technische InformationsbibliothekDEGerman
A Petri net semantics for B(PN)"2 with procedures which allows verification
Verification of parallel programs is a very important goal on the way to improve the reliability of software. The PEP tool, a Programming Environment based on Petri nets, allows verification of parallel programs by partial order model checking based on a compositional denotational Petri net semantics. The language supported by the PEP tool covers block structuring, parallel and sequential composition, choice, iteration, synchronous and asynchronous communication, including use of unbounded buffers. At present, it does not cover, however, the structuring of programs by procedures. The main contribution of this paper consists in the development of a fully compositional high level Petri net semantics for concurrent programs with procedures, covering recursion, global variables, and many types of parameter passing (including call-by-reference). The semantics will guarantee that the semantical model (HL and LL nets) of program P is finite whenever: - P has only finite data types. -For each procedure in P only a finitely many instances can be active concurrently. Due to the abstract and flexible nature of the Petri net model used, our approach is very general and may also be applied to other specification and programming languages. This has already (partially) been done for the Specification and Description Language (SDL). (orig.)SIGLEAvailable from TIB Hannover: RO 8347(1996,21)+a / FIZ - Fachinformationszzentrum Karlsruhe / TIB - Technische InformationsbibliothekDeutsche Forschungsgemeinschaft (DFG), Bonn (Germany); Deutscher Akademischer Austauschdienst (DAAD), Bonn (Germany)DEGerman
A Concurrent Semantics of Static Exceptions in a Parallel Programming Language
This paper aims at introducing a mechanism of exceptions in a parallel programming language, giving them a formal concurrent semantics in terms of preemptible and composable high-level Petri nets
A concurrent and compositional Petri net semantics of preemption
The aim of this paper is the introduction of preemption in a compositional model, called M-nets, which is based on Petri nets and hence provided with a concurrent semantics. We propose a way to model preemptible systems by extending the M-net model with priorities and the M-net algebra with a preemption operator. We show that these extensions can be seen as a high-level version of the well studied model of priority systems, and so, can be reduced to Petri nets (without priorities) which retain as much as possible of the original concurrency. As a consequence, Petri nets appear as a model powerful enough to deal with preemption in a compositional way and with a concurrent semantics