6,209 research outputs found

    A Coloured Petri Net approach to model and analyze safety-critical interactive systems

    Get PDF
    To gain confidence in safety-critical interactive systems, formal modelling and analysis plays a vital role. The aim of this paper is to use Coloured Petri Nets to model and analyze safety-critical interactive systems. We present a technique to construct a single Coloured Petri Net model of the user interface, interaction and functionality of safety-critical interactive systems and then analyze the achieved Coloured Petri Net model using a state space analysis method. There are several reasons for using Coloured Petri Nets. Coloured Petri Nets provides a graphical representation and hierarchical structuring mechanism, and a state space verification technique, which allows querying the state space to investigate behaviours of a system. There are several tools that supports Coloured Petri Nets including the CPN Tool which helps in building CPN models and allows simulation and analysis using state spaces. The technique to model and analyze safety-critical interactive systems is illustrated using a simplified infusion pump example

    Teaching Coloured Petri Nets - a Gentle Introduction to Formal Methods in a Distributed Systems Course

    Get PDF
    This paper is about the two compulsory project assignments set to the students in an undergraduate course on distributed systems. In the first assignment the students design and validate a non-trivial layered protocol by means of Coloured Petri Nets, and in the second they implement the designed protocol in an object-oriented language. From the two assignments the students experience that Coloured Petri Nets, as a formal method, are useful for designing and analysing distributed systems. In the course students are introduced to basic concepts and techniques for distributed systems, and it is explained that such systems are often too complex to manage without using formal methods. In this paper we also report on our experience with teaching the course and describe the didactic methods applied. Based on the obtained experience we conclude that the combination of distributed systems and Coloured Petri Nets is fruitful --- the two areas complement each other. Although our experiences origin in Coloured Petri Nets, we believe that many of our observations hold for other formal methods as well.Topics. Education issues related to nets; Coloured Petri Nets; distributed systems; experience with using nets,case studies; applications of nets to protocols

    Nets in Nets with SNAKES

    Get PDF
    International audienceThis paper presents the toolkit SNAKES, focusing on the ability to model Petri nets whose tokens are Petri nets (so called nets in nets). SNAKES is a general Petri net library that allows to model and execute Python-coloured Petri nets: tokens are Python objects and net inscriptions are Python expressions. Since SNAKES itself is programmed in Python, Petri net inscriptions can handle Petri net objects as data values, for instance as tokens

    Decidable Models of Recursive Asynchronous Concurrency

    Full text link
    Asynchronously communicating pushdown systems (ACPS) that satisfy the empty-stack constraint (a pushdown process may receive only when its stack is empty) are a popular decidable model for recursive programs with asynchronous atomic procedure calls. We study a relaxation of the empty-stack constraint for ACPS that permits concurrency and communication actions at any stack height, called the shaped stack constraint, thus enabling a larger class of concurrent programs to be modelled. We establish a close connection between ACPS with shaped stacks and a novel extension of Petri nets: Nets with Nested Coloured Tokens (NNCTs). Tokens in NNCTs are of two types: simple and complex. Complex tokens carry an arbitrary number of coloured tokens. The rules of NNCT can synchronise complex and simple tokens, inject coloured tokens into a complex token, and eject all tokens of a specified set of colours to predefined places. We show that the coverability problem for NNCTs is Tower-complete. To our knowledge, NNCT is the first extension of Petri nets, in the class of nets with an infinite set of token types, that has primitive recursive coverability. This result implies Tower-completeness of coverability for ACPS with shaped stacks

    Pemodelan Sistem Antrian Di Salah Satu Cabang Bank X Dengan Menggunakan Coloured Petri Nets

    Get PDF
    Salah satu permasalahan sistem event diskrit adalah sistem antrian pada bank, yang menunjukkan kedatangan nasabah, lama nasabah dilayani hingga nasabah selesai dilayani dan meninggalkan bank. Sistem antrian pada bank dapat dimodelkan menggunakan Coloured Petri Nets. Coloured Petri Nets merupakan gabungan dari Petri net dengan bahasa pemrograman yang dikembangkan oleh Kurt Jensen. Pada penelitian ini, dibahas bagaimana memodelkan sistem antrian di salah satu cabang Bank X menggunakan Coloured Petri Nets dan Timed Coloured Petri Nets. Selanjutnya data yang diperoleh diolah secara statistik, dengan menentukan distribusi data yang sesuai. Penentuan distribusi data menggunakan uji normalitas. Jika hasil uji normalitas data menunjukkan data normal maka digunakan distribusi normal, namun jika hasil uji normalitas menunjukkan data tidak normal maka digunakan distribusi yang lainnya dalam hal ini yaitu distribusi eksponensial dan distribusi Weibull. Nilai estimasi parameter dari masing-masing distribusi diperoleh dengan menggunakan metode Maximum Likelihood Estimation (MLE). Nilai tersebut digunakan sebagai parameter pada Timed Coloured Petri Nets (TCPN). Hasil simulasi dari TCPN menunjukkan bahwa jumlah teller yang optimal dalam melayani nasabah adalah empat orang. Selain itu Timed Coloured Petri Nets dapat menunjukkan jumlah nasabah yang dilayani dan waktu pelayanannya. ===================================================== One of the problems in discrete event systems is queuing system at the bank, which shows the arrival of customers, the waiting time, the service time and departure the bank. A queue at the bank system can be modeled using coloured Petri nets. Coloured Petri Nets is a combination of Petri net with programming language which is developed by Kurt Jensen. In this study, we construct a model of queues at Bank X using coloured Petri Nets and Timed Colored Petri Nets. Then, observation data is processed to obtain appropriate statistical distribution. In this thesis, the data has statistical distribution: normal, Weibull and Exponensial based on the distribution testing. The estimation of parameter is determined by Maximum Likelihood Estimation Method. The acquired estimation value will be used as parameters in the queue model using Timed Colored Petri Nets. According to the simulation, Timed Coloured Petri Nets show that the optimum number of tellers to serve the customers are four. Furthermore, Timed Coloured Petri Nets also show the customer numbers and service time

    A Compiler and Runtime Environment for Execution of Coloured Petri Net Models

    Get PDF
    Reliance on software systems is ever increasing in our world. Alongside the application of concurrent software systems that embody communication, syn- chronization and resource sharing. Many problems in software engineering have strict requirements regarding concurrency and correctness. Designing correct concurrent software is challenging, and a range of formalisms and tools exists that can help the development process. Coloured Petri nets are an extension of the mathematical concept of Petri nets and a widely used language for spec- ification and modelling concurrent systems. CPN Tools is a tool for editing, simulating, and analyzing Coloured Petri nets models. A need has been iden- tified to develop new software tools to execute Coloured Petri net models to facilitate further development and increase portability. This thesis proposes a compiler and a runtime environment for Coloured Petri nets using the F# pro- gramming language and the .NET platform. The result is a CPN simulation system consisting of a compiler that can parse a .cpn file and generate code and a simulator that can use the code generated and execute the model. A state-space exploration strongly supports the functional correctness of the system.Masteroppgave i Programutvikling samarbeid med HVLPROG399MAMN-PRO

    Computer Aided Verification of Lamport's Fast Mutual Exclusion Algorithm - Using Coloured Petri Nets and Occurrence Graphs with Symmetries

    Get PDF
    In this paper, we present a new computer tool for verification of distributed systems. As an example, we establish the correctness of Lamport's Fast Mutual Exclusion Algorithm. The tool implements the method of occurrence graphs with symmetries (OS-graphs) for Coloured Petri Nets(CP-nets). The basic idea in the approach is to exploit the symmetries inherent in many distributed systems to construct a condensed state space. We demonstrate a signigicant increase in the number of states which can be analysed. The paper is to a large extent self-contained and does not assume any prior knowledge of CP-nets (or any other kinds of Petri Nets) or OS-graphs. CP-nets and OS-graphs are not our invention. Our contribution is development of the tool and verification of the example.Index Terms: Modelling and Analysis of Distributed Systems, Formal Verification, Coloured Petri Nets, High-Level Petri Nets, Occurrence Graphs, State Spaces, Symmetries, Mutual Exclusion

    Transforming nested structures of flowchart into hierarchical coloured Petri Nets

    Get PDF
    Flowchart is commonly used diagram to represent the processes in design phase of a software system. However, the flowchart of a complex software system inevitably contains the nested structures of branching and looping of the processes. The verification of these nested structure of the flowchart in advance is still difficult to conduct even using simulation techniques. In this paper, we intend to consider the complex flowchart with nested structures, so called nested-if and nested-loop, as our input design model. A set of mapping rules is proposed to transform the input complex flowchart with nested structures into the hierarchical coloured Petri nets to avoid the drawing of a single huge net of complicate model. The hierarchical coloured Petri nets also provides us to manage level of abstraction of the formal model and helps us concentrate on only an appropriate detail at a time. In our transforming approach, both data flow and control flow of the processes in flowchart are concerned as well so that all changing states of the observable variables in the flowchart would be represented and simulated in our resulting hierarchical coloured Petri nets. The CPN simulation tool is used to test and ensure the correctness of our resulting hierarchical coloured Petri nets
    corecore