Coloured Petri Nets Modelling and Validation of Concurrent Systems. Chapter 1: Modelling and Validation

Similar documents
A Brief Introduction to Coloured Petri Nets

Implementing the WebSocket Protocol based on Formal Modelling and Automated Code Generation

A Pragmatic Approach to Model-driven Code Generation from Coloured Petri Nets Simulation Models

ISO/IEC INTERNATIONAL STANDARD. Software and system engineering High-level Petri nets Part 1: Concepts, definitions and graphical notation

Keysight Technologies 5G RF DVT Toolset. Solution Brief

U85026A Detector 40 to 60 GHz

Programming Note. Agilent Technologies Quick Reference Guide For the 8757D/E Scalar Network Analyzer

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

Formal Process Modelling

CODING TCPN MODELS INTO THE SIMIO SIMULATION ENVIRONMENT

Management Science Letters

ALL-IN-ONE PRESENTATION SYSTEMS

Formal Foundations of Software Engineering

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Power Analyzer Firmware Update Utility Version Software Release Notes

Mobile Terminals: Western Europe, (Executive Summary) Executive Summary

E-Seminar. Voice over IP. Internet Technical Solution Seminar

Troubleshooting Ethernet Problems with Your Oscilloscope APPLICATION NOTE

Composability Test of BOM based models using Petri Nets

ENHANCED INTERIOR GATEWAY ROUTING PROTOCOL STUB ROUTER FUNCTIONALITY

HeadSetup Pro Manager

Validation of UML Models for Interactive Systems with CPN and SPIN. Parne Balu Laxman

OECD and APEC since Vancouver 1995

Keysight Technologies N8806A User Defined Function for Editing and Execution for Infiniium Oscilloscopes. Data Sheet

Keysight Technologies 8163B Lightwave Multimeter 8164B Lightwave Measurement System 8166B Lightwave Multichannel System.

Overcoming the Compliance Challenges of VAT Remittance. 12 April :55 to 16:30 (CEST)

Persiform: Performance Engineering Based on

Keysight Technologies Understanding the Programming Interfaces of PXI Instruments

Status of the ISO-STEP Initiative for CGNS-Based Fluid Dynamics Standard

100GBASE-SR4/TDEC Compliance and Characterization Solution

All you need is fun. Cons T Åhs Keeper of The Code

Specification and Testing of Banknote Processing Systems with Coloured Petri Nets

Formal Support for QVT-Relations with Coloured Petri Nets

EVA1 grip redesign allows greater production flexibility

IBM Product Lifecycle Management. CAA Rade solutions

INTEGRATING COLORED PETRI NET AND OBJECT ORIENTED THEORY INTO WORKFLOW MODEL

Typestate-Oriented Design

Corporate R&D The Case of ICT Companies

Multilevel modelling of coloured Petri nets

Modeling of Session Initiation Protocol Invite Transaction using Colored Petri Nets

PRODUCT DATA. Conformance Test System for PSTN Telephones Base System Type 6711 (version 2.0)

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

E-Seminar. Wireless LAN. Internet Technical Solution Seminar

Incubating ideas in R&D capabilities abroad

International. ebanking Benchmark Study 2012

MODELLING DEADLOCK AVOIDANCE IN AGV SYSTEMS VIA COLOURED PETRI NETS

Tektronix Logic Analyzer Probes P5900 Series Datasheet

Keysight Technologies Multi-Vendor Cellular Networks and Value Driven Optimization. Application Note

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Items exceeding one or more of the maximum weight and dimensions of a flat. For maximum dimensions please see the service user guide.

Cisco ONS SDH 12-Port STM-1 Electrical Interface Card

Supporting the Workflow Management System Development Process with YAWL

International Packets

Keysight B4655A FPGA Dynamic Probe for Xilinx. Data Sheet

Petri-net-based Workflow Management Software

Techniques for the unambiguous specification of software

Cisco Extensible Provisioning and Operations Manager 4.5

COLORED PETRI NETS IN THE SIMULATION OF ETL STANDARD TASKS THE SURROGATE KEY PIPELINING CASE

DIGITALEUROPE VIEWS ON ANTENNA PERFORMANCE

Cisco Voice Services Provisioning Tool 2.6(1)

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Process Modelling using Petri Nets

ISO Compliant Automatic Requirements-Based Testing for TargetLink

Open Archives Forum - Technical Validation -

Lecture 14: The Split-Apply-Combine Paradigm Statistical Computing, Monday November 9, 2015

Business Process Management Seminar 2007/ Oktober 2007

