CPN 10 - Department of Computer Science

Download Report

Transcript CPN 10 - Department of Computer Science

Coloured Petri Nets
Modelling and Validation of Concurrent Systems
Chapter 10: Timed Coloured Petri Nets
AllPackets
Kurt Jensen &
Lars Michael Kristensen
Packets
To Send
6
NOxDATA
{kjensen,lmkristensen}@cs.au.dk
(n,d)
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
(n,d)@+Wait
(n,d)
(n,d)
Send
Packet
A
Transmit
Packet
NOxDATA
@+9
@+D
n
1`1
NextSend
1
1`1
1`1@9
1`2@100
NO
k
1
NO
n
1`2@150
Receive
Ack
Coloured Petri Nets
Department of Computer Science
n
@+7
1
D
NO
Transmit
1 Ack
if success
then 1`n
Kurt
Jensen
else
empty
Lars M. Kristensen
@+
Two kinds of properties
 Up to now we have concentrated on the functional/logical
properties of the modelled system such as deadlocks and
home markings.
 It is also important to be able to analyse how efficient a
system performs its operations.
 This is done by means of timed CPN models.
 A timed CPN model allows us to investigate performance
measures such as queue lengths and waiting times.
2
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
CPN language can be used for both
 The CPN modelling language can be used to investigate both:
 Functional/logical properties.
 Performance properties.
 Most other modelling languages can only be used to analyse
either functional/logical properties or performance properties.
 It is an obvious advantage to be able to make both kinds of
analysis by means of the same modelling language.
 Usually we have two slightly different but closely related
CPN models.
3
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Timed CPN models
 In a timed CPN model tokens have:
 A token colour.
 A timestamp.
 The timestamp is a non-negative integer belonging to
the type TIME.
 The timestamp tells us the time at which the token is ready
to be removed by an occurring transition.
 The system has a global clock representing model time.
 The global clock is shared by all modules in the CPN model.
4
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Multisets
Addition of
timed multisets
 Untimed multiset:
 Timed multiset:
