Project: DiningPh

VFSM type: CMD(predefined vfsm)
Object name: Cmd:DiningPh:01

Properties
NameValue
TypeDiningPh

Object name: Cmd:DiningPh:02

Properties
NameValue
TypeDiningPh

Object name: Cmd:DiningPh:03

Properties
NameValue
TypeDiningPh

Object name: Cmd:DiningPh:04

Properties
NameValue
TypeDiningPh

Object name: Cmd:DiningPh:05

Properties
NameValue
TypeDiningPh

VFSM type: TI(predefined vfsm)
Object name: Ti:Eating:01

Properties
NameValue
Const3
Clocksec

Object name: Ti:Eating:02

Properties
NameValue
Const1
Clocksec

Object name: Ti:Eating:03

Properties
NameValue
Const7
Clocksec

Object name: Ti:Eating:04

Properties
NameValue
Const4
Clocksec

Object name: Ti:Eating:05

Properties
NameValue
Const10
Clocksec

Object name: Ti:Thinking:01

Properties
NameValue
Const5
Clocksec

Object name: Ti:Thinking:02

Properties
NameValue
Const6
Clocksec

Object name: Ti:Thinking:03

Properties
NameValue
Const15
Clocksec

Object name: Ti:Thinking:04

Properties
NameValue
Const9
Clocksec

Object name: Ti:Thinking:05

Properties
NameValue
Const8
Clocksec

VFSM type: DO(predefined vfsm)
Object name: Do:Philospher:01
Object name: Do:Philospher:02
Object name: Do:Philospher:03
Object name: Do:Philospher:04
Object name: Do:Philospher:05

VFSM type: XDA(predefined vfsm)
Object name: Xda:Fork:01

Properties
NameValue
Size0

Object name: Xda:Fork:02

Properties
NameValue
Size0

Object name: Xda:Fork:03

Properties
NameValue
Size0

Object name: Xda:Fork:04

Properties
NameValue
Size0

Object name: Xda:Fork:05

Properties
NameValue
Size0

VFSM type: DiningPh(user vfsm)

Prefix: DPH

Object name: DiningPh:01

Properties
NameValue
MyCmdCmd:DiningPh:01
EatingTimerTi:Eating:01
ThinkingTimerTi:Thinking:01
PhilosopherDo:Philospher:01
ForkLXda:Fork:01
ForkRXda:Fork:05

Object name: DiningPh:02

Properties
NameValue
MyCmdCmd:DiningPh:02
EatingTimerTi:Eating:02
ThinkingTimerTi:Thinking:02
PhilosopherDo:Philospher:02
ForkLXda:Fork:02
ForkRXda:Fork:01

Object name: DiningPh:03

Properties
NameValue
MyCmdCmd:DiningPh:03
EatingTimerTi:Eating:03
ThinkingTimerTi:Thinking:03
PhilosopherDo:Philospher:03
ForkLXda:Fork:03
ForkRXda:Fork:02

Object name: DiningPh:04

Properties
NameValue
MyCmdCmd:DiningPh:04
EatingTimerTi:Eating:04
ThinkingTimerTi:Thinking:04
PhilosopherDo:Philospher:04
ForkLXda:Fork:04
ForkRXda:Fork:03

Object name: DiningPh:05

Properties
NameValue
MyCmdCmd:DiningPh:05
EatingTimerTi:Eating:05
ThinkingTimerTi:Thinking:05
PhilosopherDo:Philospher:05
ForkLXda:Fork:05
ForkRXda:Fork:04

IOid name: MyCmd (type: CMD-IN)

IOid name: EatingTimer (type: TI)
-->Virtual Input: Eating_OVER (OVER)
-->Virtual Output: EatingTimer_ResetStart (ResetStart)
-->Virtual Output: EatingTimer_Stop (Stop)

IOid name: ThinkingTimer (type: TI)
-->Virtual Input: Thinking_OVER (OVER)
-->Virtual Output: ThinkingTimer_ResetStart (ResetStart)
-->Virtual Output: ThinkingTimer_Stop (Stop)

IOid name: Philosopher (type: DO)
-->Virtual Output: Philosopher_EatingOrHungry (Low)
-->Virtual Output: Philosopher_Thinking (High)

IOid name: ForkL (type: XDA)
-->Virtual Input: ForkL_Free (1)
-->Virtual Output: Free_ForkL (1)
-->Virtual Output: Take_ForkL (2)

IOid name: ForkR (type: XDA)
-->Virtual Input: ForkR_Free (1)
-->Virtual Output: Free_ForkR (1)
-->Virtual Output: Take_ForkR (2)

State transition table, state ' Init ':
Init
EntryAction:
ExitAction:
Hungry
always

State transition table, state ' Hungry ':
Hungry
EntryAction:
Philosopher_EatingOrHungry
ExitAction:
Eating
ForkL_Free and ForkR_Free

State transition table, state ' Eating ':
Eating
EntryAction:
Take_ForkL
Take_ForkR
Philosopher_EatingOrHungry
EatingTimer_ResetStart
ExitAction:
EatingTimer_Stop
Thinking
Eating_OVER

State transition table, state ' Thinking ':
Thinking
EntryAction:
Free_ForkL
Free_ForkR
Philosopher_Thinking
ThinkingTimer_ResetStart
ExitAction:
ThinkingTimer_Stop
Hungry
Thinking_OVER
Total number of states: 4

VFSM type: DO8(unit)
Prefix: DOU

Object name: DO8:01

Properties
NameValue
CommPort0
PhysAddr3
Do0Do:Philospher:01
Do1Do:Philospher:02
Do2Do:Philospher:03
Do3Do:Philospher:04
Do4Do:Philospher:05
Do5
Do6
Do7

IOid name: Do0 (type: DO)

IOid name: Do1 (type: DO)

IOid name: Do2 (type: DO)

IOid name: Do3 (type: DO)

IOid name: Do4 (type: DO)

IOid name: Do5 (type: DO)

IOid name: Do6 (type: DO)

IOid name: Do7 (type: DO)