Global entertainment and media outlook Explore the content and tools

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications.

Traffic Offload. Cisco 7200/Cisco 7500 APPLICATION NOTE

Troubleshooting Ethernet Problems with Your Oscilloscope APPLICATION NOTE

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Colored Petri Net based Timing Analysis for UAS Application Software

Innovative Fastening Technologies

Hierarchical Petri Net Simulator: Simulation, Design Validation, and Model Checking Tool for Hierarchical Place/Transition Petri Nets

ISO/IEC JTC1/SC7 /N3016

Keysight Technologies UXG Agile Signal Generator, Modified Version N5191A

Training and trials on network planning tools for evolving network architectures. Session 3.2

PROTOCOL ENGINEERING BY HARTMUT KöNIG

Infrastructure for innovation. Osma Ahvenlampi, CTO Sulake Corporation

Frequently Asked Questions

Keysight Technologies E5260A/E5262A/E5263A/E5270B Precision IV Analyzers. Technical Overview

Light Quality and Energy Efficiency The CIE Approach

Model-based Prototyping of an Interoperability Protocol for Mobile Ad-hoc Networks

Preliminary Examination of Global Expectations of Users' Mental Models for E-Commerce Web Layouts

Keysight Technologies E3620A and E3630A Non-programmable DC Power Supplies. Data Sheet

Planning Your Meeting... 2

Expressing Environment Assumptions and Real-time Requirements for a Distributed Embedded System with Shared Variables

Modelling and Simulation of a Network Management System using Hierarchical Coloured Petri Nets. Extended version

China and Global Semiconductor Industry Update and Outlook

Convention Espace Partenaires , Ecole Militaire, Paris. ENX European Network Exchange Lennart Oly, Directeur, ENX Association

ISO/TS TECHNICAL SPECIFICATION. Automatic vehicle and equipment identification Intermodal goods transport Numbering and data structures

E-readiness rankings 2007

Cisco AVVID The Architecture for E-Business

Interaction Testing. Chapter 15

MORE THAN JUST A PRODUCT, CABLOFIL IS A GLOBAL SOLUTION. Safer, more economic economic and more performant and A SYSTEM AN EXPERTISE A SERVICE

Keysight Technologies PROPSIM F64 5G Channel Emulation Solution - F8800A

Extended Coloured Petri Nets with Structured Tokens Formal Method for Distributed Systems

CISCO 7304 SERIES ROUTER PORT ADAPTER CARRIER CARD

Keysight N2753A and N2754A Windows XP to Windows 7 Upgrade Kits For Infiniium 9000, 90000, and X-Series Oscilloscopes. Configuration Guide

ISO compliant verification of functional requirements in the model-based software development process

Transcription:

Coloured Petri Nets Modelling and Validation of Concurrent Systems Chapter 1: Modelling and Validation Lars M. Kristensen Department of Computing Bergen University College, NORWAY Email: lmkr@hib.no / WWW: www.hib.no/ansatte/lmkr Petri Nets Course 2014-1

Concurrent Systems The vast majority of IT systems today can be characterised as concurrent systems: Structured as a collection of concurrently executing software components and applications (parallelism). Operation relies on communication, synchronisation, and resource sharing. Internet and Web-based applications, protocols Multi-core platforms and multi-threaded software Embedded systems and networked control systems Petri Nets Course 2014-2

Concurrent Systems Most software development projects are concerned with concurrent software systems. The engineering of concurrent systems is challenging due to their complex behaviour: Concurrently executing and independently scheduled software components. Non-deterministic and asynchronous behaviour (e.g., timeouts, message loss, external events, ). Almost impossible for software developers to have a complete understanding of the system behaviour. Reproducing errors is often difficult. Techniques to support the engineering of reliable concurrent systems are important. Petri Nets Course 2014-3

Modelling One way to approach the challenges posed by concurrent systems is to build a model. A model is an abstract representation which can be manipulated by a computer software tool: Concurrent system Model Using a model it becomes possible to investigate properties of the system prior to implementation. Petri Nets Course 2014-4

Modelling Modelling is also used in many other disciplines: When engineers construct a bridge. When architects design a building. Modelling is typically done in the early phases of system development. Petri Nets Course 2014-5

Why Software Modelling? Supports abstraction and the use of domainspecific concepts in software development. Benefits of constructing a model: Insight into the design and operation of the system. Completeness: results in a more complete design. Correctness: reveal errors and ambiguities in the design phase. Properties can be validated prior to implementation and deployment: Functional properties (e.g., deadlocks, timing requirements, ). Performance properties (e.g., delay, throughout, scalability, ). The software models can be used as a basis for automated generation of implementations. Petri Nets Course 2014-6

