SWE760 2 Structural Modeling RT
SWE760 2 Structural Modeling RT
/HFWXUH
,QWHJUDWH
6WUXFWXUDO0RGHOLQJIRU57(PEHGGHG6\VWHPV 6\VWHPV0RGHOLQJ
6RIWZDUH0RGHOLQJ
5HIHUHQFH
+*RPDD&KDSWHUV Real-Time Software Design for Embedded 'HYHORSPHQWRI57HPEHGGHGV\VWHPV
Systems&DPEULGJH8QLYHUVLW\3UHVV $SSURDFKIURPV\VWHPDQGVRIWZDUHPRGHOLQJSHUVSHFWLYH
&20(757(
+DVVDQ*RPDD ([WHQVLRQRI&20(7PHWKRG
'HSWRI&RPSXWHU6FLHQFH 5HDO7LPH6RIWZDUH0RGHOLQJDQG'HVLJQZLWK80/
*HRUJH0DVRQ8QLYHUVLW\ )URP8VH&DVH0RGHOVWR576RIWZDUH$UFKLWHFWXUH
)DLUID[9$ H. Gomaa, Real-Time Software Design for Embedded Systems&DPEULGJH
8QLYHUVLW\3UHVV
&RS\ULJKW+DVVDQ*RPDD
$OOULJKWVUHVHUYHG1RSDUWRIWKLVGRFXPHQWPD\EHUHSURGXFHGLQDQ\IRUPRUE\DQ\
PHDQVZLWKRXWWKHSULRUZULWWHQSHUPLVVLRQRIWKHDXWKRU
&RS\ULJKW+*RPDD
6WDWLF0RGHOLQJ
'HILQHVWUXFWXUDOUHODWLRQVKLSVEHWZHHQFODVVHV
± 'HSLFWFODVVHVDQGWKHLUUHODWLRQVKLSVRQFODVVGLDJUDPV
5HODWLRQVKLSVEHWZHHQFODVVHV
± $VVRFLDWLRQV
± &RPSRVLWLRQ$JJUHJDWLRQ
± *HQHUDOL]DWLRQ6SHFLDOL]DWLRQ
6WDWLF6WUXFWXUDO0RGHOLQJIRU5HDO7LPH(PEHGGHG6\VWHPV
&RQFHSWXDO6WUXFWXUDO0RGHORI6\VWHP
0RGHOKDUGZDUHVRIWZDUHSHRSOHV\VWHPV
6\VWHP&RQWH[W'LDJUDP
± 'HSLFWWRWDOKDUGZDUHVRIWZDUHV\VWHPERXQGDU\
6RIWZDUH6\VWHP&RQWH[W'LDJUDP
± 'HSLFWVRIWZDUHV\VWHPERXQGDU\
&RS\ULJKW+*RPDD &RS\ULJKW+*RPDD
0RGHOLQJ$SSURDFK 6\V0/
6\VWHPV0RGHOLQJ/DQJXDJH
0RGHOLQJODQJXDJHV
6WDQGDUGL]HGQRWDWLRQIRUPRGHOLQJV\VWHPUHTXLUHPHQWV
6\V0/ IRUV\VWHPKDUGZDUHVRIWZDUHPRGHOLQJ $SSURYHGDVDVWDQGDUGE\2EMHFW0DQDJHPHQW*URXS20*
80/IRUVRIWZDUHPRGHOLQJ 0HWKRGRORJ\LQGHSHQGHQW
6\V0/ *HQHUDOSXUSRVHJUDSKLFDOPRGHOLQJODQJXDJH
VSHFLI\LQJDQDO\]LQJGHVLJQLQJDQGYHULI\LQJFRPSOH[V\VWHPV
6XEVHWRI80/ZLWKH[WHQVLRQVIRUV\VWHPHQJLQHHULQJ
± +DUGZDUH
8VH6\V0/ VXEVHWFRPSDWLEOHZLWK80/
± VRIWZDUH
± %ORFNGHILQLWLRQGLDJUDPVVWDWLFPRGHOLQJ ± LQIRUPDWLRQ
± 6WDWHPDFKLQHGLDJUDPV ± SHUVRQQHO
± 8VHFDVHGLDJUDPV ± 3URFHGXUHVIDFLOLWLHV
3URYLGHVJUDSKLFDOUHSUHVHQWDWLRQVIRUPRGHOLQJ
([DPSOHVRIVLPSOHHPEHGGHGV\VWHP
± V\VWHPUHTXLUHPHQWV
0LFURZDYH2YHQ6\VWHP
± %HKDYLRU
5DLOURDG&URVVLQJ6\VWHP ± 6WUXFWXUH
&RS\ULJKW+*RPDD ± SDUDPHWULFV
&RS\ULJKW+*RPDD
5HODWLRQVKLSEHWZHHQ6\V0/ DQG80/ 6\V0/ 'LDJUDP7\SHV
6RXUFH20* 6RXUFH20*
6\V0/
6XEVHWRI80/
([WHQVLRQVWR80/IRUV\VWHPVPRGHOLQJ
&RS\ULJKW+*RPDD &RS\ULJKW+*RPDD
6XEVHWRI6\V0/ IRU6\VWHPV$QDO\VLV )LJXUH&20(757(OLIHF\FOHPRGHO
6\VWHP
6WUXFWXUDO
%ORFN'HILQLWLRQ'LDJUDP 8VHU
0RGHOLQJ
%DVHGRQ80/FODVVGLDJUDP 5HTXLUHPHQWV
0RGHOLQJ
8VHIRUVWUXFWXUDOPRGHOLQJRIV\VWHP $QDO\VLV
0RGHOLQJ
6DPHDV80/ 'HVLJQ
0RGHOLQJ
8VH&DVHGLDJUDP
6WDWH0DFKLQHGLDJUDP ,QFUHPHQWDO
6RIWZDUH
&RQVWUXFWLRQ
6HTXHQFHGLDJUDP
,QFUHPHQWDO
5HTXLUHPHQWVGLDJUDPFRXOGEHXVHG 6RIWZDUH
,QWHJUDWLRQ
0RUHFRQFLVHWRXVHUHTXLUHPHQWVWDEOHV
,QFUHPHQWDO 6\VWHP
3URWRW\SLQJ 7HVWLQJ
&XVWRPHU
&RS\ULJKW+*RPDD &RS\ULJKW+*RPDD
Fig. 5.6: Conceptual Structural Model of
6WUXFWXUDO0RGHOLQJRI3UREOHP'RPDLQ Railroad Crossing Problem Domain
6\VWHPXQGHUGHYHORSPHQW
0RGHODV©HPEHGGHGV\VWHPªEORFN
3K\VLFDOHQWLW\
+DVSK\VLFDOFKDUDFWHULVWLFVFDQVHHWRXFK
0RGHODV©SK\VLFDOHQWLW\ªEORFN
'HWHFWHGDQGRUFRQWUROOHGE\V\VWHP
([LVWLQJV\VWHP
0RGHODV©H[WHUQDOV\VWHPªEORFN
&RPPXQLFDWHVWRDQGRUIURP(PEHGGHG6\VWHP
8VHU LQWHUDFWVZLWKWKHV\VWHP
0RGHODV©KXPDQXVHUªEORFN
2EVHUYHU REVHUYHVEXWGRHVQRWXVHWKHV\VWHP Block Definition Diagram
0RGHODV©KXPDQREVHUYHUªEORFN
&RS\ULJKW+*RPDD &RS\ULJKW+*RPDD
6WUXFWXUDO0RGHOLQJRI6\VWHP&RQWH[W 6\VWHP&RQWH[W0RGHOLQJ
&DWHJRULHVRIH[WHUQDOEORFNV
'HILQHVERXQGDU\EHWZHHQWRWDOV\VWHPKDUGZDUHDQG
'HSLFWHGXVLQJ80/VWHUHRW\SHV
VRIWZDUHDQGH[WHUQDOHQYLURQPHQW
©H[WHUQDOSK\VLFDOHQWLW\ª
'HSLFWHGRQ6\VWHP&RQWH[W'LDJUDP
± 'HWHFWHGRUFRQWUROOHGE\V\VWHP
± 6\V0/ EORFNGHILQLWLRQGLDJUDP
± 'RHVQRWSK\VLFDOO\FRQQHFWWRV\VWHP
± 8VHV80/VWDWLFPRGHOLQJQRWDWLRQ
1HHGVVHQVRUVRUDFWXDWRUVWRPDNHSK\VLFDO
6\VWHP
FRQQHFWLRQ
'HSLFWHGDVRQHDJJUHJDWH©V\VWHPªEORFN
©H[WHUQDOV\VWHPª
([WHUQDOHQYLURQPHQW
± &RPPXQLFDWHVWRDQGRUIURP6\VWHP
([WHUQDOEORFNVWKDWV\VWHPLQWHUIDFHVWR
©H[WHUQDOXVHUª
± 8VHVWKHV\VWHP
©H[WHUQDOREVHUYHUª
± 2EVHUYHVEXWGRHVQRWXVHWKHV\VWHP
&RS\ULJKW+*RPDD &RS\ULJKW+*RPDD
$VVRFLDWLRQVRQ 6\VWHP&RQWH[W'LDJUDPIRU
6\VWHP&RQWH[W'LDJUDP 0LFURZDYH2YHQ6\VWHP
6\VWHP&RQWH[W'LDJUDPVKRZV
$VVRFLDWLRQEHWZHHQV\VWHPDQGH[WHUQDOEORFN
0XOWLSOLFLW\RIDVVRFLDWLRQWR
WRHWF
$VVRFLDWLRQVKDYHVWDQGDUGQDPHV
©HPEHGGHGV\VWHPªOutputs to ©H[WHUQDOXVHUª
©H[WHUQDOSK\VLFDOHQWLW\ª,QSXWVWR©HPEHGGHGV\VWHP
©HPEHGGHGV\VWHPªDetects ©H[WHUQDOSK\VLFDOHQWLW\ª
©HPEHGGHGV\VWHPªControls ©H[WHUQDOSK\VLFDOHQWLW\ª
©H[WHUQDOREVHUYHUªObserves ©HPEHGGHGV\VWHPª
©H[WHUQDOXVHUªInteracts with ©HPEHGGHGV\VWHPª
©H[WHUQDOV\VWHPªCommunicates with ©HPEHGGHGV\VWHPª SysML Block Definition Diagram
&RS\ULJKW+*RPDD
&RS\ULJKW+*RPDD
Fig. 5.7: System Context Diagram for
Railroad Crossing Embedded System
+DUGZDUH6RIWZDUH%RXQGDU\0RGHOLQJ
©HPEHGGHGV\VWHPª ©H[WHUQDOV\VWHPª
(PEHGGHGV\VWHP
©H[WHUQDOSK\VLFDOHQWLW\ª
©EORFNª
'HWHFWV
©EORFNª
5DLOURDG&URVVLQJ
&RPPXQLFDWHVZLWK
©EORFNª
5DLO2SHUDWLRQV 3DUWRIDODUJHUKDUGZDUHVRIWZDUHV\VWHP
7UDLQ
(PEHGGHG6\VWHP 6HUYLFH
V
,QWHUDFWVZLWKH[WHUQDOHQYLURQPHQWWKURXJKVHQVRUVDQG
WURO
&RQ
&RQWUROV DFWXDWRUV
6HQVRU
©H[WHUQDOSK\VLFDOHQWLW\ª ©H[WHUQDOSK\VLFDOHQWLW\ª
©EORFNª ©EORFNª ± ,QSXWGHYLFHWKDWVHQVHVFKDQJHVWRH[WHUQDOERG\
%DUULHU :DUQLQJ$ODUP
± (J'RRUVHQVRUVHQVHV
2E
VH UYH
V 2EVHUYHV GRRURSHQHGGRRUFORVHG
©H[WHUQDOREVHUYHUª
$FWXDWRU
©EORFNª
2EVHUYHU ± 2XWSXWGHYLFHWKDWHIIHFWVFKDQJHVWRH[WHUQDOERG\
± (J$FWXDWRUVZLWFKHV+HDWLQJ'HYLFHRQDQGRII
Block Definition Diagram
0RGHOFRPSRVLWLRQRIHPEHGGHGV\VWHP
&RS\ULJKW+*RPDD &RS\ULJKW+*RPDD
([DPSOHRI
+DUGZDUH6RIWZDUH%RXQGDU\0RGHOLQJ +DUGZDUH6RIWZDUH%RXQGDU\0RGHOLQJ
&RS\ULJKW+*RPDD &RS\ULJKW+*RPDD
Figure 20.2 Structural model for Railroad Crossing Control System
6RIWZDUH6\VWHP&RQWH[W0RGHOLQJ
«embedded system»
«block» 1 Communicates with 1
«external system»
«block»
'HILQHVERXQGDU\EHWZHHQVRIWZDUHV\VWHPDQGH[WHUQDO
RailroadCrossing
EmbeddedSystem
RailOperations
Service
HQYLURQPHQW
1
'HSLFWHGRQ6RIWZDUH6\VWHP&RQWH[W'LDJUDP
2 2 2
«output device»
«input device»
«timer»
«output device» «output device»
«input device»
«input device» 'HSLFWHGXVLQJ80/VWHUHRW\SHV
«block» «block» «block» «block»
«block»
BarrierActuator
Barrier
DetectionSensor
«block»
BarrierTimer
WarningLight
Actuator
WarningAudio
Actuator
«block»
ArrivalSensor
Departure
Sensor
± ©H[WHUQDO,2GHYLFHª
± ©H[WHUQDOXVHUª
± ©H[WHUQDOV\VWHPª
± ©H[WHUQDOWLPHUª
&RS\ULJKW+*RPDD
6RIWZDUH6\VWHP&RQWH[W'LDJUDPVKRZV
$VVRFLDWLRQEHWZHHQVRIWZDUHV\VWHPDQGH[WHUQDOEORFN
0XOWLSOLFLW\RIDVVRFLDWLRQWR
WRHWF
$VVRFLDWLRQVKDYHVWDQGDUGQDPHV
©H[WHUQDOLQSXWGHYLFHªInputs to ©VRIWZDUHV\VWHPª
©VRIWZDUHV\VWHPªOutputs to ©H[WHUQDORXWSXWGHYLFHª
©H[WHUQDOXVHUªInteracts with ©VRIWZDUHV\VWHPª
©H[WHUQDOV\VWHPªCommunicates with ©VRIWZDUHV\VWHPª
©H[WHUQDOWLPHUªSignals ©VRIWZDUHV\VWHPª
&RS\ULJKW+*RPDD
&RS\ULJKW+*RPDD
)LJ6RIWZDUH6\VWHP&RQWH[W'LDJUDPIRU )LJ6RIWZDUH6\VWHP&RQWH[W'LDJUDPIRU
0LFURZDYH2YHQ6\VWHP 5DLOURDG&URVVLQJ&RQWURO6\VWHP
ͨĞdžƚĞƌŶĂůŝŶƉƵƚĚĞǀŝĐĞͩ ͨĞdžƚĞƌŶĂůŽƵƚƉƵƚĚĞǀŝĐĞͩ
©EORFNª ϭ
©EORFNª
ϭ ©H[WHUQDOWLPHUª
ŽŽƌ^ĞŶƐŽƌ ĞĞƉĞƌ ©EORFNª
7LPHU
/ŶƉƵƚƐƚŽ
KƵƚƉƵƚƐƚŽ ©H[WHUQDOLQSXWGHYLFHª 6LJQDOV ©H[WHUQDORXWSXWGHYLFHª
,QSXWVWR 2XWSXWVWR
©EORFNª ©EORFNª
$UULYDO6HQVRU %DUULHU$FWXDWRU
ͨĞdžƚĞƌŶĂůŝŶƉƵƚĚĞǀŝĐĞͩ ϭ ϭ ͨĞdžƚĞƌŶĂůŽƵƚƉƵƚĚĞǀŝĐĞͩ
ϭ
©EORFNª ϭ
/ŶƉƵƚƐƚŽ KƵƚƉƵƚƐƚŽ
©EORFNª
©H[WHUQDOLQSXWGHYLFHª ,QSXWVWR ©VRIWZDUHV\VWHPª ©H[WHUQDORXWSXWGHYLFHª
ͨƐŽĨƚǁĂƌĞƐLJƐƚĞŵͩ 2XWSXWVWR
tĞŝŐŚƚ^ĞŶƐŽƌ ϭ ϭ ŝƐƉůĂLJ ©EORFNª ©EORFNª ©EORFNª
©EORFNª 'HSDUWXUH6HQVRU 5DLOURDG&URVVLQJ :DUQLQJ/LJKW$FWXDWRU
ϭ
&RQWURO6\VWHP
ϭ DŝĐƌŽǁĂǀĞKǀĞŶ
KƵƚƉƵƚƐƚŽ
©H[WHUQDOLQSXWGHYLFHª ,QSXWVWR 2XWSXWVWR ©H[WHUQDORXWSXWGHYLFHª
^LJƐƚĞŵ
ͨĞdžƚĞƌŶĂůŝŶƉƵƚĚĞǀŝĐĞͩ
/ŶƉƵƚƐƚŽ
ͨĞdžƚĞƌŶĂůŽƵƚƉƵƚĚĞǀŝĐĞͩ ©EORFNª ©EORFNª
ϭ ϭ ϭ ϭ %DUULHU'HWHFWLRQ6HQVRU :DUQLQJ$XGLR$FWXDWRU
©EORFNª ©EORFNª
ϭ
KƵƚƉƵƚƐƚŽ &RPPXQLFDWHVZLWK
<ĞLJƉĂĚ dƵƌŶƚĂďůĞ
^ŝŐŶĂůƐ ©H[WHUQDOV\VWHPª
KƵƚƉƵƚƐƚŽ
©EORFNª
ϭ 5DLO2SHUDWLRQV
ϭ ϭ 6HUYLFH
ͨĞdžƚĞƌŶĂůƚŝŵĞƌͩ ͨĞdžƚĞƌŶĂůŽƵƚƉƵƚĚĞǀŝĐĞͩ ͨĞdžƚĞƌŶĂůŽƵƚƉƵƚĚĞǀŝĐĞͩ
©EORFNª ©EORFNª ©EORFNª
&RS\ULJKW+*RPDD &RS\ULJKW+*RPDD
'HILQLQJ+DUGZDUH6RIWZDUH,QWHUIDFHV ([DPSOHRI
,2GHYLFHERXQGDU\VSHFLILFDWLRQ
'HILQHLQWHUIDFHEHWZHHQKDUGZDUHGHYLFHVDQGVRIWZDUH ,QSXWGHYLFH
V\VWHP 1DPH RI,2GHYLFH$UULYDO6HQVRU
6SHFLILFDWLRQRIKDUGZDUHVRIWZDUHLQWHUIDFHIRUHDFK 7\SHRI,2GHYLFH,QSXW
KDUGZDUHGHYLFH )XQFWLRQ RI,2GHYLFH6LJQDOVZKHQWUDLQDUULYHV
1DPH RI,2GHYLFH ,QSXWV IURPGHYLFH
7\SHRI,2GHYLFH ± $UULYDO(YHQW
)XQFWLRQ RI,2GHYLFH 2XWSXWV IURPVRIWZDUHV\VWHPWRGHYLFH1RQH
,QSXWV IURPGHYLFHWRVRIWZDUHV\VWHP
2XWSXWV IURPVRIWZDUHV\VWHPWRGHYLFH
&RS\ULJKW+*RPDD &RS\ULJKW+*RPDD
'HILQLQJ+DUGZDUH6RIWZDUH,QWHUIDFHV 6\VWHP'HSOR\PHQW0RGHOLQJ
([DPSOHVRI,2GHYLFHVSHFLILFDWLRQV 3K\VLFDOO\GHSOR\KDUGZDUHDQGVRIWZDUHFRPSRQHQWVWR
+DUGZDUHDQGVRIWZDUHSODWIRUPV
2XWSXWGHYLFH ([DPSOHIURP'LVWULEXWHG/LJKW5DLO(PEHGGHG6\VWHP)LJ
1DPH RI,2GHYLFH%DUULHU$FWXDWRU
7\SHRI,2GHYLFHRXWSXW ZĂŝůƌŽĂĚƌŽƐƐŝŶŐ
ŽŶƚƌŽů dƌĂŝŶŽŶƚƌŽů
ϭŶŽĚĞƉĞƌƌĂŝůƌŽĂĚ ϭŶŽĚĞƉĞƌƚƌĂŝŶ
)XQFWLRQ RI,2GHYLFH5DLVHVDQGORZHUVEDUULHU ĐƌŽƐƐŝŶŐ
,QSXWV IURPGHYLFH1RQH
ZĂŝůKƉĞƌĂƚŝŽŶƐ
2XWSXWV WRGHYLFH ͨǁŝĚĞĂƌĞĂŶĞƚǁŽƌŬͩ
/ŶƚĞƌĂĐƚŝŽŶ
ϭŶŽĚĞƉĞƌ
ŽƉĞƌĂƚŽƌ
± 5DLVH%DUULHU/RZHU%DUULHU
ZĂŝůKƉĞƌĂƚŝŽŶƐ tĂLJƐŝĚĞDŽŶŝƚŽƌŝŶŐ
^ĞƌǀŝĐĞ ϭŶŽĚĞƉĞƌǁĂLJƐŝĚĞ
ϭŶŽĚĞ ůŽĐĂƚŝŽŶ
&RS\ULJKW+*RPDD &RS\ULJKW+*RPDD
5HYLHZRI6\VWHP6WUXFWXUDO0RGHOLQJ )LJXUH&20(757(OLIHF\FOHPRGHO
6\VWHP
6WUXFWXUDO
6WUXFWXUDO0RGHOLQJRIWKH3UREOHP'RPDLQ 8VHU
0RGHOLQJ
+DUGZDUH6RIWZDUH%RXQGDU\0RGHOLQJ 0RGHOLQJ
6RIWZDUH&RQWH[W0RGHOLQJ $QDO\VLV
0RGHOLQJ
6\VWHP'HSOR\PHQW0RGHOLQJ 'HVLJQ
0RGHOLQJ
,QFUHPHQWDO
6RIWZDUH
&RQVWUXFWLRQ
,QFUHPHQWDO
6RIWZDUH
,QWHJUDWLRQ
,QFUHPHQWDO 6\VWHP
3URWRW\SLQJ 7HVWLQJ
&XVWRPHU
&RS\ULJKW+*RPDD &RS\ULJKW +DVVDQ*RPDD