1`(1,"COL") ++
1`(1,"OUR") ++
1`(1,"ED ") ++
1`(1,"PET") ++
1`(1,"RI ") ++
1`(1,"NET")
Coefficient
Token
colour
1`(1,"COL")@218 +++
1`(1,"OUR")@2095 +++
1`(1,"ED ")@2664 +++
1`(1,"PET")@2906 +++
1`(1,"RI ")@3257 +++
1`(1,"NET")@3499
Coefficient
Token
colour
Timestamp
5
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Timed CPN model for our protocol
Transitions and arcs may
have time delay inscriptions
AllPackets
Packets
To Send
1`""
Data
Received
They describe the
duration of activities
NOxDATA
(n,d)
DATA
(n,d)@+Wait
(n,d)
Send
Packet
(n,d)
A
NOxDATA
@+9
Transmit
Packet
if success
then 1`(n,d)
else empty
B
(n,d)
NOxDATA
@+Delay()
data
n
1`1
1`1
NextSend
k
k
Receive
Packet
NextRec
NO
NO
if n=k
then k+1
else k
n
Receive
Ack
n
@+7
D
NO
if success
then 1`n
else empty
if n=k
then data^d
else data
Transmit
Ack
@+Delay()
n
@+17
if n=k
then k+1
else k
C
NO
6
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Definitions and declarations
 Definitions of colour sets:
colset
colset
colset
colset
NO
DATA
NOxDATA
BOOL
=
=
=
=
CPN ML keyword
int timed;
string timed;
product NO * DATA timed;
bool;
 Tokens of type NO, DATA, and NOxDATA will carry
timestamps.
 Declarations of variables and constants:
var
var
var
val
n,k : NO;
d, data : DATA;
success : BOOL;
Wait = 100;
New symbolic constant specifying
the delay between retransmissions
7
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
New function
 Definition of function:
fun Delay() = discrete(25,75);
Predefined function returning an arbitrary
integer in the interval specified by its argument
 Delay returns an integer between 25 and 75.
 All 51 values have the same probability to be chosen.
 The choice is made by a random number generator.
 The Delay function will be used to model the transmission
time for data packets and acknowledgements.
 The transmission time may vary between 25 and 75
time units – e.g. depending on the network load.
8
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Initial marking M0
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
1`(1,"COL")@0+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
1`""
1`""@0
SP1 will be ready
to occur at time 0
1
Data
Received
DATA
(n,d)@+Wait
(n,d)
(n,d)
Send
Packet
A
Transmit
Packet
NOxDATA
@+9
if success
then 1`(n,d)
else empty
B
(n,d)
NOxDATA
@+Delay()
if n=k
then data^d
else data
data
n
1`1
NextSend
1`1
1 1`1@0
1`1@0
NO
k
1
k
NO
if n=k
then k+1
else k
n
Receive
Ack
n
@+7
D
NO
if success
then 1`n
else empty
Receive
Packet
NextRec
Transmit
Ack
n
@+Delay()
@+17
if n=k
then k+1
else k
C
NO
SP1 = (SendPacket, <n=1, d="COL">)
0
9
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Marking M1
 SP1 has occurred at time 0.
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
(n,d)@+Wait
1`""@0
1
(n,d)
A
Transmit
Packet
NOxDATA
@+9
1
Data
Received
DATA
1`(1,"COL")@9
(n,d)
Send
Packet
1`""
if success
then 1`(n,d)
else empty
B
@+Delay()
(n,d)
NOxDATA
if n=k
then data^d
else data
data
n
1`1
NextSend
1`1
1 1`1@9
1`1@0
NO
k
1
k
NO
n
Time of occurrence:
Transition time
delay:
Receive
Ack
Token for NextSend:
@+7
n
0
9
9
D
NO
Time of occurrence:
0
TransitionTransmit
time delay: 9
Ack
n 9
ifToken
successfor A:
then 1`n
else empty
Receive
Packet
NextRec
@+Delay()
if n=k
then k+1
else k
C
NO
@+17
if n=k
Time then
of occurrence:
0
k+1
else k time delay:
Transition
9
Arc time delay:
100
PacketsToSend:
109
10
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Time delays
 Transitions and arcs may have time delay inscriptions.
 They are CPN ML expressions of type TIME – i.e. they
evaluate to a non-negative integer.
 A time delay at a transition applies to all tokens
produced by the transition.
 A time delay at an output arc applies to all tokens
produced by that arc.
 An omitted time delay is a shorthand for a zero
time-delay.
11
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Transitions occur instantaneously
 The occurrence of a transition is always
instantaneous, i.e. takes no time.
X
 The time delay ∆ of a transition can be interpreted
as the duration of the operation which is modelled
by the transition.
x
 The output tokens of the transition will not be
available for other transitions until ∆ time units later.
x
T1
@+16
X
x
 If T1 occurs at time 45 it will produce a token with
timestamp 61.
 This implies that T2 cannot occur until 16 time units
after the beginning of the operation modelled by T1.
T2
x
@+23
X
12
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Another possibility
 At a first glance, it may look simpler to define the occurrence
of a transition with time delay ∆ to take ∆ time units:
 Removing input tokens when the occurrence starts.
 Adding output tokens when the occurrence ends.
 This would imply that a timed CPN model has a number of
intermediate markings with no counterparts in the
corresponding untimed CPN model:
 Some transitions have occurred partially.
 Their input tokens have already been removed.
 Their output tokens have not yet been added.
13
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
TP1+ and TP1– are ready to occur at time 9.
They are in conflict with each other
Marking M1
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
(n,d)@+Wait
1
@+9
(n,d)
A
1`""
Data
Received
Assume that TP1+ occurs and
Delay returns the value 38
1`(1,"COL")@9
(n,d)
Send
Packet
SP1 is colour enabled but it is
not ready until time 109
It is not enabled
1`""@0
1
Transmit
Packet
NOxDATA
if success
then 1`(n,d)
else empty
B
@+Delay()
DATA
(n,d)
NOxDATA
if n=k
then data^d
else data
data
n
1`1
NextSend
1`1
1 1`1@9
1`1@0
NO
k
1
k
NO
n
SP1 = (SendPacket, <n=1, d="COL">)
Receive
Ack
Transmit
Ack
D
Receive
Packet
NextRec
if n=k
then k+1
else k
@+17
if n=k
then k+1
109
else k
C
n
TP1+ = (TransmitPacket,
<n=1, d="COL", nsuccess=true>)
if success
@+7
NO
then 1`n
else empty
@+Delay()
9
NO
TP1– = (TransmitPacket, <n=1, d="COL", success=false>)
9
14
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Marking M2
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
RP1 is ready to occur at time 47
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
SP1 is colour enabled but it is
not ready until time 109
1`""@0
RP1 will occur
at time 47
(n,d)
(n,d)
A
Transmit
Packet
NOxDATA
@+9
1`(1,"COL")@47
if success
then 1`(n,d)
else empty
1
B
(n,d)
NOxDATA
@+Delay()
Data
Received
DATA
(n,d)@+Wait
Send
Packet
1
1`""
if n=k
then data^d
else data
data
n
1`1
NextSend
1`1
1 1`1@9
NO
k
1
1`1@0
k
NO
if n=k
then k+1
else k
n
Receive
Ack
n
@+7
Receive
Packet
NextRec
SP1 D= (SendPacket,
<n=1, d="COL">)
Transmit
C
if success
then 1`n
else empty
Ack
@+17
if n=k
then k+1
else k
109
n
NO
RP1NO= (ReceivePacket,
<n=1, d="COL",
k=1, data = "">)
@+Delay()
47
15
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
SP1 = (SendPacket, <n=1, d="COL">)
Marking M3
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
64
TA2– = (TransmitAck, <n=2, success=false>)
64
1`"COL"@64
Transmit
Packet
A
NOxDATA
@+9
1
Data
Received
Assume that TA2+ occurs at time
64 and Delay returns the value 33
(n,d)
(n,d)
TA2+ = (TransmitAck, <n=2, success=true>)
1`""
(n,d)@+Wait
Send
Packet
if success
then 1`(n,d)
else empty
B
(n,d)
NOxDATA
@+Delay()
DATA
data
n
1`1
NextSend
1`1
1 1`1@9
1`2@64
NO
k
1
n
@+7
D
NO
if success
then 1`n
else empty
Receive
Packet
NextRec
NO
Transmit
Ack
if n=k
then data^d
else data
k
if n=k
then k+1
else k
n
Receive
Ack
109
1`2@64
1
n
@+Delay()
@+17
if n=k
then k+1
else k
C
NO
16
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Marking M4
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
SP1 = (SendPacket, <n=1, d="COL">)
109
RA2 = (ReceivePacket, <n=2, k=1>)
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
97
1`""
1`"COL"@64
RA2 will occur
at time 97
1
Data
Received
DATA
(n,d)@+Wait
(n,d)
(n,d)
Send
Packet
Transmit
Packet
A
NOxDATA
@+9
if success
then 1`(n,d)
else empty
B
(n,d)
NOxDATA
@+Delay()
if n=k
then data^d
else data
data
n
1`1
NextSend
1`1
1 1`1@9
1`2@64
NO
k
1
k
NO
if n=k
then k+1
else k
n
1`2@97
Receive
Ack
n
@+7
1
D
NO
if success
then 1`n
else empty
Receive
Packet
NextRec
Transmit
Ack
n
@+Delay()
@+17
if n=k
then k+1
else k
C
NO
17
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Marking M5
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
SP2 = (SendPacket, <n=2, d="OUR">)
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
104
1`""
1`"COL"@64
SP2 will occur
at time 104
1
Data
Received
DATA
(n,d)@+Wait
(n,d)
(n,d)
Send
Packet
Transmit
Packet
A
NOxDATA
@+9
if success
then 1`(n,d)
else empty
B
(n,d)
NOxDATA
@+Delay()
if n=k
then data^d
else data
data
n
1`1
NextSend
1`1
1 1`2@104
1`2@64
NO
k
1
k
NO
if n=k
then k+1
else k
n
Receive
Ack
n
@+7
D
NO
if success
then 1`n
else empty
Receive
Packet
NextRec
Transmit
Ack
n
@+Delay()
@+17
if n=k
then k+1
else k
C
NO
18
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Marking M6
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
1`(1,"COL")@109+++
1`(2,"OUR")@213+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
(n,d)@+Wait
1`"COL"@64
1
(n,d)
Transmit
Packet
A
NOxDATA
@+9
1
Data
Received
DATA
1`(2,"OUR")@113
(n,d)
Send
Packet
1`""
if success
then 1`(n,d)
else empty
B
(n,d)
NOxDATA
@+Delay()
data
n
1`1
NextSend
1`1
1 1`2@113
1`2@64
NO
k
1
k
NO
n
@+7
D
NO
if success
then 1`n
else empty
Receive
Packet
NextRec
if n=k
then k+1
else k
n
Receive
Ack
if n=k
then data^d
else data
Transmit
Ack
n
@+Delay()
@+17
if n=k
then k+1
else k
C
NO
19
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Retransmissions
 In the investigated occurrence sequence it turned out to