Model-driven Software Engineering Enables automatic code generation of software and automated verification: Software model Code Generation Tool Software Verification Tool Petri Nets Course 2014-7

Coloured Petri Nets (CPNs) General-purpose graphical modelling language for the engineering of concurrent systems. Combines Petri Nets and a programming language: Petri Nets: [C.A. Petri 62] 1 1`wrk(1) In CanCommit Worker 1 1`(wrk(2),Yes) Out Votes WorkerxVote In Decision WorkerxDecision w (w,vote) (w,decision) w Idle w Receive CanCommit Waiting Decision Receive Decision Worker.all () if vote = Yes then 1`w else empty w 1 1`wrk(1) Worker Worker if vote = No then 1`w else empty 1 1`wrk(2) graphical notation concurrency communication synchronisation resource sharing CPN ML (Standard ML): data manipulation compact modelling High-Level Petri Net Out Acknowledge w parameterisable models Worker Petri Nets Course 2014-8

Application Areas Communication protocols and data networks. Distributed algorithms and software systems. Embedded systems and control software. Business processes and workflow modelling. Manufacturing systems. [ http://cs.au.dk/cpnets/industrial-use/ ] Petri Nets Course 2014-9

Quick Recap: Petri Net Concepts 1 1 1 2 1 2 1 2 1 2 2 State modelling: Places (ellipses) that may hold tokens. Marking (state): distribution of tokens on the places. Initial marking: initial state. Event (action) modelling: Transitions (rectangles) Directed arcs: connecting places and transitions. Arc weights: specifying tokens to be added/removed. Execution (token game): Current marking Transition enabling Transition ocurrence Petri Nets Course 2014-10

High-level Petri Nets Petri Nets are divided into low-level and highlevel Petri Nets: Low-level Petri Nets (such as Place/Transitions Nets) are primarily suited as a theoretical model for concurrency, but are also applied for modelling and verification of hardware systems. High-level Petri Nets (such as CP-nets and Predicate/Transitions Nets) are aimed at practical use, in particular because they allow for construction of compact and parameterised models. High-level Petri Nets is an ISO/IEC standard and the CPN modelling language and supporting tools conform to this standard. Petri Nets Course 2014-11

CPN Tools [ www.cpntools.org ] Practical use of CPNs is supported by CPN Tools: Editing and syntax check. Interactive- and automatic simulation. Application domain visualisation. Verification based on state space exploration. Simulation-based performance analysis. Petri Nets Course 2014-12

Examples of CPN Tools users North America Asia Europe Boeing Alcatel Austria Hewlett-Packard Siemens Austria Samsung Information Bang & Olufsen, Denmark Systems Nokia, Finland National Semiconductor Corp. Alcatel Business Systems, France Fujitsu Computer Products Peugeot-Citroën, France Honeywell Inc. Dornier Satellitensysteme, MITRE Corp., Germany Scalable Server Division SAP AG, Germany E.I. DuPont de Nemours Inc. Volkswagen AG, Germany Federal Reserve System Alcatel Telecom, Netherlands Bell Canada Rank Xerox, Netherlands Nortel Technologies, Canada Sydkraft Konsult, Sweden Central Bank of Russia Siemens Switzerland Goldman Sachs, UK Mitsubishi Electric Corp., Japan Toshiba Corp., Japan SHARP Corp., Japan Nippon Steel Corp., Japan Hongkong Telecom Interactive Multimedia System Petri Nets Course 2014-13

CPN models are formal The CPN modelling language has a mathematical definition of both its syntax and semantics. The formal representation is important as it: Provides the foundation for the definition of the different behavioural properties and the analysis methods. Would have been impossible to develop a sound and powerful CPN language without it. Formal models can be used to verify system properties such as: Proving that certain desired properties are fulfilled Proving that certain undesired properties are guaranteed to be avoided. Petri Nets Course 2014-14

Role of CP-nets The development of CP-nets has been driven by the desire to develop: an industrial strength modelling language, which is theoretically well-founded and versatile enough to be used in practice for systems of the size and complexity found in typical industrial projects. CP-nets is not a modelling language designed to replace other modelling languages (such as UML). THEORY models basic concepts analysis methods TOOLS editing simulation verification PRACTICAL USE specification validation verification implementation CP-nets is often used in conjunction with other to existing modelling languages and methodologies. Petri Nets Course 2014-15

Questions Petri Nets Course 2014-16