HAL Id: inria-00073292
https://hal.inria.fr/inria-00073292
Submitted on 24 May 2006
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub-
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non,
A Translation of Statecharts and Activitycharts into Signal Equations
Jean-René Beauvais, Roland Houdebine, Paul Le Guernic, Eric Rutten, Thierry Gautier
To cite this version:
Jean-René Beauvais, Roland Houdebine, Paul Le Guernic, Eric Rutten, Thierry Gautier. A Trans- lation of Statecharts and Activitycharts into Signal Equations. [Research Report] RR-3397, INRIA.
1998. �inria-00073292�
a p p o r t
d e r e c h e r c h e
INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE
A translation of Statecharts and Activitycharts into Signal equations
J-R Beauvais, R. Houdebine, P. Le Guernic, E. Rutten, T. Gautier
N ˚ 3397
Avril 1998
TH `EME 1
)*+,)- .(/
021!35476982:&;<8<=?>A@3CBEDF%:G&6IH&=KJ&6%@ELMB&NO6QPR:6ASTJ&=?U<@V"BE3W:XYXZ6IJ@E[RBP\8<:&XY=K6ASZ]
^_a`cbed\f7gihjckdml9n%opdZqkr%k!q`cbedck
sut!vxw#dZqyuz%{}|.qt
h7l9zazv~t#qadWt!dcT_adct!(_adEv~~ eg|t#fI ~ ~ g9Rzl9~dck
QcmAa~ ^_adl9a~nl9~dck\?v~t\bev<adZ a¡t!dml9Zq!dk!rk!qdcbek\ml9£¢d¤< adc£ ¥q}¦Mv
kq}r% dckm§q_ad bezdctlxq!d~¨ak!q(lxqdY{}¢l9kdc©v~adckl9aCq_ad)adcZl9tlxq!d~¨alxq(lA{«ªvI¦¬v~adckmyul9(_©v9
q_adcb k.¢dck!q.l9l9zqdc©qvel 9dc¤l9zaz mlxq! v~av~b\lx O^_ k.zl9zdctc¨q_at!v~na~_pq_ad)dYol9b®{
z d"v9¯q_ad)l9a~nl9~dck7°<q(lxqdcT_l9t#qk7l9a+°< ~lx«¨k(_avm¦kl ¦±lmr©qvRqtl9ak!lxqdl9© bezdctlxq!d
k(zdcZ²mlxq! v~´³}°<q(lxqdc(_l9t#qkTµqvl"adcZl9tlxq!d~¨%dc¶<nlxq! v~lxv~adW³}°< ~lx·µYO^_ kqtl9ak!lxq! v~
b\l9¸~dckubnq!¹{«?v~t!b\lx kbºk(zdcZ²mlxq! v~\zv~kk! ¢ d~¨<l9a\zat!vm% adckMl"k(nazazv~t#q?v~t»q_ad qdct!v~z%{
dctl9¢q¼r v9aq_ad±l9a~nl9~dckm»½¼q¯9dckl9ccdckkKt!v~b¾l)°<q(lxqdc(_l9t#qkkzdcZ²mlxq! v~®qvq_ad±¿WÀÁ
dYoa(_l9a~dWKv~t!b\lxq¢dZq}¦±dcdc¤q_ad)qv<v9 k. bez dcbedc2q! a\q_ad"k!ra(_at!v~av~nakqdc(_aav9 v~9r¨nak a
d~ÂaMq_adWZ v%(¸©mlx cn nak)lc~lxl9¢ dW ´°< ~lx«°<q(lxqdc(_l9t#qk)kzdcZ²mlxq! v~akml9+q_adct!dc¢r¢d
l9zaz dc©?naaZq! v~lxq! dckv9¯dct#²mlxq! v~¨a9lx lxq! v~¨acv~bezlxq! v~¨v~zq! bR Ãmlxq! v~¨dZÄ\Z dcq
l9a cv~bezl9Zqcv<adM~dcadctlxq! v~¨ k!qt# ¢anqdcRl9a dYoadccnq! v~®l9t!T_qdcZqnat!dY{}adczdcaadc2qMcv%ad
~dcadctlxq! v~u^_ad7t!dck(nqkzat!dckdcqdc¤_adct!d)cvmdct±q_ad)dckkdc2q!lx&Kdmlxqnat!dckv9°<q(lxqdIÀ±_l9t#qkl9k
¦±dZ¯l9kv9l9av9q_adctl9a~nl9~dWv9O°<q(lxqdcb\lxqd~§u|7Zq!%q}r(_l9t#qkm
ÅÆÇ&ÈÉ Ê AË~ °< ~lx«¨O°<q(lxqdc(_l9t#qkm¨»|7Zq!<q¼r%T_l9t#qkm¨»¿"ÀÁ®¨¯t!dml9Zq!dQÌÍt!dmlx¹{«q! bedpk!rk#{
qdcbekI¨ak!r%aT_at!v~av~nakl9a~nl9~dckI¨a qdct!v~zdctl9¢q}r¨&cv%ad"~dcadctlxq! v~
Î ÏмѫÒmÓÐMÔÕÑ«ÖØ×cÙ
ÚÛ&ÜxÝÞ&ßTàØá®âIÝ!ãØäåà?æèç~Ý!â æèéRê«ÜIæëãìxíTì~Ý#àæîãuìxíTà?êØïñðò¹óxéxâAÝ!â çmðWê«ÜAÝôõ&ôíYãOõã?ìAà?æñêMöàØß(÷KÝ!ä¼ê±õöùøTúYûTüZý
þAÿ ô¯õ þþAÿ òëÝåêKð7ôEæñêØæëäåí(ïõ±ç~Ý#âxâAÝ#â þ ðAãKê«Ýãaò¹àØß àØÝcóAæèàØÝÝ#écê}ãê«ßãKðAãKê«Ý£í(à«ä}ÜIæñê«Ý!ä¼ê«óxàØÝ
Ýí(æñïÝ!íTóYíæëãÛ&ÜIæîÝåàØà?ð»í(óAêØæèÝ#àßTïîíTéxâßTó9âAÝåçAæèéxÝöí(óAï%ÝóAÝ#àØéAæîäõà?æëäóAêØê«Ýåé ¯æèà?æîãØí!òëà
Unit´e de recherche INRIA Rennes
,"- ¾"*
dckCl9al9~dckCadbev%ajZ k(lxq! v~ adck\k!rk!q`cbedck\t!jml9Zq!?kCzdcndcqZqt!d+¹{
% kjck dcadcn%o¡k!q}r% dckp§ dckl9al9~dck bezjctlxq!Kk®v~n+jZq(lxqkdZq dckl9al9~dck®ajcZl9tlxq!Kk
v~npªv9qkad\av~aajcdckm©À±_l9cna¡dck!q z nak l9l9zqj¤na¡av~b\lx adCñl9zaz mlxq! v~ av~aaj~
À±detl9zazv~t#qm¨¯l9n qtlmdct!kadck"l9al9~dckR°<q(lxqdc(_l9t#qk®dZq °< ~lx«¨bev~2qt!d\naad\bejZq_av%adead
qtl9anaZq! v~¡Ânaad\kzjcZ²mlxq! v~ù bezjctlxq!dCdcùnaadekzjcZ²mlxq! v~¡ajcZl9tlxq!d+³Øjc¶%nlxq! vx{
adZ dIµYOÀ±dZq!qd.qtl9anaZq! v~Qt!dcaezv~kk ¢ dMl)k(zjcZ²mlxq! v~eb nq!¹{«Kv~t!b\lx kbed~¨dZq»?v~nat!qOna
k(nazazv~t#qQ qdct!v~zjctl9¢qj\adck)l9al9~dckm y deav~aad\l9cc`ck"adczan k"naadekzjcZ²mlxq! v~
dc °<q(lxqdc(_l9t#qk)l9n¤Kv~t!b\lxq¿"ÀÁ'Âjc(_l9a~d®dcqt!dW dckv~nq! kbedZq!q(l9q)dc"nt!d"l®qdc(_%{
av9 v~9 dCk!r%aT_at!v~ad~¨»dZqWnq! k(l9q d\mlx cnMÂ_av~t# v~~dck adQ°< ~lx«Q¿)dckWk(zjcZ²mlxq! v~ak dc
°<q(lxqdcT_l9t#qkMzdcndcq.lx ak!kd.v9 tMl9zaz ¶<nadctMadckO?v~aZq! v~alxqjckMadjct#²mlxq! v~¨<~lx lA{
q! v~¨cv~bezlxq! v~¨¯v~zq! bR k(lxq! v~¨~jcajctlxq! v~adecv%adedZÄ\ml9cd\dZqWcv~bezl9Zqm¨~jcajctlxq! v~
ad7cv%ad k!qt# ¢anaj)dZq.ajczdcal92qadñl9t!T_qdcZqnat!d"ÂdYojccnq! v~ dck.t!dcknq(lxqkzat!jckdcqjck
Zcv~nt!dcqC dckCl9kzdcZqk\dckkdc2q! dZ k\ad+°<q(lxqdc(_l9t#qkm¨lx ak¶<nad¤Âna l9nqt!d©l9al9~d+ad
°<q(lxqd lxqd~§O|7Zq!<q¼r%T_l9t#qkm
Ê m È °< ~lx«¨°<q(lxqdcT_l9t#qkm¨»|Zq!%q}r(_l9t#qkm¨¿WÀÁ®¨k!rk!q`cbedckWt!jml9Zq!?k Ìqdcbezak
t!jcdZ kI¨l9al9~dckk!ra(_at!v~adckm¨ qdct!v~zjctl9¢qj~¨~jcajctlxq! v~´ad"cv<ad
2 3
"R-
4-54 687-9;:<=>:@?A9CBD7FEHGI<J:KL-<
¿7NM&dct!dcqel9a~nl9~dck\dYo k!q®Kv~t®q_ad¤adck! ~¥v97t!dml9Zq!d¤k!r%kqdcbekm§\q_adpl9a~nl9~dck nakqt!d
O
,P±l9a °< ~lx
O
,PǬ
O
,P±l9t!dCadcZl9tlxq!d©l9adc¶<nlxq! v~lx±lxq(l¤ªvI¦ l9a~nl9~dckm¨¦_ dCyuk#{
qdct!dZ
O
,P«¨°<q(lxqdc(_l9t#qk
O
,P±l9a|t!~v~k
O
fA,P±l9t!dC bezdctlxq!dpkdc¶%nadcaZ al9a~nl9~dckm+^_ad
T_av9 cd\¢dZq}¦Mdcdcq_ad®adcZl9tlxq!dQl9a q_adR bezdctlxq!dCl9zazat!vl9T__l9kWl9 ªnadcacd\nazv~
Øl9Zq}rCqv_l9a d)l9dc©l9zaz mlxq! v~¤l9t!dmlRQv~tu akq(l9acd~¨%adcZl9tlxq!d7l9a~nl9~dck.dml9k!r
_l9a dpk! ~lx±zat!v<cdckk a¦_ dQ bezdctlxq!dQKv~t!b\lx k(bek®l9t!dpv9·qdcnakdc?v~tk(dc¶<nadc2q!lx
cv~2qt!v9k!r%kqdcbekm´^_adpadcdc Kv~tRl´cv~qt!v9bedc(_l9 kb k(na(_¥l9k q(l9k(¸ùb\l9l9~dcbedcq\?v~t
dYol9bez d l9zazdml9t!k ´l9zaz mlxq! v~´av~b\lx ak v9% aCq_adWcv~2qt!v9v9»za_rk! mlxzat!v<cdckk(dckm
Qv~tcv~bez dYo´k!rk!qdcbek v9% aQq_adq}¦±v©l9k(zdcZqkm¨l\b nq!¹{«Kv~t!b\lx kb kzdcZ²mlxq! v~ ml9
¢d"nakdZ?n«
^_ k¯zl9zdctE k¯lzat!v~zv~k(lxqv9dul.qtl9ak!lxq! v~Kt!v~b q_adOdckkdc2q!lx2?dmlxqnat!dckv9°<q(lxqdc(_l9t#qk
l9ae|7Zq!%q}r(_l9t#qkOqv7q_addc¶%nlxq! v~lxl9a~nl9~d°< ~lx«»|7bev~a)q_adNMdct!dc2qukdcb\l9q! ck
v9O°<q(lxqdc(_l9t#qk
O
fI,P«¨aq_ad)qtl9ak!lxq! v~´zat!v~zv~k(dc_adct!d"?v9 vm¦kq_ad °<q(lxqdcb\lxqd v~ad
O
f~f!P«
4-5S TU7V:%K0LA?:%K7-9XW
°< ~lx¢dZ aQlet!dczat!dckdcq(lxq!dRv9q_adZl9kkv9adcZl9tlxq!d®k!ra(_at!v~av~nakl9a~nl9~dckm¨q_ k
qtl9aklxq! v~§
Y
zat!vm% adckl¦±lcrpqvRbedct!~d7 bezdctlxq!dWl9a¤adcZl9tlxq!d"k!ra(_at!v~av~nakl9a~nl9~dck¢r
k! bezr©cv~bezv~k! aCdc¶<nlxq! v~ak ³Øcv~bezv~k!q! v~+v9°< ~lxzat!v<cdckk(dckTµY¨
Y
Kn²a kq_ad"l9(¸©v9 bezdctlxq!d"?dmlxqnat!dckv9O°< ~lx«¨
Y
9dcklRcv~bezv~k!q! v~lxadZ²q! v~´v9¯q_adWcv~ak adct!dc´°<q(lxqdc(_l9t#qk7kdcb\l9q! ckI¨
Y
v~zdcak"lQ t!dcZq"cv~aadcZq! v~´?t!v~b lp°<q(lxqdcT_l9t#qkWadck! ~´qvCq_adRk!ra(_at!v~av~nak7qdc(_%{
av9 v~9r¤qv<v9 k7v9»q_ad®°< ~lx»dc% t!v~abedcqm¨&¢anq7lx k(vCv9q_av~kd cv~bezlxq! ¢ d¦q_+q_ad
¿WÀÁKv~t!b\lxqm§ucv~bez dct!km¨k! b nlxqv~t!km¨dct#²mlxq! v~´k!r%kqdcbekm¨
Y
v~adRv9q_adckd®qv<v9 k7 k"lCcv%ad®~dcadctlxqv~t)q_lxq7ml9 zat!v%anacd®dZÄ\Z dc2ql9a´cv~bezl9Zq
cv<adKt!v~b lQ°<q(lxqdcT_l9t#qk"kzdcZ²mlxq! v~¨nak a\q_ad®Z v<T¸¤mlx cn nak)lm9lxl9¢ d® °<¹{
~lx«O½¼qml9+lx kve~dcadctlxqd kqt# ¢anqdc+l9a+l9t!(_qdcZqnat!dY{}adczdcaadcqWcv%ad~
ZdR¢dZ dZd®q_lxq7q_adR~tl9za_ mlxOt!dml9l9¢q¼r v9±°<q(lxqdcT_l9t#qkb\l9¸~dck)q"lp~v<v%´ml9a lxqd
?v~t¯q_ad±adck ~®v9l9 bezdctlxq!dkzdcZ²mlxq! v~^_ad°< ~lxl9a~nl9~d~¨nak! a"l9RdZl9¢v~tlxqd
Z v%(¸emlx cn nakb\l9¸~dckMqlW~v%v<p(_av9 cdqv dYoqtl9Zq.Z v<T¸\zat!v~zdct#q! dck±?t!v~bºl kzdcZ²mlxq! v~
v~t!adctqv7~dZq¯dZÄ\Z dcaZr cv%adu~dcadctlxq! v~el9a Wdct#²mlxq! v~ ´v~t!dcvmdctc¨~¸~dcdcz aq_ad
kqt!naZqnatlx ?v~t!b\lxq! v~+q_at!v~na~_´q_adWqtl9ak!lxq! v~ l9a+av9qk! bezrcv< aC klC¸~dZrp k(knad
?v~t"naaadct!k!q(l9a a+ qdctl9Zq! v~ak®¢dZq¼¦Mdcdc¡cv~bezv~adcqk ?t!v~b NMdct!dc2q kv~nat!cdckmC^¯l9¸< a
ml9t!d±v9aq_adMqtl9cdml9¢q}rR¢dZq¼¦Mdcdc®q_adu q!lxakzdcZ²mlxq! v~el9aq_ad±~dcadctlxqdcRcv<ad.lx vm¦k
qv7t!v~nqd± Kv~t!b\lxq! v~edYoqtl9Zqdc®Kt!v~bq_adMdct#²mlxq! v~Rqv<v9 k»¢l9T¸Wqv7q_ad.kzdcZ²mlxq! v~®?v~t
nak(dctE?dcdca¢l9(¸e³Øl9~av~k!q! ~¨~cv~na2qdctå{}dYoal9bez dIµY^_adMv9q_adct¦.lcr¨9?t!v~b¬q_aduk(zdcZ²mlxq! v~ qv
q_ad~dcadctlxqdc©cv<ad~¨<qtl9cdml9¢q}rpb\lcr\¢dnakdcCqv®l9a¨lxqMkzdcZ²mlxq! v~Qq! bed~¨% t!dcZq!dck
?v~t.q_adcdWzl9t#q!q! v~ aC qveq(l9k¸%kv~t k!qt# ¢anqdc´zat!v<cdck(kdckm
| cv~act!dZqdWbev9q!9lxq! v~l9a¤l9zaz mlxq! v~v9¯q_ k.¦Mv~t!¸Cq(l9¸~dckzl9cd) Qq_ad"cv~2qdYo%qv9q_ad
°l9ct!dckCzat!v~~tl9bebR a¡dc% t!v~abedcq
O
,P«¥^_ad¤zanat!zv~k(d¤v9q_ad¤yOk(zat#qCzat!vxw#dcZq !#"
³
&H# $%$
0 #'&( 8$, )& *V+& . / &)( $, )& !/
µ k.qv
2qdc~tlxqd© qvl na²dc£l9a¥cv~bez dZqd¤dc% t!v~abedcq©l~l9t# dZq}r¥v9qv%v9 kRKv~t®kzdcZ²mlA{
q! v~¨dct#²mlxq! v~¨&cv<ad ~dcadctlxq! v~ùl9a~lx lxq! v~´v9q_ad cv<ad zat!v<anacdc|bev~aCq_ad
l9zaz mlxq! v~ av~b\lx akq(l9t!~dZqdc l9t!dlm< v~ ck)l9a+zat!v%cdckkcv~2qt!v9«^_adW¶<nadckq! v~v9cdctå{
q!²mlxq! v~¤l9ap~lx lxq! v~Q kM qdc~tlxqdc qv®q_addc2< t!v~abedc2qm ´dcb¢dct.zl9t#qadct!kv9q_ad
!#"zat!vxw#dcZqMl9t!d~§-,.t#q! k_e|7dct!v~kzl9cdW³/.0µY¨lx t!ctlx·qu¢an adct21<¹{ v~9¹o³/.0µY¨9¦_av"adY{
dZ v~z l9a k!qt# ¢anqd3454!#6784!&¨&q_ad dc2< t!v~abedc2q"Kv~t7adck! ~ aQ 94:54!#;< :4"=1
½?>7h½å|ͳ0Qtl9acdIµY¨lpt!dckdml9t!(_ akq!qnqd ¦_adct!deadZ¦¾qdcT_aav9 v~9 dck l9t!dRadZ²adcl9a adZdY{
v~zazdc¥l9t!v~naa¡q_adpk!ra(_at!v~av~nakRl9a~nl9~d@ACBDFE
O
,PG1IH QHQ½!° ³KJ)dct!b\l9rµY¨t!dckdml9t!(_
akq!qnqdW¢at# a9 a\dct#²mlxq! v~+qdc(_aav9 v~9r1°< dcbedcak³KJ"dct!b\l9rµY¨¦_adct!dWcv~2qt!v9 dct!k?v~t
aanakqt#lx¯zat!v%cdckkdckl9t!d adZdZ v~zazdc1°8>7yMÀ +|5³0Qtl9acdIµY¨&¢an adctv9lx t!ctlxKqdca9 adckL1
^M>7½O³0Qtl9acdIµY¨¦_av7adZdZ v~z\l9aR k!qt# ¢anqd±q_adNAE:O<!P©qv<v9l9a®q_adNACBD<El9a~nl9~d=1
q_ad ZdZ Ãcb\l9a¡½åak!q!qnqd³Ø½åktl9dZ·µY¨¯l9kWt!dcl9t!ak kdcb\l9q! pl9kzdcZqkl9aùq_ade~lx lxq! v~¡v9
cv%ad~XQ ~nat!def nak!qtlxqdckq_ad l9t!(_qdcZqnat!d®v9q_adQR !#"qv%v9 kdZqmu½¼qk_avI¦k ?v~t!b\lA{
q! v~Cªvm¦k±¢dZq¼¦MdcdcQq_addZ dcbedc2qk±v9&q_adqv<v9 kdZqm¨%l9a\q_adcdcqtlx&zv~k!q! v~Qv9&q_ad?v~t!b\lxq
¢dZq}¦±dcdc+q_adqv<v9 k7v9»q_addc2< t!v~abedc2qm^tl9aklxqv~t!kqvpl9a+?t!v~b ¿WÀÁºl9t!dadZdZ v~zdc
¥q_ad©?tl9bedZ¦Mv~t!¸¥v9q_ad¤zat!vxw#dcZqm¨.l9a dcl9¢ d¤q_ad¤cv~aadcZq! v~£v9"lxq_ad¤t!dczat!dckdcq(lA{
q! v~akkzdcZ²)qvRq_ad"NM&dct!dcqqv<v9 km¨anak aRq_ad"cv~bebev~¤Kv~t!b\lxqmu^_ad)qtl9ak!lxq! v~?t!v~b
°<q(lxqdcT_l9t#qkqve¿WÀÁ kv~adWv9¯q_adcb¤
¿WÀÁ k®l9 dYoa(_l9a~dpKv~t!b\lxq®¦_ (_¥knazazv~t#qk q_adQt!dczat!dckdc2q(lxq! v~ v9°< ~lxG1±l9k®knaT_¨
q_adZr£l9t!d¶%nqd© £lxqnat!d~§ ¢v9q_£l9t!d+adZ²adc£ qdct!bekQv97k!rk!qdcbek\v9)dc¶%nlxq! v~akQvIdct
ªvI¦kev~tRk! ~lx km°< ~lx¢dZ a l zat!v~~tl9bebR aùl9a~nl9~d~¨uqR k®zat!dZ?dct!dml9¢ d©qv nakdpq
?v~tut!dml9l9¢q¼rpzanat!zv~kdckm¨%_adcacd7q_ k.zl9zdct±zat!dckdcqk.q_adqtl9ak!lxq! v~p Qqdct!bek±v9»°< ~lx
tlxq_adctq_lxq¿WÀÁ®
Timing Diagrams
C, Ada
DC+ common format Specification tools
Code Generation
SateMate Sildex SSL
systems) (components,
Code Validation distribution)
(optimisations,
Verification
Proof Scripts
Q ~nat!def§IJ7 v~¢lx¯l9t!T_qdcZqnat!dv9q_ad R ! "dc2< t!v~abedc2qm
4-5 <? :<B 7
¿7NM&dct!dcqk7lxq!qdcbezqk_lcdW¢dcdcb\l9ad)qvebR¹o© bezdctlxq!d®l9a¤adcZl9tlxq!dk!ra(_at!v~av~nak
l9a~nl9~dckI½å
O
fAP«¨Aq_ad.l9nq_av~t!k»zat!dckdcqOl¦±lmrWqvcv~bez d.|7t!~v~k.³«l_ dctl9t!T_ mlxcv~acnatå{
t!dc2qRl9nqv~b\lxq(l+l9a~nl9~d~¨»¦_ (_ ml9¡¢dCcv~ak adct!dcv~adQv9q_adp°<q(lxqdc(_l9t#qkR~l9t#l9qkYµ
2qvl +dmlxr¥b\l9(_ ad bez Zq!r¥t!dczat!dck(dcqdc£¢2r¥l kdZqev9)¢v%v9 dml9¥dc¶<nlxq! v~ak\ ¥q_ad
adcZl9tlxq!d´cv<ad+¿"À O
P«£yul9(_ k!q(lxqdv97q_ad_ dctl9t!(_ mlx"l9nqv~b\lxqv~£ kpl9kkv%Zlxqdc
¦q_ lQ¢v%v9 dml9´k ~lx¢dZ a / ¦_adc´q_ad®k!q(lxqd k"l9Zq!d®l9a ! # v9q_adct#¦ k(d~"^_ k
¢v%v9 dml9\k! ~lx kMnazlxqdcC¦_adc¨ Cq_ad|7t!~v~ku_ dctl9t!(_2r¨%q_adk!q(lxqdqv¦_ (_CqM¢dZ v~a~k
kl9Zq!9lxqdcM^_adWcv~²~natlxq! v~´v9lC°<q(lxqdcT_l9t#q ³?q_adW kqv9¯qk7l9Zq!dWk!q(lxqdckTµ± k_adcacd
t!dczat!dck(dcqdcQl9kMl)qt!dcdv9&¢v%v9 dml9akm ¹o a)q_adckddc¶%nlxq! v~akO¦q_C¿"À dc¶<nlxq! v~akM~dcadctlA{
qdc®?t!v~b'v9q_adct»l9a~nl9~dck³Ød~Âa nak!qt!dIµY¨<zat!vm% adckul¦±lcrRqv)bR¹o bezdctlxq!dxadcZl9tlxq!d
?v~t!b\lx kbekm»^_adqtl9ak!lxq! v~QcvIdct!k.kv~bed¢l9k! Kdmlxqnat!dck±v9&q_ad7°<q(lxqdcT_l9t#qkm§O_ dctl9t!(_¹{
mlxzl9tlx dZul9nqv~b\lxq(lp¦q_ùdZdc2qWkdca apKv~t"l9Zq! v~akmW^_adc¨nak! apq_ad®k(dcb\l9q! ckWv9
¢v9q_l9a~nl9~dckI¨&q_ad®l9nq_av~t!k)zat!vmd®q_lxq7q_adqtl9aklxq! v~´zat!dckdct#dck7q_ad®¢dc_lm< v~t7?t!v~b
q_adzv9 2qMv9&% dZ¦ v9&qtl9cd~vI¦MdZdctc¨%q_adk(dcb\l9q! ckl9av~zqdcC kuq_ad|7t!~v~kuv~ad¦_ (_Q k
lC¸2 a´v9zanat!dZr+k!ra(_at!v~av~nak7kdcb\l9q! ck)v9M°<q(lxqdc(_l9t#qk"NM&dct!dcq7?t!v~b q_ad®°<q(lxqdcb\lxqd
v~ad
O
f~f!P«»| kva¨%l" v9quv9&?dmlxqnat!dckMv9&q_adl9a~nl9~dckMv9°<q(lxqdcb\lxqd)l9t!dl9¢akdc2qu?t!v~b |7t!~v~km
½å
O
P«¨9q_adl9nq_av~t9dckul7kdcb\l9q! ckOv9q_ad "4!# ! E)k!ra(_at!v~av~nakl9a~nl9~d ®qdct!bekv9
dZ dcZqt# RZ t!cnqkmQ t!k!qm¨q_adRkna¢ak!q(lxqdcbedc2qkWv9Ml "L4! !#E©k!q(lxqdcbedc2ql9t!d a% anlxr
qtl9aklxqdc´ 2qv©Z t!cnqkm¨&q_adc¨&q_ad v~¢q(lx adcùZ t!cnqkWl9t!d®cv~b¢ adcùnak a©l9zazat!v~zat#lxqd
l9n%ol9t#r©lxqdckl9a©¦ t# aaM°%v~bedl9kzdcZqkv9q_adWqtl9ak!lxq! v~¤t!dZdmlxEqve¢d7Z v~k(d)qvRq_ad
v~adzat!dckdcqdc´_adct!d~§Ozl9t#q! cnl9t#r¤q_adWkna¢Z t!cnq qdct#Øl9cdW¦_ T_ kZ v~k(d"qvRq_adWv~adWv9
°%dcZq! v~%a¹f l9a¤q_ad)¦ t# aCv9q_ad"cv~qt!v9 k7k! ~lx k¢dZq}¦±dcdcq_adWk(na¢Z t!cnqkm
|¥qv%v9%Kv~t¯q_adu 2qdc~tlxq! v~ev9NMdct!dc2qk!r%aT_at!v~av~nak»l9a~nl9~dck» k¯¢dZ a7adZdZ v~zdc® q_ad
D ; -DA!zat!vxw!dcZq
O
fP«-D ; FD AC! klp¦Mv~t!¸%¢dca(_?v~t)k!ra(_at!v~av~nakzat!v~~tl9b®{
bR aa)½¼qzat!vI< adck"cv~bezlxq! v~¨k! b nlxq! v~¨qdck!q! a©l9a dct#²mlxq! v~´qv%v9 k7Kv~t~l9t# v~nak
lx dcZqk7v9»q_adk!ra(_at!v~av~nak7zat!v~~tl9bebR a©zl9tl9 ~b¤½¼q_adW²t!k!q akq(l9acd N"4!# !#E¨
B-"Wl9a "4 !¤cv~bez dct!kl9t!d"¢dZ aeadZdZ v~zdc+l9a© qdc~tlxqdcM^_ad) qdc~tlxq! v~
k±b\l9adq_at!v~na~_©l cv~bebev~©kdcb\l9q! mlxt!dczat!dckdc2q(lxq! v~§uk!ra(_at!v~av~nakl9nqv~b\lxq(l ¦_ (_
l9t!dQdckkdc2q!lxr +dmlxrùb\l9(_ adckI^_adCdc¶%nlxq! v~lxMqtl9aklxq! v~ak v9°<q(lxqdIÀ±_l9t#qk® qv l
kr%aT_at!v~av~nakbev%adZzat!dckdcqdc+_adct!dWbR ~_q7¢d"knazazv~t#qdc+lx kve¢2r -D ; -DA!&
|7 lxq!qdcbezq©nak! aq_ad+adcZl9tlxq!dù°< ~lxl9a~nl9~d´_l9kplx t!dml9r ¢dcdc£av~ad
O
fIP«
^_ k® k\l9¥dYoqdcak! v~¥v9q_ad°< ~lx±l9a~nl9~d¤mlx dc °< ~lx
¦q_ cv~ak!qt!naZqkR?v~t
_ dctl9t!T_ mlxq(l9k¸ zat!dcdcbezq! v~5½¼ q_adùadcZl9tlxq!dk!ra(_at!v~av~nak+l9a~nl9~d°< ~lx«¨"l
zat!v%cdckk±adZ²adckl¢dc_lc% v~t.v9l9Qna<¢v~naaadc¤kdct# dck±v9 ak!q(l92qkm 7vm¦MdZdctc¨q_adct!d)l9t!d7av
dYoaz Zql9a~nl9~d"cv~ak!qt!naZqk_l9a a\q_adqdct!bR lxq! v~¨ qdct!t!nazq! v~´v~t±k(dc¶<nadcaZ aev9
zat!v%cdckkdckI¨9q_lxqO kqv"k(lmr q_ad. bRq(lxq! v~\v9&¢dc_lc% v~t!kOqvWl)k! cdv9q_ kOkdct# dckOv9 ak!q(l9qkI
½åQ°< ~lx
¨~q(l9k¸%kMl9t!dadZ²adc©l9kq_ad7l9kkv%Zlxq! v~\v9El"lxq(lA{«ªvm¦ zat!v<cdck(kO¦q_Ql"q! bed
2qdct#9lx&v~Q¦_ (_pqu k±dYodccnqdc ,±v9q_Qlxq(lA{«ªvm¦ l9aQq(l9k¸< azl9tl9 ~bekl9t!dlm9lxl9¢ d
¦q_ q_adek(l9bedRl9a~nl9~dY{« dZdZM?tl9bedZ¦Mv~t!¸\|7 bez dcbedcq(lxq! v~¥v9.°< ~lx
l9kl
zat!dczat!v%cdckkv~t.qv®q_ad°< ~lxEdc2< t!v~abedc2q
O
fA,Pcv~ak! k!qdc© pq_ad"~dcadctlxq! v~v9dc¶<nlxq! v~ak
?v~tl9Zq!%q}rb\l9l9~dcbedc2qm¨nak! aQl9aq! v~lxcv~2qt!v9k! ~lx»k! bRl9tqv\q_ad®t!dml9Zq!d ¢vco
bev%adZEv9O°%dcZq! v~%a¹f
4-5 -?A9CK1? :%K7-9 7 :X<C? <
^_ kRzl9zdctRdYo%qdcaak\l´k_av~t#qdctRzat!dckdcq(lxq! v~
O
P±¦q_ l+¦ adctecvmdctl9~d¤v97°<q(lxqdcb\lxqd
l9Zq! v~akI¨l9k¦MdZl9klRb\l9l9~dcbedc2qv9»l9Zq!<q! dckmu|KqdctlRadckct# zq! v~v9q_ad®°< ~lxl9a
°<q(lxqdcT_l9t#qk)Kv~t!b\lx k(bek °%dcZq! v~ak
l9a ¨qzat!dckdc2qkq_adqtl9ak!lxq! v~ v9q_adb\lAw!v~t
cv~akqt!naZqkv9»q_ad®°<q(lxqdcT_l9t#qk7 °%dcZq! v~ a±^_adc leqtl9ak!lxq! v~´ k9dc+ °%dcZq! v~ù%¨
¦q_´kv~beddYol9bez dckqv\ nak!qtlxqd qm.½}q7cvmdct!kq_addckkdc2q!lx¯?dmlxqnat!dck7v9lp°<q(lxqdc(_l9t#qk
l9a¡|Zq!%q}r(_l9t#qk1»q cv~acdcqtlxqdckRv~ùq_adC¢dc_lc% v~tlx±l9k(zdcZqkm¨ ùq_ade?tl9bedZ¦Mv~t!¸ùv9
q_adkqdcz\kdcb\l9q! ckL1 Hq_adctul9k(zdcZqk ¸~ddZl9¢v~tlxqdlxq(lA{«q¼r%zdckm¨2q_adknazdct!kqdcz\kdcb\l9q! ckI¨
k(v~bedOzl9t#q! cnl9t¯l9kzdcZqkv9al9Zq! v~akm¨¨9l9t!dOzl9t#q¯v9%q_aduzdct!kzdcZq!dckm°%dcZq! v~®adckct# ¢dck
q_adqtl9ak!lxq! v~¤kT_adcbedck.Kv~t±|7Zq!<q¼r%T_l9t#qkmO½å©°%dcZq! v~ adckct# ¢dck±_avI¦ °< ~lx&ml9©¢d
nak(dc qv¤bev<adZOav~aadZqdct!bR kb¤¨»l9a a mlxqdck_avI¦ q_adRqtl9ak!lxq! v~ml9ù¢debev%²dc
l9ccv~t! a9r
)(* . $W & -¬(*-*
°< ~lx kl®k!ra(_at!v~av~nakt!dmlx¹{«q! bedWl9a~nl9~d~¨aadcZl9tlxq!d~¨lxq(l®ªvm¦¬v~t# dc2qdc+l9a©¢anq
l9t!v~naal¤bR b\lxM¸~dct!adZuv9v~zdctlxqv~t!k
O
¨,P«C½}qWb\l9 zanlxqdck®k! ~lx km¨¦_ (_l9t!dCna%{
¢v~naaadckdct# dck"v9±q}rzdc 9lx nadck\³Ød~Âa¨ ¨<µY®^_adZr _lcdQl9¡l9kkv%Zlxqdc
Z v%(¸ adZ²adc l9k"q_ad\kdZqv9. ak!q(l92qkW¦_adct!dC9lx nadck®l9t!d\zat!dckdcqm J7dc¡lk! ~lx¨Eqk
Z v%(¸ kv~¢q(lx adcC¢r ! "#$¨x9% a)q_addZdcqOzat!dck(dcqOk! b nq(l9adcv~nak!rR¦q_
^_adcv~akqt!naZqk±v9&q_adl9a~nl9~dml9Q¢dnak(dc\qvWkzdcZKr¨ Ql9Qdc¶<nlxq! v~lxk!q}r% d~¨%t!dZlA{
q! v~akv~tcv~ak!qtlx 2qkOv9Z v%(¸" aZ nak v~ev~tZ v%(¸dc¶<nlxq¼r®¢dZq}¦±dcdcek! ~lx km¨l9a®KnaaZq! v~ak
v99lx nadckmu°<rk!qdcbekv9dc¶<nlxq! v~akv~©k! ~lx kl9t!d)¢anqnak! aRcv~bezv~k!q! v~O^_ kcv~bezvx{
kq! v~Q k.k!qt# Zq!rpk!ra(_at!v~av~nakm¨abedml9 aRq_lxqqcv~ak!qt!naZqk.q_ad)k!rk!qdcb5v9dc¶%nlxq! v~akv~
k ~lx km¨Eadckct# ¢ a¤q_adet!dZlxq! v~¡¢dZq¼¦MdcdclxOv9±q_adcb lxq"q_ad\k(l9bedR v~9 mlxu ak!q(l9qme½å
zl9t#q! cnl9tc¨¯q_ kW 2v9dckq_lxq azanqk l9av~nqzanqk v9l9ùdc¶%nlxq! v~l9t!dCzat!dckdcqRlxq"q_ad
kTl9bed) ak!q(l9qm¨l9a¤q_lxqcv~bezv~k(dcdc¶<nlxq! v~akk_l9t!dWk! ~lx k¦q_ ¤q_lxqk(l9bed) ak!q(l92qm
^_ad¸~dct!adZv9°< ~lx¯cv~bezat# kdckq_ad)?v9 vm¦ a&% C& ", % # ! §
' (¯~)Ê (¯+* $,-.0/01234165#55 1287 d~Âa¨¢v<v9 dml9¤adclxq! v~§ * 9:! 6;
<©Æ K
Ç>=?9:!@/:A$BC\9dckq_adWzl9kq9lx nad"v9ED ³?¦q_ q!lxE9lx nadFGmµY
H Æ Æ ~)Ê (>* IIJK! 6pl9ccv~t! aeqvClR¢v%v9 dml9cv~aq! v~L
<©Æ Æ M)N(E)Kc)K Æ PO ÆQ=?:$R ,"S! * ³?¦q_zat# v~t#q¼rùqv2+¦_adc¡¢v9q_¡l9t!dCzat!dY{
kdcqTµY
T ax Æ M Ê VU Ê P))Ê ( -XWZY[\WZY]^W_7na v~+v9¯q_adWkr%k!qdcbekv9»dc¶%nlxq! v~akm
^_adWKv9 vI¦ aeq(l9¢ d" nak!qtlxqdckdml9(_+v9q_ad"zat# bRq!dck¦q_+l®qtl9cd~§
` a [ ø b ú a [ ø b ú a
cd`QeNfg`hPigjk`Pjkl2m
ú a [ ø b ú a [ ø b ú
nQeNfgco`pqi r b [ ø b ú r b [ ø b ú rb
s
jdtotueNfZlqvdwxgyqzxk`2co`fqm
ê ê ê
xk{|n|lo}ueNf~lqvdwxgyqzxk`M`fqmP
ò ê ò ê ò
x s
wtolMN`dl
s
j tqt"
^_ad´t!dck!qQv9)q_ad+l9a~nl9~d+ kQ¢anqQnazv~£q_ kp¸~dct!adZ« ¿7dct#dc v~zdctlxqv~t!kQ_lmd´¢dcdc
adZ²adc©?t!v~b5q_ad)zat# bRq!dWv~zdctlxqv~t!km¨azat!vm% a\zat!v~~tl9bebR aCcv~bR?v~t#qmOyÂa¨\P *
cv~akqtlx akq_adQk! ~lx kùl9a * qv¢d\k!ra(_at!v~av~nakm¨«Âd~©q_adZ t Z v<T¸<kqv+¢d\dc¶<nlx«©|
kqt!naZqnat# aùbedc(_l9 kb kRzat!v~zv~kdc q_ad©Kv~t!b v9 #+k(_adcbedckI¡^_ad©zat!v<cdck(k
:JK "69dck"q_adRZ v<T¸.+v9Mv%ccnat!t!dcacdckWv9Oq_adR v~9 mlxOk! ~lx4´lxq)q_ad®~lx nad
S a^_adek! ~lxE k.q_ad2nZ v%(¸p d~ulRk! ~lxq_lxq kadZdctzat!dckdc2qm
^_ad®°< ~lxcv~bez dctzdct#Kv~t!bekq_adl9lxr%k kv9¯q_adcv~ak! k!qdcaZr¤v9¯q_ad"kr%k!qdcbÍv9»dc¶%nlA{
q! v~ake³«l9¢ak(dcacdev9Mml9nak(lxZrZ dckTµY¨l9a adZqdct!bR adck"¦_adZq_adct"q_adRk!ra(_at!v~ Ãmlxq! v~cv~ak!{
qtlx 2qk©¢dZq¼¦Mdcdc q_ad´k ~lx k©l9t!d+dct#²dc v~tQav9qm^_ad´cv~bez dctpk!rq_adck! Ãcdck©cv~qt!v9
q_at!v~na~_¬lZ v%(¸ _ dctl9t!T_r ¢l9kdc v~ ak!q(l9qzat!dckdcacd aZ nak v~ | Z v%(¸ mlx cn nak
nak a¡lx ~v~t#q_abek©v~ ,.¿7¿)kQb\lcr£t!dcv~t!adct\q_ad´Z v<T¸ _ dctl9t!(_2r
O
f!P« ½¼ q_ad+cv~nat!kd+v9
adZdZ v~zabedc2qm¨l zat!v~~tl9bml9¤lx kv®¢dT_adc(¸~dc©?v~tMt!dmlx¹{«q! bed"zat!v~zdct#q! dck±q_at!v~na~_©q! bR a
l9lxrk! k Of
P« ydc2qnlxr¨dYoadccnq(l9¢ d cv<ad´ml9 ¢d+zat!v%anacdc l9nqv~b\lxq! mlxr³? ¨
F :4 FD¥v~t
ORµY7^_ad cv~bez dct7 k)¢dZ apt!dY{}adck! ~adc l9k"le% t#qnlx»b\l9T_ ad®Kv~tq_ad
qtl9akKv~t!b\lxq! v~ v9 l_ dctl9t!(_ mlxWcv~aq! v~adc%{}adczdcaadcaZ dck#{}~tl9za_t!dczat!dckdcq(lxq! v~ v9
zat!v~~tl9bekI¨<?v~tO¦_ T_¤l9QdYoqdct!lxdYoT_l9a~d?v~t!b\lxq. kM¿WÀÁ
O
fI,P«^_ad !#")zat!vxw!dcZqm¨
bedc2q! v~adc+dml9t# dctc¨ kq_ad"cv~qdYoqv9l9l9zaz mlxq! v~+v9q_ kadck! ~
# !"6#! "#
-: ! "#$,
# #" # o7
-AWJ#K! 4-C!7:P$,
W 9: @ /:XP C
W6/
W - "#IJ#K! ", 7MR ,"S I
W~ # :JK " - C!7MR , S! -_!$, #!7
W_7
J#K! 6#! :1 1~
R
Q¯ ~nat!d
§ C: N!
Q ~nat!d
k_avI¦kel9dYol9bez dQv9l °< ~lx.zat!v~~tl9b adck(ct# ¢ a l´t!dZ²al9¢ dpq(l9a¸´^_ k
zat!v%cdckk l9bedc#"o!"$"\_l9kRlcv~ak!q(l92qezl9tl9bedZqdctg"!!P¨l9¡ azanq®k! ~lx«§ ,
0 0 0
0
zn n
fill empty
0 0 0
0
t f t f t f t f
Q ~nat!d§ -1 !#% '& ! % #
³Øzanat!dRdZdc2qTµY¨El9 v~nqzanq"k! ~lx ##³Ø¢v%v9 dml9µ7l9a lQ k!q)v9udc¶%nlxq! v~ak"adZ² apq_ad
¢v%r7v9%q_aduzat!v%cdckkm¯^_adO¢dc_lm< v~t¯adckct# ¢dc" "q_ kzat!v%cdckk kq_ad?v9 vm¦ aa§E¦_adcadZdct
q_adWq(l9a¸C k²a dc¨¦q_¤ azanqk! ~lx, #ekdZqm¨q_adW dZdZv9¯¦.lxqdct ¤q_adWq(l9a¸Qk!q(l9t#qkqv
adcct!dml9k(d®³NµMnaq!Eq_ad7 dZdZt!dml9(_adck
|.q.q_ k.q! bed~¨q_ad"v~nqzanq #Ck! ~lx& kkdZq.qv
qt!nad~u^_adc¨aq_adWadYoq , #eml9t!dZ²aq_ad)q(l9a¸©l9a+kdZqq_ad #©k! ~lxqveØlx kd~
^_ad)zat!dckdcacd) akq(l9qk"³ØZ v%(¸%kTµMv9q_ad)k! ~lx k. pq_ kzat!v~~tl9b l9t!d7 nak!qtlxqdc© p²~nat!d
H7ad"ml9¤av9q! cdWq_lxqZ v<T¸<kv9¯ v<mlxO³? 2qdct!lx·µk! ~lx k. k?l9k!qdct)³?«Âd~¨ aZ naadckTµ.q_l9
q_lxqWv9± azanqkl9aùv~nqzanqkm§) q_lxq kdcakd®q" kWzv~kk! ¢ d®qv¤kzdcZ·r vmdct!k(l9bez a~k
°< ~lx«¨«Âd~Ozat!v<cdck(kdck¦_ (_´l9t!dWav9qadccdckk(l9t#r©k!qt# Zq!r¤t!dml9Zq!d"qveq_adZ t azanqkm
. ¥7. ¾! "#<$"
Æ A Ê PO()) Ê ( ^_ade°<q(lxqdc(_l9t#qk)?v~t!b\lx kb _l9k¢dcdc´ qt!v%anacdc ¢2r )l9t!dZ
O
,P«½¼qp kl¥~tl9za_ mlx"l9a~nl9~d¡¢l9kdc v~¬l9nqv~b\lxq(l5½}q© k© qdc~tlxqdc q_ad¡°<q(lA{
qd lxqd+dc2< t!v~abedc2qm¨lx v~a¡¦q_ l9av9q_adctQl9a~nl9~d´mlx dc |Zq!%q}r(_l9t#qkm¨¦_ (_ k
¢ v%(¸2{}l9~tl9b5v~t# dcqdcO½¼qu kM bez dcbedcqdc© Qq_adqv%v9´l9~<nab¤¨%adck ~adcQ¢2r\¹{ v~9¹o
^_ad´kzdcZ²mlxq! v~ v9lùbev%adZ °<q(lxqdcb\lxqd+ kQcv~bezv~kdc v9"(_l9t#qkm ^¯vdml9T_ (_l9t#q
kQl9kkv%Zlxqdc q_adadcZl9tlxq! v~ v9"lxq(lA{«qdcbek ³?«Âd~£~l9t#l9¢ dck\¦q_ l9dc q}rzdIµ\l9a
dZdc2qkm¨_adcacdCadZ² a q_adZ t®kcv~zd~§q_adckd©l9t!dC¸%avm¦ ak! adQq_adCT_l9t#qm Hq_adct®lxq(lA{
qdcbek l9axv~tWdZdcqk ml9ù¢dRdYoa(_l9a~dc¦q_ q_adCdc% t!v~abedcqm\^_ad\T_l9t#qW k)?nat#q_adct
adZ²adcù¢2r´dZq_adct"l9 |Zq!%q}r(_l9t#qWv~t"l¤°<q(lxqdc(_l9t#qm¨¦_ (_ùml9 ¢dqkdZ±adccv~bezv~k(dc
_ dctl9t!T_ mlxrR qv"kna¢%{}T_l9t#qkm^_ad.dcqt#rRzv9 2qKv~tl7bev<adZ kOl9R|7Zq!<q¼r%T_l9t#qm¨¦_ (_
adck(ct# ¢dckOl)k!qt!naZqnatlxadccv~bezv~k!q! v~\¢2r®¢dZ a)< adcR 2qvWkna¢%{¼l9Zq!%q! dckm¨t!dccnat!k!dZr
°%v~bedkna¢%{¼l9Zq!<q! dckI¨mlx dccv~qt!v9»l9Zq!<q! dckI¨ml9¢d"adZ²adc¢rl\°<q(lxqdc(_l9t#qm
)Æ Aax)K LU¯ax Æ + Ê m | °<q(lxqdc(_l9t#qk adck! ~dckkdcq!lxr¬cv~ak k!qk+v9
kq(lxqdckpl9a qtl9ak!q! v~akp ¸~d l¡²qd l9nqv~b\lxqv~½å v~t!adctQqv bev<adZ)adczq_¨lk!q(lxqd
ml9 ¢d+t!dZ²adc l9a cv~2q(lx k(na¢%{}k!q(lxqdck¤l9a 2qdct!lx7qtl9akq! v~akm ^.¦±v k(na(_ t!dZ²adY{
bedc2qk"l9t!d lc~lxl9¢ d~§ (¯Ë l9a+Ê k!q(lxqdckm¨q_lxq)9d lQk!q(lxqd _ dctl9t!(_r7|.q7q_ad¢v9q!qv~b
v9±q_ad\_ dctl9t!T_r¨ a)K {}k!q(lxqdckl9t!dCav9qWKnat#q_adct t!dZ²adcC½¼Mq_adCk!r%kqdcb kzdcZ²dc¡¢rl
°<q(lxqdcT_l9t#qpt!dck adck\ l9 Ê
k!q(lxqd~¨.q_adc qplx k(vt!dck! adck\ dYoal9Zq!r£v~adv9)qkQ t!dcZq
k(na¢%{}k!q(lxqdckm£°<q(lcr% a £l9 (¯Ë kq(lxqd© bez dck\k!q(lcr% aù £lxv97qk\ t!dcZqCkna¢%{}kq(lxqdck
l9a bev%adZ k®cv~acnat!t!dcaZrZ _adc¥l+k!q(lxqdQ k dZ·qm¨dml9T_ k(na¢%{}k!q(lxqdC kelx kv´ dZKqm¨»q_adct!dc¢r
bev%adZ a¡zat!dcdcbezq! v~ °%na¢%{}kq(lxqdckCv9Wl9
(¯Ë
k!q(lxqdb\lcr£cv~2q(lx £qtl9ak!q! v~akQ¦_ (_
ml9¤¢d"dYoadccnqdck! bnq(l9adcv~nakrM^_ad"cv~²~natlxq! v~ v9lC°<q(lxqdcT_l9t#q kadZ²adc+¢rpq_ad
_ dctl9t!T_r v9k!q(lxqdckRl9a k(na¢%{}k!q(lxqdck ¦_ (_ qRk!q(lcrkm ^_adQNM&dct!dcq (¯Ë zl9t#qkRv9l
kq(lxqdWb\lcr¤cv~bebna mlxqd®¢r© 2qdct!lxdZdc2qk¦_ T_´l9t!dW¢at!vl9aml9k!qdc lxvmdctq_adWkcv~zd
f
v9»q_ad®dZdcqkm Qv~t akq(l9acd~¨q_ad dcbR kk! v~ v9Ol9´dZdc2q7v~ leqtl9ak!q! v~ b\lcr+¢dk(dcakdc
k(v~bedZ¦_adct!dWdZ kd" ©q_adWadck ~l9a¤qt# ~~dctlRadZ¦¬qtl9akq! v~
½å"q_adM°<q(lxqdcT_l9t#qdYoal9bez dMv9%²~nat!dIa¨Iq_adu¢l9k! ucv~bezv~adcqk»l9t!duk!q(lxqdckl9aWqtl9ak!q! v~akI¨
k(v~bedWk!q(lxqdckZ nakqdct!dc+ Ê
cv~bezv~k!q! v~³"S S#X © kl9Ê
kq(lxqdcv~q(lx a
/\l9a3<µ¦_ dek(v~bed®v9q_adct"~t!v~nazakW (¯Ë cv~bezv~k!q! v~ ³
SA¤ k"l9 (Ë k!q(lxqd
cv~2q(lx a S S#X
¤l9a"S S#X
JaµY
Z _adc+dc2qdct# aplCk!q(lxqdcv~2q(lx a©kna¢%{}k!q(lxqdckm¨NMdct!dc2q7¢dc_lc% v~t!k"l9t!dzv~kk! ¢ d~§M¦_adc
dc2qdct# a l¡k!q(lxqd ¢r lùqtl9akq! v~ zv9 q! aqvq_ad ¢v~naal9t#r£v9"q_ad´k!q(lxqd~¨.q_ad k!q(lxqd
q(l9t!~dZqdcRlxq¯¢2r"q_ad Ë Æ · cv~aadcZqv~t±³«lqtl9akq! v~¦q_av~nq»v~t# 9 µ& k»l9Zq!9lxqdc;Z _adc
t!dcdc2qdct# al k!q(lxqdCq_at!v~na~_£l´_ k!qv~t#r cv~aadcZqv~t¤³ +µY¨q_ad©kna¢%{}kq(lxqd©l9Zq!~lxqdc k®q_ad
v~adq_lxq.¦±l9kl9Zq!d7¦_adcpq_adk!q(lxqd¦±l9k. dZKqmHZ _adcQdc2qdct# aRKv~tuq_ad²t!kqMq! bed)l®k!q(lxqd
cv~2q(lx a¤l\_ k!qv~t#r¤cv~aadcZqv~tc¨q_adWqtl9ak!q! v~´ dmlc% aQq_ k_ k!qv~t#rcv~aadcZqv~t k7nakdc
qv®²apq_ad"kna¢%{}k!q(lxqd7qvel9Zq!~lxqd~ Q lxr¨aadcdcz%{}_ k!qv~t#r ³ aµu kl®cv~aadcZqv~t.q_lxql9Zqk
k bRl9t#rqv\q_ad®_ k!qv~t#r+cv~aadcZqv~t)¢anq"l9zaz dckqv©lxq_ad kna¢%{}kq(lxqdck ´q_ad _ dctl9t!T_r
>7v9qdQq_lxq q_ad©k(l9bedpk!q(lxqdpml9_lmd©lx.q_adQq_at!dcdp¦±lcrkRv9¢dZ a´dc2qdct!dc¨u_adcacdQq_ad
cv~t!t!dck(zv~a abedcT_l9 kbede kWl9zaz dc¨l9ccv~t! a¤qv©q_ad®qtl9ak!q! v~ùq_at!v~na~_ù¦_ T_ùq
kdcqdct!dc
x()·)Ê (¯©(Ë a~)Ê (¯ )N(¬ m Æ U ^_ad qtl9akq! v~ak"¢dZq¼¦Mdcdck!q(lxqdck"l9t!d®l9¢dZ dc
¢2r t!dml9Zq! v~akQv9)q_ad?v~t!b¤§ ¨±¦_adct!d kCl9 dZdc2qCq_lxqQzv~kk! ¢r qt# ~~dct!kQq_ad
qtl9akq! v~¨e klR¢v%v9 dml9©~nl9t!¤cv~aq! v~¤q_lxq_l9k.qve¢dqt!nad)qvRzl9kk.q_ad)qtl9akq! v~
^_ad®zat!dZ% v~nak7dZdc2q)l9a´q_ad®¢v%v9 dml9+qv~~dZq_adct)9d q_adqt# ~~dct7zl9t#q"v9q_adqtl9akq! v~
¦_ dCq_adCt# ~_2q zl9t#q v9.q_ad ©³<µ"cv~2q(lx ak q_adQl9Zq! v~akq_lxqRl9t!dCml9t!t# dc¡v~nq l9a
S1 S2
a a / b
S3 S4
Idle
Running
b
e
f
Sub_Running_Down Sub_Running_Up
b / d H
Q ~nat!da§ %=& %
f~f
A
A1 A2
A3 A12
A11
Q ~nat!d %§ !" $
¦_adc¡q_ad\qtl9ak!q! v~¡ kW²t!dc©|7k l¤kzdcZlxu¸< a¡v9.qtl9ak!q! v~akm¨°<q(lxqdcb\lxqdpvMdct!kq_ad
zv~kk! ¢q¼r¥qv¡l9kkv%Zlxqd¤kna(_ l9¢dZ kCqv¡l k!q(lxqd~ Z _adcadZdctCq_ k\k!q(lxqd¤ kpl9Zq!d~¨±q_ad
qt# ~~dctpzl9t#q©v9"q_adqtl9ak!q! v~ kpdZ9lx nlxqdc l9a zv~kk! ¢r¥q_ad l9Zq! v~ kpml9t!t# dc v~nqm
°%naT_¤qtl9ak!q! v~ak7l9t!dWmlx dck!q(lxq! Wt!dml9Zq! v~akI
^_adu¢l9k! OdZv9 nq! v~®v9l7°<q(lxqdc(_l9t#q»cv~ak! k!qk lk!qdcz¨I¦_adct!dM9dcWq_adOdZdc2qk¯cnat!t!dc2q!r
zat!dck(dcq\l9a q_adpcnat!t!dc2qe9lx nadckRv9~l9t#l9¢ dckm¨qt# ~~dct!k\l9a cv~aq! v~akCl9t!d©dZ~lx nlxqdc¨
l9a l9Zq! v~akpl9t!d ml9t!t# dc v~nqm ½¼ °<q(lxqdcb\lxqd´q_ad d MdcZqk´³ØdZdcq¤~dcadctlxq! v~¨~l9t#l9¢ d
bev%²mlxq! v~akTµ±v9Eq_ad"l9Zq! v~akml9t!t# dc¤v~nq. ©v~ad)k!qdcz¤l9t!d7k(dcakdc©v~rQlxq.q_ad?v9 vm¦ a
kqdcz^_ kb\l9¸~dcklRNM&dct!dcacd"¦q_v9q_adctkdcb\l92q! ck
O
fIP«¨ad~Âak!qt# Zq!r©k!ra(_at!v~av~nak7l9k
B-"
O
fAIP«
^_adCk!qdczùkdcb\l9q! ck k"q_ade 2qdct!zat!dZq(lxq! v~v9l+°<q(lxqd lxqd\kzdcZ²mlxq! v~¦_adct!de azanqk
?t!v~b5q_adWdc2< t!v~abedc2q)l9t!dWcv~ak adct!dc+lxqdml9(_+k!qdcz¨aq(l9¸< a\zl9t#q ©q_adWcnat!t!dc2qdZdcqk
l9a9l9t#l9¢ dckmC|av9q_adctWk(dcb\l9q! ckW kWq_ad\knazdct!k!qdcz qdczat!dZq(lxq! v~§®_adct!d~¨E azanqkq(l9¸~d
zl9t#qRv~rù q_adC²t!k!q®v9l+k(dct# dck v9k!qdczakI¨mlx dc¥l´knazdct!kqdcz^_adct!d~¨»q_adC?v9 vm¦ a
kqdczakq(l9¸~d ´cv~ak adctlxq! v~ v~r+q_ad d M&dcZqk)v9q_ad zat!dZ% v~nak)v~adQ³?«Âd~ v<mlxr´dcbRq!qdc
dZdc2qkl9aQT_l9a~dc©9lx nadckTµY¨%naq!&q_adct!d kMav qtl9ak!q! v~pqvWq(l9¸~d)l9rbev~t!d~¨«Âd~av®k!qdcz
qv+b\l9¸~d~Q^_ k k!qnlxq! v~¨¯mlx dck!q(l9¢ d~¨¯ kWq_ad\dcav9.q_ad\k(nazdct!k!qdcz¨»l9aù azanqk®l9t!d
l9c¶%n t!dc¤?t!v~b5q_adWdc% t!v~abedcq"l9adZ¦W
Qv~t©l9Zq! v~ak+cv~ak! k!q! a¥ l9kk! ~ a ~lx nadck©qv~l9t#l9¢ dckm¨q_adùk(l9bed 9l9t#l9¢ dùml9 ¢d
t!dZ?dct!dcacdcp ¤l9kk! ~abedcqkl9kkv%ZlxqdcC¦q_©NM&dct!dcqqtl9ak!q! v~akm§udml9(_©zat!vm% adck¦q_¤l
cv~2qt# ¢anqdc 9lx nad~¨El9a´q_ad®9l9t#l9¢ d®q(l9¸~dck7qk79lx nadck)?t!v~b q_adRl9Zq! v~ cv~2qt# ¢anq! a¤
q_ad"cnat!t!dc2qk!qdcz
f
Q~) )·) Æ ,.dck! adckq_adp°<q(lxqdc(_l9t#qkI¨»l9av9q_adctl9a~nl9~dQv9.q_adQ°<q(lxqd lxqdCdc2< t!v~%{
bedc2qQ kp|7Zq!<q¼r%T_l9t#qk Of
P«§ qQzat!vm% adckpq_ad´adck ~adctC¦q_ lav9q! v~ v9"bnq!¹{« dZdZ
lxq(lA{«ªvI¦ l9~tl9bekm¨l9k nak!qtlxqdcC Q ~nat!d7%»yul9(_Qv9q_ad¢ v<T¸<k \q_ad_ dctl9t!(_2r\t!dY{
zat!dck(dcqkl9Ql9Zq!%q}rO^_ad7l9Zq!<q! dck.ml9Q¢dnakdc\qv®cv~ak!qt!naZqlWk!qt!naZqnat!d7adccv~bezv~k(dc
_ dctl9t!T_ mlxr
|.q.dml9(_p dZdZ«¨v~ad7v9q_ad)l9Zq!%q! dckm¨%adck! ~lxqdcp Cq_ad7~tl9za_ mlxEk!rq(lAoC¢2rplWt!v~naaadc%{
cv~t!adct!dc¢vmo&¨¯ml9¢dCl©cv~qt!v9l9Zq!<q¼r ³Ød~ÂaQl9Zq!%r© Q aè~µYp½}q" k®l9kkv%Zlxqdc
¦q_ l°<q(lxqdcT_l9t#qpadZ² aqkC¢dc_lc% v~tc ^_adlxq!qdctpml9 k!q(l9t#qm¨.k!qv~z¨k(nakzdca l9a
t!dck(nabed"q_adWl9Zq!<q¼r¨l9k¦±dZ¯l9kkdcak(d)qkcnat!t!dcq7k!q(lxqnakm
|7Zq! v~akM¦q_plqt# ~~dctMml9p¢dl9kkv%Zlxqdc\¦q_©l9©l9Zq!<q¼r¨<q_adZrCl9t!d7mlx dcpbR ¹{}kzdcckI¨
l9ap_lcd)q_ad7k(l9bed7?v~t!bl9k±l9¢dZ k±k(dcdcpl9kk(v<ZlxqdcQ¦q_pqtl9ak!q! v~akv~tMkq(lxq! 7t!dml9Zq! v~ak
¦q_+k!q(lxqdck +°<q(lxqdc(_l9t#qkI
a¸<k¢dZq¼¦Mdcdc l9Zq!<q! dck7t!dczat!dckdcq7q_adlxq(lCv~tcv~2qt!v9dYoa(_l9a~dck7¢dZq¼¦Mdcdc l9Zq!<q! dckI
^_adZr¤ml9¢dl9na~bedc2qdc+¦q_dZ dcbedc2qkmlx dc´lxq(lA{}k!qv~t!dckt!dczat!dck(dcq! aQq_ad"¦±lmrlxq(l
k"¸~dczq®lx v~a¤k!qdczakmR^_ kl9kzdcZqWv9uq_adRl9a~nl9~de k_avm¦MdZdct ¢l9kdcùv~ q_adRØl9Zq"q_lxq
~l9t#l9¢ dckul9a\dZdc2qkMl9t!d¸%avm¦Clxvmdctul)T_l9t#q³?q_adkcv~zdv9q_adZ tadZ²q! v~µYu^_adct!dY{
?v~t!d)q¦av9q¢d"_l9a dc+dYoaz ZqdZr© ¤q_ad)qtl9ak!lxq! v~M^_adWt!dczat!dckdcq(lxq! v~ v9»lxq(l
ªvI¦¬ a¸%k k¢anql9¤dYoaz Zq(lxq! v~+v9»cv~bebna mlxq! v~ak)dYo k!q! aCl9r%¦±lmr
Q lxr¨lcv~acdczqv9 +v%an dIÀ±_l9t#qkOlx kv7dYo% k!qk¯ e°<q(lxqd´lxqd~¨~_l9a a7q_ad.l9kkv%Zlxq! v~
v9l©kzdcZ²mlxq! v~ù¦q_¡l9ùdYoadccnq! v~l9t!T_qdcZqnat!d~C^_ kzv9 q k"av9qcvmdct!dc¢r q_ad
zat!dck(dcq¦±v~t!¸
.®T®
Q t!k!qm¨%¦±d 2qt!v<anacd l t!dml9Zq!d"¢vcopbev<adZ«¨q_adc¨ ©v~t!adct±qvRk! bez·r©l9apqv®kqt!naZqnat!d
q_adqtl9ak!lxq! v~ Kt!v~b °<q(lxqdc(_l9t#qk)qv¤°< ~lx«¨k(v~bed zat!dcadZ²adc zat!v%cdckkdcknak(dZKn¯Kv~tq_ad
qtl9aklxq! v~+l9t!dW9dcO^_adZr¤cv~t!t!dckzv~a¤qvRq_adW¢l9k! )?dmlxqnat!dckv9q_ad °<q(lxqdcT_l9t#qkm
X54 < %<(?AJ:%KL-< E 7=
|7kClùcv~bebev~ Ktl9bedZ¦±v~t!¸¥Kv~tCt!dml9Zq!d+kzdcZ²mlxq! v~¨±¦Md+adZ²ad lùbev%adZv97t!dml9Zq!d
¢vco¤¦q_ l\av~t!b\lx Ãcdc´ qdct#Øl9cd~yul9(_ zl9t#qv9»q_ad adck! ~qvCqtl9ak!lxqdW¦_lcd q_ k
2qdct#?l9cd¤k((_adcbed©t!dczat!dckdcqdc£l9kel zat!v%cdckk® ¥°< ~lx«½å zl9t#q! cnl9tc¨Ml9a%{}av%adck\l9a
v~tå{}av%adck ¦±dml9T_¢deqtl9ak!lxqdc qv lzat!v%cdckk ¦q_¡q_ k k!qt!naZqnat!d~¨_adcacdC ak(nat# a
q_ad"_ dctl9t!T_ mlxzat!v~zl9lxq! v~´v9cv~2qt!v9¯k! ~lx kkna(_l9kZ v<T¸<k7l9a¤t!dckdZqkm
½å)q_ad±°< ~lx<l9a~nl9~d~¨~l9" qdct!dck!q! a7zat!v~zdct#q}r" kq_lxq¯q_adO¢dc_lm< v~t¯v9<q_adMcv~bezv~kq! v~
v9q}¦Mv"zat!v%cdckkdck kq_ad± qdct!kdcZq! v~ev9q_adM¢dc_lc% v~t!kOv9q_ad.cv~ak!q!qnadc2qOzat!v<cdck(kdckm^_ k
fI
Inputs
Tick LocalClock Control
Outputs
Q ~nat!d§
-& %!",Q & # !
k±k! bRl9tMqvq_ad7kv9 nq! v~ak±v9¯l9Cdc¶%nlxq! v~lxk!rk!qdcb¤ dcacd~¨%q_ k±t!dml9Zq!d7¢vcoCbev%adZ k
cv~bezv~k!q! v~lx& \q_ad7k(l9bed7kdcakd)l9aQ9dck.l cv~bezv~k!q! v~lxkdcb\l92q! ck±Kv~t°<q(lxqdc(_l9t#qk
q_lxqb\lcr©¢dWnak(dc©qveav\bev<anl9tzat!v<v9?km
| t!dml9Zq!d)¢vcoC kl ¢vmoCcv~q(lx aR azanql9apv~nqzanq.k ~lx kmu°%v~bed)v9q_adckd 2qdct#?l9cd
k ~lx kl9t!dWcv~bebev~¤qv\dZdct#r©¢vco§
Y )K kOq_adZ v%(¸Rv9&q_ad¦_av9 dadck! ~½}qM_l9ku¢dcdcCl9aadcC¢dcml9nakd Q°<q(lxqdcb\lxqd~¨
q_addZdcqkM~dcadctlxqdc\¢r\l7k!qdcz\l9t!dkdcak(dc®v~relxqq_ad¢dc9 a aWv9q_ad.?v9 vm¦ a
k!qdcz¡³Ø~dcadctlxqdc dZdcqk"l9t!d k_·qdcµY^_ k7k! ~lx¯ kq_adt!dZ?dct!dcacd®Z v<T¸¤nakdc?v~t
q_adCzanat!zv~kdCv9k_Kq! aq_adck(dCdZdcqkel9a¡9lx nadQ(_l9a~dckR¢rv~adC ak!q(l9qRv9.q_ad
9 v~¢lxZ v%(¸I
Y
Ê Ê k)q_adeZ v<T¸´v9Mq_ade¢vmo&R^_ k"Z v%(¸´ k"zat!dckdcqW¦_adcadZdctWq_adecv~tå{
t!dckzv~a aQ°<q(lxqdc(_l9t#qk7cv~bezv~adc2q kl9Zq!d~
Y Ê (m Ê kCl9£dc<nabedctlxqdc%{«q}rzdc k! ~lxtl9a9 a H&maI ~H& Ê U QÆ Æ
Ê
QÆ
ÆE^_ k»q¼r%zdM kmlx dc X ##½¼q¯ k»nakdc® ak! adMq_ad.¢vmoqv)¸<avI¦
¦_adcCl9a\_avI¦£q_ad¢vcoR k³Øt!dIµådcqdct!dcM½}qk9lx nad k HmaA ¨<lxaq_ad³Økna¢µ¼ dZdZ kuv9
q_ad¢vcoCadcdcQqv®¢dt!dckdZqm½}&qkM9lx nad k
Ê QÆ ÆQ³Ød~Âa»q_adcv~t!t!dckzv~a a
k!q(lxqd k±l9Zq!9lxqdcQq_at!v~na~_©lW_ k!qv~t#r\cv~aadcZqv~t(µOq_ad¢vcoCadcdcakMqv¢dt!dckdZqMKv~tMlx
q_ad dZdZ k¢anq±q_ad7 dZdZ¦_adct!d7q_ad
Ê QÆ ÆRcv~aadcZqv~t±¢dZ v~a~km QÆ Æ
bedml9akq_lxq¯q_adu¢vcoW kl9Zq!9lxqdc®¢anq¯avt!dckdZq¯_l9kqv¢duzdct#Kv~t!bedc^_ad QÆ Æ
9lx nad± knakdZ?na¢dcml9nak(dM?v~t ak!q(l9acd. \°<q(lxqdcb\lxqd~¨<l7k!q(lxqd.b\lcrRcv~q(lx CÆ (
Æ
)( O
eq_adqt# ~~dctMzl9t#quv9El"k!q(lxq! t!dml9Zq! v~Cq_lxqudcl9¢ dckOq_adk!q(lxq! t!dml9Zq! v~\¦_adc\q_ad
k!q(lxqdW kdcqdct!dc)°< bRl9t#r¦q_+Æ ))(O ¨q_adW~lx nad H& Ê U knak(dc¦_adc´ dmlc% a
lRk!q(lxqd" +°<q(lxqdcb\lxqd~
T
ß(ê«Ý"ê«Ü9í(êEÜAß!Þ&ÝZÝåà ÝßYà?æ!í(êØæèßTéíYãØã?ßmä¼æîí(ê«Ý#â¤ê«ßRê«ÜAÝã?ÜAæñòëêØæèéeìAàØßmäåÝ!ãØãÞæèïñïç~Ý í(é9íTÝ!âpÞæñê«Ü
ßYìAêØæ.æ!íêØæîßTé9ã&Þ àê¯æèé9íTä¼êØæZÝã?óAç
r
ãKê}í(ê«Ý!ä«Ü9í(à?ê}ã