be unnecessary to retransmit data packet no 1.
 The acknowledgement requesting data packet no 2
arrived at time 97 while the retransmission would have
started at time 109.
 When the delays on the network are larger the situation is
different and we may, e.g., reach the following marking.
20
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Marking M4*
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
RA2 = (ReceivePacket, <n=2, k=1>)
150
Transmit
Packet
A
NOxDATA
@+9
1`""
1`"COL"@100
1
Data
Received
DATA
Acknowledgement arrives too late
A retransmission will occur
(n,d)
(n,d)
109
SP1 will occur
at time 109
(n,d)@+Wait
Send
Packet
SP1 = (SendPacket, <n=1, d="COL">)
if success
then 1`(n,d)
else empty
B
(n,d)
NOxDATA
@+Delay()
if n=k
then data^d
else data
data
n
1`1
NextSend
1`1
1 1`1@9
1`2@100
NO
k
1
k
NO
if n=k
then k+1
else k
n
1`2@150
Receive
Ack
n
@+7
1
D
NO
if success
then 1`n
else empty
Receive
Packet
NextRec
Transmit
Ack
n
@+Delay()
@+17
if n=k
then k+1
else k
C
NO
21
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Dead marking at the end of simulation
Times at which the individual packets
would have been retransmitted
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
1`(1,"COL")@218+++
1`(2,"OUR")@2095+++
1`(3,"ED")@2664+++
1`(4,"PET")@2906+++
1`(5,"RI")@3257+++
1`(6,"NET")@3499
All packets successfully received
1`"COLOURED PETRI NET"@3357
1`""
Data
Received
1
DATA
Last packet received at time 3357
(n,d)@+Wait
Transmit
Packet
A
NOxDATA
@+9
n
(n,d)
(n,d)
Send
Packet
B
(n,d)
NOxDATA
@+Delay()
if n=k
then data^d
else data
data
Last acknowledgement received at time 3414
1`1
NextSend
1`1
1 1`7@3414
1`7@3357
NO
k
if success
then 1`(n,d)
else empty
1
k
NO
if n=k
then k+1
else k
n
Receive
Ack
n
@+7
D
NO
if success
then 1`n
else empty
Receive
Packet
NextRec
Transmit
Ack
n
@+Delay()
@+17
if n=k
then k+1
else k
C
NO
22
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Non-deterministic simulation
 The chosen occurrence sequence depends on:
 The values returned by the Delay function.
 The choices between conflicting binding elements.
 In an automatic simulation both sets of choices are made by
means of a random number generator.
 A new simulation will result in a new dead marking.
 The token colours will be the same.
 The timestamps will be different.
23
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Slightly different model
AllPackets
Packets
To Send
6
NOxDATA
(n,d)
1`(1,"COL")@0+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
1`""
1`""@0
1
Data
Received
DATA
(n,d)@+Wait
(n,d)
Send
Packet
(n,d)
A
Transmit
Packet
NOxDATA
@+9
if success
then 1`(n,d)
else empty
B
(n,d)
NOxDATA
@+Delay()
data
n
Untimed
place
1`1
NextSend
1 1`1
Token without
timestamp 1`1@0
INT
k
n
1`1
1
k
if n=k
then k+1
else k
Untimed colour set
n
@+7
D
NO
if success
then 1`n
else empty
Receive
Packet
NextRec
NO
Receive
Ack
if n=k
then data^d
else data
Transmit
Ack
@+Delay()
n
@+17
if n=k
then k+1
else k
C
NO
24
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Parallel sender operations
 The revised CPN model represents a system in which
