$24
This question asks you to provide the Petri Net (PN) model of the traffic light system that was elicited during the laboratories and which is shown on the right.
Your solution should include:
(4 pts) A graph representing your model, i.e., a screenshot showing the initial marking that represents the Default state included in the PDF AND the model as xml file submitted on eClass before the deadline. The xml file must be created with PIPE 4.3.0 that can be downloaded from
https://sourceforge.net/projects/pipe2/files/PIPEv4/PIPEv4.3.0/ Try to make your model as neat as possible.
(4 pts) A description of all transitions used in the graph
List all transitions and describe what each of them does
(2 pts) The answer to the following three questions
Is your model conservative? Explain why.
Can we have a deadlock in your model?
Can we have a starvation in your model? If yes then show an example corresponding cycle and list the transitions that will starve. Discuss if this starvation could happen in the actual live traffic lights system, and if yes, explain in words how to prevent it.
Your system will use the following definition of states to derive the PN model:
Inputs
1
2
3
G1
G3
P1
P2
P3
M
C
T1
T2
B3*
S2**
Valid states for given
G,
G,
G,
On,
On,
G,
G,
G,
On,
D,
On,
On,
On,
On,
input
R,
R,
R,
R,
R,
R,
Off
Off
Off
N
Off
Off
Off
Off
System states
Off
FR
FR
Off
Off
Off
Default
G
R
R
Off
Off
R
G
R
Off
D
On
Off
Off
Off
DefaultB3
G
R
R
Off
Off
R
G
R
Off
D
On
Off
On
Off
DefaultS2
G
R
R
Off
Off
R
G
R
Off
D
On
Off
Off
On
DefaultB3S2
G
R
R
Off
Off
R
G
R
Off
D
On
Off
On
On
GreenP3
G
R
R
Off
Off
R
G
G
Off
D
Off
On
On
Off
GreenP3S2
G
R
R
Off
Off
R
G
G
Off
D
Off
On
On
On
GreenG1
R
R
R
On
Off
G
R
R
Off
D
Off
On
Off
Off
GreenG1S2
R
R
R
On
Off
G
R
R
Off
D
Off
On
Off
On
Green3
R
R
G
Off
On
R
R
R
Off
D
Off
On
Off
Off
Green3S2
R
R
G
Off
On
R
R
R
Off
D
Off
On
Off
On
Green2and3
R
G
G
Off
Off
R
R
R
Off
D
Off
On
Off
Off
Emergency
Off
FR
FR
Off
Off
Off
Off
Off
On
D/N
Off
Off
Off
Off
Night
Off
FR
FR
Off
Off
Off
Off
Off
Off
N
Off
Off
Off
Off
M denotes malfunction flag; C clock (day vs. night); T1 and T2 are timers
“B3 = On” only if B3 was pressed before leaving the Default state ** “S2 = On” only if S2 was active before leaving the Default state
The transitions between the states are described by the following transition function table:
System
TimerT1fires
B3pressed
S2activated
TimerT2fires
ClockCindicatesDaytime
ClockCindicatesNighttime
MalfunctionMoccurs
ResetbuttonRispressedandnomalfunctionMandClockCindicatesDaytime
ResetbuttonRispressedandnomalfunctionMandClockCindicatesNighttime
inputs
States
Default
GreenG1
DefaultB3
DefaultS2
Night
Emergency
DefaultB3
GreenP3
DefaultB3S2
Night
Emergency
DefaultS2
GreenG1S2
DefaultB3S2
Night
Emergency
DefaultB3S2
GreenP3S2
Night
Emergency
GreenP3
GreenG1
Emergency
GreenP3S2
GreenG1S2
Emergency
GreenG1
Green3
Emergency
GreenG1S2
Green3S2
Emergency
Green3
Default
Emergency
Green3S2
Green2and3
Emergency
Green2and3
Default
Emergency
Emergency
Emergency
Default
Night
Night
Default
Emergency
The Petri Net model has to follow the below assumptions
Places represent the objects, not the states of the entire system (in contrast to the Finite State Machine model), e.g. you will have a place for traffic lights 1, traffic lights 2, etc. See below for the list of places that are in the model.
Each transition is enabled based on its input places
You may need to define multiple (duplicate) transitions that will model the same physical input that changes system state, e.g. for the timer in the default state, but which will be enabled in different states
Inputs from the two sensors (B3 and S2) are considered/acknowledged only in the Default state; columns B3 and S2 represent the state of the inputs as read in the Default state. If they were not triggered in Default but became triggered in a subsequent state, then they are not going to be acted upon until after the Default states. It is possible that both inputs, one of the inputs, or none of the inputs are triggered. They are activated (set to On) one at the time, i.e., never at the same time. At the time when Timer1 (T1) expires, the possible configurations are that both inputs, one of the inputs, or none of the inputs are triggered.
The switch to the Night state is possible only in the “Default” states (including Default, DefaultB3, DefaultS2 and DefaultB3S2). Your model has to reset the values in the B3 and S2 columns (set them to Off) when you transition out of the Default state, i.e., when the Night time input is read.
To simplify the model, the Emergency state is disregarded (shadowed cells in the tables above should be ignored). Other than that, the Petri Net model must represent the complete behavior of the system
It is not allowed to modify the above physical representation of the system states (colors of the lights, setup of the timers, malfunction input, etc.)
Remember to list any additional assumptions about your model, if you make any
Use the input and input state abbreviations, as defined in the above table, in your model. Renaming will result in deductions.
Use PIPE 4.3.0
Remember that Petri Nets are nondeterministic
They fire one of the enabled transitions non-deterministically
You do not have the control of which one
One of the enabled transitions is selected randomly, which means that you need to simulate and verify all possibilities
Due Dates and Notes
Your assignment must be received by 11:00am MST, on Wednesday, December 5, 2018.
Please submit one PDF file and one XML file.
HINT: LIST OF STATES
To make the task a bit simpler, the list of all states (21 in total) with their meanings is listed below.
Please use the same names in your model.
1 and 1_OFF – status of lights 1
0 tokens in 1 & 1 token in 1 OFF – 1 is turned off
1 token in 1 & 0 tokens in 1 OFF – Green
0 tokens in 1 & 0 tokens in 1 OFF – Red
2 and 2_FR – status of lights 2
0 tokens in 2 & 1 token in 2 FR – Flashing Red
1 token in 2 & 0 tokens in 2 FR – Green
0 tokens in 2 & 0 tokens in 2 FR – Red
3 and 3_FR – status of lights 3
0 tokens in 3 & 1 token in 3 FR – Flashing Yellow
1 token in 3 & 0 tokens in 3 FR – Green
0 tokens in 3 & 0 tokens in 3 FR – Red
G1 – status of arrow G1
0 tokens – Off
1 token – On
G3 – status of arrow G3
0 tokens – Off
1 token – On
P1 and P1_OFF – status of pedestrian lights P1
0 tokens in P1 & 1 token in P1 OFF – Off
1 token in P1 & 0 tokens in P1 OFF – Green
0 tokens in P1 & 0 tokens in P1 OFF – Red
P2 and P2_OFF – status of pedestrian lights P2
0 tokens in P2 & 1 token in P2 OFF – Off
1 token in P2 & 0 tokens in P2 OFF – Green
0 tokens in P2 & 0 tokens in P2 OFF – Red
P3 and P3_OFF – status of pedestrian lights P3
0 tokens in P3 & 1 token in P3 OFF – Off
1 token in P3 & 0 tokens in P3 OFF – Green
0 tokens in P3 & 0 tokens in P3 OFF – Red
T1 – status of Timer1
0 tokens in T1 – Timer1 Off
1 token in T1 – Timer1 On
T2 – status of Timer2
0 tokens in T2 – Timer2 Off
1 token in T2 – Timer2 On
S2_ON and S2_OFF – status of sensor S2 as read in default state
0 tokens in S2 ON & 1 token in S2 OFF – S2 is Off
1 tokens in S2 ON & 0 tokens in S2 OFF – S2 is On
B3_ON and B3_OFF – status of pedestrian button B3 as read in default state
0 tokens in B3 ON & 1 token in B3 OFF – B3 is Off
1 tokens in B3 ON & 0 tokens in B3 OFF – B3 is On
Clock – status of Clock
0 tokens in Clock – Clock indicates Day time
1 token in Clock – Clock indicates Night time