the sender can perform several SendPacket and
ReceiveAck operations in parallel.
 The beginning of each operation is modelled by the
occurrence of a transition.
 Several operations can start at the same moment of
model time, or shortly after each other.
 In the original CPN model SendPacket and ReceiveAck have to
wait for the timed token on place NextSend.
 Hence no other sender operation can begin until:
 9 time units after the beginning of a SendPacket operation.
 7 time units after the beginning of a ReceiveAck operation.
25
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Event queue
 The execution of a timed CPN model is controlled by the
global clock.
 This is similar to the event queue found in many simulation
engines for discrete event simulation.
 The model remains at a given model time as long as there are
binding elements that are enabled, i.e., are both:
 Colour enabled (have the necessary input tokens).
 Ready for execution (the required input tokens have timestamps that are smaller than or equal to the global clock).
 When there are no more enabled binding elements, the
simulator advances the global clock to the earliest next model
time at which one or more binding elements become enabled.
 If no such model time exists the marking is dead.
26
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Markings, conflicts and concurrency
 Each marking exists in a closed interval of model time
– which may be a point, i.e., a single moment.
 As for untimed CPN models we may have conflicts and
concurrency between binding elements (and binding
elements may occur concurrently to themselves).
 This can only happen when the binding elements are enabled
at the same moment of model time.
27
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Behaviour of timed CPN models
 The behavioural properties of timed CPN models are
defined in a similar way as in the untimed CPN case:
 Occurrence sequences.






Reachability.
Integer and multiset bounds.
Home markings, home spaces and home predicates.
Dead markings.
Dead and live transitions/binding elements.
Fairness properties.
 For multiset bounds and home markings/spaces we consider
the untimed markings – i.e. we ignore the timestamps.
28
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Time delays are additional constraints
 Each timed CPN model determines an underlying
untimed CPN model – obtained by removing all time delay
inscriptions (and all timestamps).
 The occurrence sequences of a timed CPN model form a
subset of the occurrence sequences for the corresponding
untimed CPN model.
 The time delay inscriptions enforce a set of additional
enabling constraints – forcing the binding elements to be
executed in the order in which they become enabled.
 CPN Tools use the same simulation engine to handle timed
and untimed CPN models.
 For untimed CPN models the global clock remains at 0.
29
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Start with an untimed CPN model
 It often beneficial for the modeller to start by constructing
and validating an untimed CPN model.
 In this way the modeller can concentrate on the
functional/logical properties of the system.
 The functional/logical properties should as far as possible
be independent of concrete assumptions about execution
times and waiting times.
 It is possible to describe the existence of time-related
system features, such as retransmissions and the
expiration of a timer, without explicitly specifying waiting
times or the duration of the individual operations.
30
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Continue with a timed CPN model
 When the functional/logical properties of a system have
been designed and thoroughly validated, the user may
analyse and improve the efficiency by which the system
performs its operations.
 This is done by adding time delays describing the duration
of the individual operations.
 From our remarks above, it follows that these time delays
cannot introduce new behaviour in the system – they
merely restrict the possible occurrence sequences.
31
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Revised protocol
 To illustrate other aspects of timed CPN models, we
provide a modified version of the sender.
 We now explicitly model a timer controlling the
retransmission of packets.
 We show how to use time delay inscriptions on input arcs.
32
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Modified sender – initial marking M0
AllPackets
 SelectNext moves the
next packet to be sent.
Packets
To Send
6
NOxDATA
 The packet number is
determined by the token
colour on Select.
1`1@0
(n,d)
1`(1,"COL")@0+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
(n,d)
Select
Next
(n,d)
Selected
NOxDATA
(n,d)
n
1
1
Select
(n,d)
TimeOut
@+9
A
NOxDATA
Timer
NOxDATA
[k<=n]
k
(n,d)
(n,d)@+Wait
NO
 SelectNext operation is
instantaneous, i.e. so fast
that it is modelled to take
zero time.
Send
Packet
(n,d)@+Wait
Stop
Timer
k
[k>n]
k
1
1`1@0
1 NextSend
k
NO
if n>k
then n
else k
n
Receive
Ack
@+7
D
NO
33
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Modified sender – marking M1
 Selected packet is
ready to be sent by
SendPacket.
AllPackets
Packets
To Send
5
NOxDATA
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
(n,d)
1`(1,"COL")@0
 Simultaneously a token
will be put on place Timer
– modelling the start of a
timer.
(n,d)
Select
Next
1
(n,d)
Selected
Send
Packet
NOxDATA
(n,d)
n
(n,d)
TimeOut
NO
A
NOxDATA
Timer
NOxDATA
[k<=n]
k
@+9
(n,d)@+Wait
1
Select
(n,d)
(n,d)@+Wait
Stop
Timer
k
[k>n]
k
1
1`1@0
1 NextSend
k
NO
if n>k
then n
else k
n
Receive
Ack
@+7
D
NO
34
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Modified sender – marking M2
 Data packet no 1
has been sent.
AllPackets
Packets
To Send
6
NOxDATA
 Timer has been started
and it will expire at
time 109.
(n,d)
1`(1,"COL")@0+++
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
1`(1,"COL")@9
(n,d)
Select
Next
(n,d)
Selected
NOxDATA
(n,d)
n
Select
 This will enable SendPacket
and a retransmission of data
packet no 1 will occur.
(n,d)
TimeOut
NO
Timer
@+9
1
A
NOxDATA
1
1`(1,"COL")@109
NOxDATA
[k<=n]
k
(n,d)
(n,d)@+Wait
1
 If no acknowledgement is
received before time 109,
the TimeOut transition will
occur.
Send
Packet
(n,d)@+Wait
Stop
Timer
k
[k>n]
k
1
1`1@0
1 NextSend
k
NO
if n>k
then n
else k
n
Receive
Ack
@+7
D
NO
35
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Modified sender – marking M3
 Acknowledgement
requesting packet no 2
is arriving at time 94.
AllPackets
Packets
To Send
5
NOxDATA
 ReceiveAck will occur
and update NextSend.
 The new value of
NextSend is the highest
value of n and k.
 This means that NextSend
never is decreased.
 It holds the highest
packet number requested
by an acknowledgement.
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
(n,d)
(n,d)
Select
Next
(n,d)
Selected
Send
Packet
NOxDATA
(n,d)
n
(n,d)
TimeOut
NO
Timer
A
NOxDATA
1
1`(1,"COL")@109
NOxDATA
[k<=n]
k
@+9
(n,d)@+Wait
1
Select
(n,d)
(n,d)@+Wait
Stop
Timer
k
[k>n]
k
1
1`1@0
1 NextSend
k
NO
if n>k
then n
else k
1`1@94
n
Receive
Ack
@+7
1
D
NO
36
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Modified sender – marking M4
 StopTimer will remove
a token with timestamp
109 from place Timer.
AllPackets
Packets
To Send
5
NOxDATA
 The input arc from Timer
has its own time delay
inscription.
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
(n,d)
(n,d)
Select
Next
(n,d)
Selected
NOxDATA
(n,d)
n
1
Select
(n,d)
TimeOut
 This means that StopTimer will
be ready to occur at time 101.
Timer
@+9
A
NOxDATA
1
1`(1,"COL")@109
NOxDATA
[k<=n]
k
(n,d)
(n,d)@+Wait
NO
 This allows the transition to
remove the token Wait time
units ahead of the timestamp.
Send
Packet
(n,d)@+Wait
Stop
Timer
k
[k>n]
k
1
1`2@101
 StopTimer operation is instantaneous.
1 NextSend
k
NO
if n>k
then n
else k
n
Receive
Ack
@+7
D
NO
37
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Modified sender – marking M5
AllPackets
 Timer has been
stopped.
Packets
To Send
NOxDATA
1`(2,"OUR")@0+++
1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
(n,d)
 Select has been
updated to the packet
number specified by
NextSend.
 Data packet no 2
can now be selected
at time 101.
5
(n,d)
Select
Next
(n,d)
Selected
Send
Packet
NOxDATA
(n,d)
n
1
Select
(n,d)
TimeOut
NO
A
NOxDATA
Timer
NOxDATA
[k<=n]
k
@+9
(n,d)@+Wait
1
1`2@101
(n,d)
(n,d)@+Wait
Stop
Timer
k
[k>n]
k
1
1`2@101
1 NextSend
k
NO
if n>k
then n
else k
n
Receive
Ack
@+7
D
NO
38
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Time delay inscriptions on input arcs

The use of time delay inscriptions on input arcs allow us to
remove tokens ahead of time.

This can be very useful to model the interruption of an ongoing
operation – e.g. a running timer.

Without such a facility one would need additional bookkeeping
– to remember that a token should be removed when the
model time becomes high enough to allow this.

When a time delay inscription is used on a double-headed arc,
it is used for both the input arc and the output arc.

If the time delay inscription only should be used for one of the
arcs, it is necessary to draw two separate arcs.
39
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
State spaces for timed CPN models
 State spaces for timed CPN models are defined in a
similar way as state spaces for untimed models.
 Each state space node represents a timed marking:
 Timed multiset for each timed place.
 Untimed multiset for each untimed place.
 Global clock.
 CPN Tools supports construction and analysis of state
spaces for timed CPN models.
40
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
State spaces for timed CPN models
 OccSeqTimed  OccSeqUntimed
 This implies that the nodes in a timed state space have
fewer out-going arcs (lower out-degree).
 Two timed markings may have:
 Identical token colours.
 Different timestamps and different values for the
global clock.
 This implies that a timed state space may have more nodes.
 The timed state space may be infinite even though the
untimed state space is finite.
 It is possible to use equivalence classes to reduce the
number of nodes in a timed state space.
41
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Timed protocol for state spaces
 Two new places
specify the
possible delays.
AllPackets
Packets
To Send
NOxDATA
 For state spaces
we cannot use
the Delay function
returning a
random value.
(n,d)
1`""
(n,d)
Send
Packet
1`""@0
Delays
Delay
3
TP
INT
(n,d)@+Wait
delay
(n,d)
Transmit
Packet
A
NOxDATA
@+9
n
n
NextSend
1 1`1
Limit
INT
k
if success
then 1`(n,d)
else empty
B
1`1@0
3`()
data
1
Receive
Packet
NextRec
if n=k
then k+1
else k
if success
then empty
else 1`()
@+7
D
NO
Transmit
Ack
if success
then 1`n
else empty
n
@+delay
delay
Delays
Delay
3
TA
New place
INT
@+17
if n=k
then k+1
else k
Limit
n
if n=k
then data^d
else data
k
NO
UNIT
n
Receive
Ack
(n,d)
NOxDATA
1`1
3
1
DATA
if success
then empty
else 1`()
3`()
1`1
Data
Received
1`25++
1`50++
1`75
@+delay
()
()
 This would make
the construction of
the state space
non-deterministic.
New place
1`(1,"COL")@0+++
1`(2,"OUR")@0+++
6 1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
C
NO
1`25++
1`50++
1`75
42
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
AllPackets
Packets
To Send
1`(1,"COL")@0+++
1`(2,"OUR")@0+++
6 1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
Modelling
of delays
NOxDATA
 To reduce the
size
of the
(n,d)
(n,d)@+Wait
state space we want
fewer possible delays.
(n,d)
Send
Packet
we
 In this case
only have
@+9three.
n
1`""
Delays
Delay
3
TP
INT
1`(1,”COL”)@9
1
(n,d)
delay
Transmit
Packet
A
NOxDATA
if success
then 1`(n,d)
else empty
INT
NO
<n=1, d="COL",
success=false, delay=25>
UNIT
()
if successdelay=50>
<n=1, d="COL", success=false,
then empty
<n=1, d="COL", success=false,
else 1`() delay=75>
 Copy of data Receive
packet no 1 on place B with timestamp
59.
Transmit
Ack
n
@+7
(n,d)
NOxDATA
@+delay
 At time 9
<n=1, d="COL",
3`()
we have six
success=true, delay=50>
1`1 <n=1, d="COL",
1`1
enabled bindings.
1`1
1`1@0 delay=75>
d="COL",
success=true,
NextSend 1 <n=1,
Limit
3 3`()
1
NextRec
 All of them are in
conflict with each
k
n
other.
B
if success
then empty
success=true,
else 1`()delay=25>
()
n
1`25++
1`50++
1`75
D
if success
then 1`n
NO
else empty
Coloured Petri Nets
Department of Computer Science
Delays
Ack
@+delay
delay
n
k
Success
Re
P
if n=k
then k+1
Failure
else
k
C
NO43
Kurt Jensen
Lars M. Kristensen
New marking – similar to initial marking
AllPackets
Packets
To Send
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
6 1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
NOxDATA
 One of the
timestamps on
(n,d)
(n,d)@+Wait
PacketsToSend has
(n,d)
Send
Packet
been increased.
1`""
1`""@0
Delays
Delay
3
TP
INT
delay
(n,d)
Transmit
Packet
A
NOxDATA
@+9
n
n
NextSend
1 1`1
Limit
INT
()
k
n
@+7
if success
then 1`(n,d)
else empty
(n,d)
B
NOxDATA
3
3`()
1`1@0
1
k
if n=k
then k+1
else k
if success
then empty
else 1`()
D
NO
 New marking  New state space node.
n
@+delay
delay
Delays
Delay
3
TA
INT
@+17
if n=k
then k+1
else k
Transmit
Ack
if success
then 1`n
else empty
Receive
Packet
NextRec
NO
UNIT
if n=k
then data^d
else data
data
1`1
n
Receive
Ack
DATA
if success
then empty
else 1`()
3`()
1`1
1`25++
1`50++
1`75
@+delay
()
Data
Received
1
C
NO
1`25++
1`50++
1`75
44
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Timed state space
Markings 5, 3, and 6
are identical – except
for the timestamps
Time: 9
NextSend: 1`1
B: 1`(1,"COL")@34
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 2`()
1
Time: 0
NextSend: 1`1
A: 1`(1,"COL")@9
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 2`()
TP1:25+
5
1:1
5
9
1:4
9
NextSend: 1`1
NextRec: 1`2@51
DataReceived: 1`"COL"@51
C: 1`2@51
Limit: 2`()
SP1
TP1:252
1:4
2
Success
RP1
Markings 9, 7, and 10 are
identical – except for the
timestamps (and the
global clock) Time: 34
1
0:1
Time: 0
NextSend: 1`1
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 3`()
Creation time
for marking
Time: 9
NextSend: 1`1
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 3`()
4
1:1
4
TP1:50TP1:75-
TP1:50+
3
1:1
3
TP1:75+
Time: 9
NextSend: 1`1
B: 1`(1,"COL")@59
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 2`()
RP1
6
Time: 9
NextSend: 1`1
B: 1`(1,"COL")@84
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 2`()
RP1
7
1:4
10
7
Time: 59
NextSend: 1`1
NextRec: 1`2@76
DataReceived: 1`"COL"@76
C: 1`2@76
Limit: 2`()
6
1:1
SP1
10
1:4
Time: 84
NextSend: 1`1
NextRec: 1`2@101
DataReceived: 1`"COL"@101
C: 1`2@101
Limit: 2`()
8
1:4
8
Time: 109
NextSend: 1`1
A: 1`(1,"COL")@118
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 2`()
45
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Timed state space
1
Time: 0
NextSend: 1`1
A: 1`(1,"COL")@9
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 2`()
Markings 1 and 4 are
identical – except for
the global clock (and
one of the timestamps
on SendPacket)
SP1
Failure
TP1:252
1:4
2
Time: 9
NextSend: 1`1
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 3`()
4
1:1
4
TP1:50TP1:75-
TP1:25+
Time: 9
NextSend: 1`1
B: 1`(1,"COL")@34
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 2`()
1
0:1
Time: 0
NextSend: 1`1
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 3`()
5
1:1
5
RP1
9
1:4
9
Time: 34
NextSend: 1`1
NextRec: 1`2@51
DataReceived: 1`"COL"@51
C: 1`2@51
Limit: 2`()
TP1:50+
3
1:1
3
TP1:75+
Time: 9
NextSend: 1`1
B: 1`(1,"COL")@59
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 2`()
RP1
6
Time: 9
NextSend: 1`1
B: 1`(1,"COL")@84
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 2`()
RP1
7
1:4
10
7
Time: 59
NextSend: 1`1
NextRec: 1`2@76
DataReceived: 1`"COL"@76
C: 1`2@76
Limit: 2`()
6
1:1
SP1
10
1:4
Time: 84
NextSend: 1`1
NextRec: 1`2@101
DataReceived: 1`"COL"@101
C: 1`2@101
Limit: 2`()
8
1:4
8
Time: 109
NextSend: 1`1
A: 1`(1,"COL")@118
NextRec: 1`1@0
DataReceived: 1`""@0
Limit: 2`()
46
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Size of timed state space
 We may continue to send and
lose the first data packet.
Clock
Nodes
Arcs
 Hence, the timed state space
is infinite.
10
12
19
20
48
87
30
156
269
40
397
644
50
814
1,273
60
3,005
4,583
70
7,822
12,154
80
17,996
28,002
90
49,928
79,224
100
103,377
165,798
 To obtain a finite state space
we put an upper bound on the
value of the global clock.
 In this way we obtain a partial
state space.
 We can, e.g., investigate
whether a certain packet has
arrived before a certain time.
47
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Time equivalence method
 Special case of the equivalence method from Chapter 8.
 The basic idea is to replace the absolute time values in
the global clock and timestamps with relative values.
 The reduced state space is finite whenever the state
space of the underlying untimed CPN model is finite.
 From the reduced state space it is possible to verify all
behavioural properties of the timed CPN model.
48
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Markings have
different time values
AllPackets
Packets
To Send
NOxDATA
(n,d)
 The time values (in the global
clock and the timestamps)
continue to increase.
 We want M1 and M2 to be
equivalent.
Delays
Delay
3
TP
INT
(n,d)@+Wait
delay
1`(1,"COL")@9
(n,d)
Send
Packet
 The state spaces of timed CPN
models become infinite for
models with cyclic behaviour.
Clock: 9
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
6 1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
(n,d)
Transmit
Packet
A
NOxDATA
@+9
n
NextSend
Limit
INT
()
k
B
(
NOxDATA
if success
then empty
else 1`()
3`()
1 1`1
if success
then 1`(n,d)
else empty
@+delay
()
n
1`1
M1
1
1`25++
1`50++
1`75
1`1
2
2`()
1
1`1@0
k
NextRec
NO
UNIT
if n=k
then k+1
else k
if success
then empty
else 1`()
n
Clock: 118
1`(1,"COL")@218+++
1`(2,"OUR")@0+++
Packets 6 1`(3,"ED ")@0+++
To
Send
1`(4,"PET")@0+++
Receive
Delays Transmit
D
1`(5,"RI
1`25++ n
Ack
Ack
NOxDATA
n ")@0+++ if success
Delay
1`(6,"NET")@0
3 1`50++
TP @+delay
then 1`n
NO
@+7
1`75
else emptyINT
delay
(n,d)
(n,d)@+Wait
delay
Delays
1`(1,"COL")@118
if success
1`25++
then
1`(n,d)
Delay
1
3
1`50++
(n,d)
(n,d)
else
empty
TA
Send
Transmit
1`75
A
INT Packet
Packet
AllPackets
NOxDATA
@+9
n
NextSend
M2
1 1`1
Limit
INT
()
k
1`1
2
2`()
n
1
1`1@0
UNIT
if success
then empty
else 1`()
D
NO
k
NextRec
NO
n
Coloured Petri Nets
Receive
Department of Computer Science Ack
B
if success
then empty
else 1`()
3`()
1`1
NO
NOxDATA
@+delay
()
n
C
if n=k
then k+1
else k
49
Kurt Jensen
Transmit
Ack
Lars
M.
Kristensen
n
if success
then 1`n
C
NO
(n
Canonical representative
 We map each marking into a canonical representative:
 model time: set to zero
 timestamps ≥ model time  subtract model time
timestamps ≤ model time  set to zero
 Two markings are equivalent if they have identical
canonical representative.
50
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
AllPackets
Packets
To Send
NOxDATA
(n,d)
Clock: 9
1`(1,"COL")@109+++
1`(2,"OUR")@0+++
6 1`(3,"ED ")@0+++
1`(4,"PET")@0+++
1`(5,"RI ")@0+++
1`(6,"NET")@0
1`""@0
Delays
Delay
3
TP
INT
(n,d)@+Wait
delay
1`(1,"COL")@9
(n,d)
Send
Packet
(n,d)
Transmit
Packet
A
NOxDATA
@+9
n
NextSend
Limit
INT
()
k
if success
then 1`(n,d)
else empty
1`1
2
2`()
1
1`1@0
B
if n=k
then k+1
else k
Clock: 118
1`(1,"COL")@218+++
1`(2,"OUR")@0+++
Packets 6 1`(3,"ED ")@0+++
To
Send
1`(4,"PET")@0+++
Receive
Delays Transmit
D
1`(5,"RI
1`25++ n
Ack
Ack
NOxDATA
n ")@0+++ if success
Delay
1`(6,"NET")@0
3 1`50++
TP
then
1`n
NO
@+7
@+delay
1`75
else emptyINT
delay
(n,d)
(n,d)@+Wait
delay
Delays
1`(1,"COL")@118
if success
1`25++
then
1`(n,d)
Delay
1
3 1`50++
(n,d)
(n,d)
else empty
TA
Send
Transmit
1`75
A
INT Packet
Packet
AllPackets
NOxDATA
@+9
n
3`()
1`1
M2
1 1`1
Limit
INT
()
k
1`1
2
2`()
n
@+7
NO
n
NextSend
(n,d)
1
1`1@0
()
if success
then empty
else 1`()
D
NO
if success
then 1`n
Receive
Packet
NextRec
if n=k
then k+1
else k
ifn n=k
then data^d
else data
1
(n,d)
Transmit
Packet
A
NOxDATA
if success
then 1`(n,d)
else empty
@+delay
B
(n,d)
NOxDATA
if success
then empty
else 1`()
1`1
2
2`()
1
1`1@0
k
NO
UNIT
Rece
Pac
NextRec
if n=k
then k+1
else k
if success
then empty
else 1`()
The two markings have the
Transmit
D
Ack
same ncanonical
representation
n
if success
then 1`n
NO
@+17
@+7
@+delay
– hence they else
are
equivalent
empty
delay
C
NO
Delays
Coloured
C Petri Nets
n
Department
ofNOComputer Science
@+delay
delay
1`25++
1`50++
1`75
Receive
Ack
if n=k
then k+1
else k
Transmit
Ack
INT
1`(1,"COL")@0
Limit
INT
datak
Delay
3
TP
3`()
1 1`1
NOxDATA
1`""@
Delays
()
n
1`1
B
Clock: 0
(n,d)@+Wait
if n=k
then k+1
1`"" (n,d)
else k Send
Data
1 Packet
1`""@0
Received
@+9
DATA
k
NO
UNIT
n
Receive
Ack
C
(n,d)
if success
then empty
else 1`()
()
n
NextSend
@+delay
if n=k
then data^d
1`(1,"COL")@100+++
else data
AllPackets
1`(2,"OUR")@0+++
Packets 6 1`(3,"ED")@0+++
To Send
1`(4,"PET")@0+++
Receive
1`(5,"RI")@0+++
NOxDATA
Packet
1`(6,"NET")@0
@+17
data
k
if success
then empty
else 1`()
n
(n,d)
NOxDATA
NextRec
NO
UNIT
Canonical
representative
1
DATA
if success
then empty
else 1`()
3`()
1 1`1
1`25++
1`50++
1`75
@+delay
()
n
1`1
M1
1
1`""
Data
Received
Delay
3
TA
INT
1`25++
1`50++
1`75
51
Kurt Jensen
Lars M. Kristensen
Condensed state spaces
 Condensed state spaces for a timed CPN model can be
computed fully automatically.
 Consistency of the equivalence has been proven once
and for all.
 Predicates for the equivalence tests are implemented in
CPN Tools once and for all.
 All properties expressible in the real-time temporal logic
RCCTL∗ are preserved in the time condensed state space.
 This includes all standard behavioural properties of
CPN models.
52
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Statistics for time equivalence method
Limit Packets
Nodes
Arcs
Limit
Packets
Nodes
Arcs
1
10
81
110
5
2
88,392
158,351
1
20
161
220
5
4
307,727
556,212
1
50
401
550
7
1
13,198
23,400
1
100
801
1,100
7
2
145,926
285,848
2
5
3,056
4,424
7
3
323,129
657,650
2
10
6,706
9,694
10
1
20,062
36,250
2
20
14,006
20,234
10
2
244,990
502,916
2
50
35,906
51,854
12
1
24,630
44,802
3
1
2,699
4,126
12
2
335,651
697,127
3
5
85,088
129,858
13
1
26,914
49,078
3
15
306,118
466,408
13
2
391,743
818,021
53
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen
Questions
54
Coloured Petri Nets
Department of Computer Science
Kurt Jensen
Lars M. Kristensen