HAL Id: inria-00098706
https://hal.inria.fr/inria-00098706
Submitted on 26 Sep 2006
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
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, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Construction et réutilisation de spécifications LOTOS
Samira Sadaoui
To cite this version:
Samira Sadaoui. Construction et réutilisation de spécifications LOTOS. AFADL : Approches Formelles
dans l’Assistance au développement de Logiciels, 1998, Toulouse, France, 13 p. �inria-00098706�
./10243$/5.76986:%;<
=>7?A@CBDFEGIHKJKLMDMNPORQ1S7QKTKUDKVWB1XMYMZ9[M\M?^]O`_a]cb^ORdeB1XMfcgihj]cYM]ck
]ORl%Bm@n_KobB1YB1>K[M@qpe_a>7?^@qBMrst?
uwvFxyz{v|}W~``9~ ^$$$`n`$n97$7$Ke7cRK$cR9K9$~ ``K$n~K
$K`aaaR`a~ "$ec7KR`a~ "K-7$7ca~ K- W¡W ¢M£}W~KeK`aaa`~ 7~K$Cwa9-~1K¤$a
¥
~ KqK9¦1K§$`$K9K$`a`K¨F`$1`9$R7$eK9K© $a~ 7$$1K97$ª§cn~«$eK
$-~`a`$¬nK$$a`a~KK`a$n`M¦1Ka$K^K`7`a~ K£KcK$7cKa$1K~ K`$$1`~K
K®cK`~1^KK-~ K``$`a~ ¯K`§$$7`a~ - °¡W ¢±a-³²1n~ n´-K~1$$`K-9$`1µ
Ka~KK$K¶%¶´-Ka$K9$K`aaaR`a~ ±Mc^~ K`a~ %·$~-§~ ^c1W7KK-c`^Ka$$``-
$K`aaaR`a~ K-³²´ac^Ka`$$K`£
¸ ¹ e 9
=Bº?^»c[M¼$@a_a@nbB1¼$@a>KX{]cb$¼9fc>KXMb$@aYM» ?^»c]"fc>7l%l][MXl>1gK]cX¯YM]·b[?$l>KX§¼$] ?_CBºf ?^@ab$]wYM['_a>K½K@afc@a]c_³D¾] ?$l]c¼AO
¼B1X§¼-Y¿>KÀM¼]cXM@C?ÁYM]cb%½7B1@aXMbb$@a½KXM@Âf B1¼$@s³bb$[?_CBºÃ§[B1_a@a¼$»«YM['_a>K½@nfc@a]c_³D°_n]cbfc>KÄM¼b®YM]«l%B1@aX§¼$]cXB1XMfc]"]c¼YM]
YM»c\K]c_a>K¾M¾] l]cX§¼·ÅGBK?$ÆKL1DÇ9?^[LKHÈRrÉX¯½K»cXM» ?B1_³DÃ7[B1¼?^]»c¼B1¾]cb9b>KX7¼9¾?A»cb$]cX7¼]cb9YB1XMb9[MXʾ?^>§fc]cb$b$[MbYM]
?^»c[M¼$@a_a@nbB1¼$@a>KXËŪEG°ÆKLÈFo_CBÌb$»c_a]cfc¼$@a>KX{YM[Êfc>7l¾>KbB1X§¼+Í«?A»c[M¼$@a_n@ab$] ?DbBÌfc>7l¾?^»cÎM]cXMb$@a>KXDbB«l>7YM@Âf B1¼@n>X
]c¼®bBÏfc>§l¾>Kb@n¼@n>XrÐd>K[MbXM>K[Mb@nX§¼$» ?^]cbb$>KXMb®Bm[MkÊb$¾»cfc@Âf B1¼@n>XMb-s³>7?$l5]c_n_a]cbç[M@¾?A»cb$]cX7¼]cX7¼[MX'f B1Y?A]
@nX§¼$» ?^]cbbB1X§¼¾>K[?e_qBÏ?^»c[M¼$@a_a@abB1¼$@a>KXDB1b$b$>§fc@qB1X§¼+Í"_qB"s³>K@ab-[MXÑÀ>KX¯XM@a\K] B1[ÊY¿B1ÀMb$¼?$Bmfc¼$@a>KXDM_a]%fc>KXMfc]c¾M¼YM]
l>7YM[M_qBK?A@n¼»]c¼YM]cb°¾>Kbb$@aÀM@n_a@a¼$»cbYM]¾?^]c[M\K]YM]fc>7??^]cfc¼$@a>KX-]cX§¼?^][MXM]b¾»cfc@Âf B1¼$@a>KX%]c¼b>KX@Cl5¾M_CBmX7¼Bm¼$@a>KXr
G_a[Mb$@a]c[?^bBm¾M¾?^>7fÎM]cb>KX§¼»c¼$»¾?^>K¾>Kb$»c]cb¾>[?[MXM@ªÂ] ?°]c¼WB1YBm¾M¼$] ?YM]cb°fc>7l¾>KbB1X§¼$b]ck7@ab$¼BmX7¼$b«o1[MXM@Âf BO
¼$@a>KX·YM]s³>KXMfc¼$@a>KXMb]c¼YM]+l>§YM[M_a]cb9ŪÒÓÔLQcÈ^D7B1¾M¾M_a@af B1¼$@a>KX«YM]e¼$]cfÎMXM@nç[M]cbYM]9?$B1@ab$>KXMXM] l5]cX7¼°¾BK?WB1XBm_n>½K@a]
ŪÕÏB1@qLMÖ1D§ÕÏ×MLKHÈRDK?^»c[M¼@n_a@abB1¼@n>X%¾BK?l>§YM@Âf B1¼$@a>KX%]cX%[MXM@ÂB1X§¼_a]cbWb$¼?^[Mfc¼$[?^]cbYM]¼^g7¾]cbWB1ÀMb$¼?B1@a¼$bÅØ9×MLKÙÈRr
GBK?ÐBm@n_a_a]c[?^b D1XM>[Mb¾>K[M\K>XMbÐfc@a¼$] ?_a]¾?^>1Ú$]c¼ÛWÜ
¥
ÝÞÔŪhhß7àLMÖÈç[M@7¾] ?$l]c¼YM]?^»c[M¼$@a_a@ab$] ?YM]cbYM»c\]c_n>¾§O
¾] l]cX§¼$bs³>7?$l%Bm_n@ab$»cbYB1XMb_a]-_qB1XM½§B1½K]9ÜPáÝâŪhß7àÆKLÈÐ]cXÏ?^]`Ú>K[B1X§¼W_a]c[?^be»c¼B1¾]cbYM]-YM»c\K]c_a>K¾M¾] l]cX7¼b r
Ø9B1XMbfc]9¾B1¾M@a] ?cD§XM>K[MbXM>[Mb@aX7¼$» ?A]cb$b$>KXMbÍ_qB%fc>KXMb¼?^[Mfc¼$@a>KX%]c¼eÍ_qB%?^»c[M¼$@a_a@abB1¼$@a>KX«YM]9b$¾»cfc@Âf B1¼$@a>KXMb
°¡W ¢MrKh]cbfc>KXMb$¼?^[Mfc¼@n>XMbb$>KX§¼Bmb$b$@ab$¼$»c]cb]cX[M¼$@a_n@abBmX7¼_a]l>§YMãc_n]Y¿ªBm@nYM]B1[YM»c\K]c_a>K¾M¾] l5]cX7¼GW?^>¾M_CBmXM]
Ū×MØ9LKQÈ^rh]-l>§YMãc_a]-B»c¼$»9]ck§¾» ?^@ql]cX§¼$»9¾>[?_qBfc>KXMb$¼?A[Mfc¼$@a>KX·YM]9b¼?^[Mfc¼$[?^]cbYM]9YM>KXMXM»c]cb]cXåäæ`ܬÛ
Ūק>K[LKJÈRDcY¿B1¾M¾?^>§fÎM]cb>§?^@a]cX7¼$»c]cbl>7YMãc_a]]cX®ÒºÅªØ9×MLKJÈ7]c¼YM]b$¼?^[Mfc¼[?^]cbYM]fc>X7¼?AçK_a]]cX® °¡W ¢Åª=Bl%LKÙKD
==×MLKÙÈ^r7=B?^»c[M¼$@a_a@nbB1¼$@a>KX"YB1XMbG°?^>K¾M_qB1XM]Ū×M×MLKÙÈfc>KXMb@nb¼$]Í9»c¼[MYM@n] ?°_qBfc>KXMb$¼?A[Mfc¼$@a>KX%YM]b$¾»cfc@Âf B1¼$@a>KXMb
XM>KXÊb$]c[M_a] l]cX§¼%Í«¾BK?^¼@C?eYM]"b$¾»cfc@ªÂf Bm¼$@a>KXMb]ck7@ab$¼BmX7¼$]cb-lwB1@ab-»c½7B1_a] l]cX§¼®Í̾BK?^¼$@q?eYM]"_a]c[?^b¾?^>7fc]cbb$[Mb
YM]%YM»c\K]c_a>K¾M¾] l5]cX7¼ r=P]%YM»c\K]c_a>K¾M¾] l5]cX7¼9¾]c[M¼-èc¼?^]%?^»c[M¼@n_a@ab$»"½7?$é1fc]Í«_qB«l» l>§?^@abB1¼$@a>KXºYM]cb-YM»cfc@ab$@a>KXMb
¾?^@ab$]cb_n>§?^b-YM]cbYM@ê» ?^]cX§¼$]cb»c¼B1¾]cb rÐ=¬Bå?A»c[M¼$@a_n@abBm¼$@a>KX']cb¼5?A» B1_a@nb»c]iͺ_³¿ªB1@aYM]"Y¿>K¾» ?B1¼$]c[?^b9¾] ?$l]c¼$¼BmX7¼
Y¿[M¼$@a_a@nb] ?]c¼Y¿ªB1YBm¾M¼$] ?°YM]cb¼$]ck§¼$]cbYM]9b$¾»cfc@Âf B1¼$@a>KXMbe]c¼YM]®?^]`Ú>K[M] ?°YM]cb»c¼Bm¾]cbYM]-YM»c\K]c_a>K¾M¾] l]cX§¼$b r
=]"¾B1¾M@a] ?]cb$¼b$¼?A[Mfc¼$[?^»%fc>7lwl]%b$[M@a¼ rWØ9BmXMb-_a]«¾BK?$B1½§?$B1¾MÎM]·HMD¬XM>K[Mb¾?^»cb$]cX§¼$>KXMbÀ?^@aãc\K] l]cX§¼®_a]
l>7YMãc_a]·G°?^>K¾M_qB1XM]]c¼-b>KXÊB1¾M¾M_a@nf Bm¼$@a>KX'B1[Ê_qB1XM½§B1½K]YM]%b$¾»cfc@ªÂf Bm¼$@a>KX' °¡W ¢ÊÅë`×Mì9ÆKÆÈ^rí ¾BK?^¼@C?eY¿î[MX
]ck7] l¾M_a]KD¬_n]«¾B?$B1½7?$Bm¾MÎM]®J«¾?A»cb$]cX7¼]%XM>K¼?^]%B1¾M¾?A>7fÎM]%YM]%fc>KXMb¼?^[Mfc¼$@a>KX¯Y¿[MXM]"b$¾»cfc@Âf B1¼@n>Xï W¡W ¢Mr
h]c¼$¼$]B1¾M¾?^>§fÎM]°fc>KXMb$@ab$¼$]Ífc>KXMfc]c\K>K@q?_³¿ªBK?^fÎM@a¼$]cfc¼$[?^]Y¿î[MX®bg7b$¼ã l]W¾M[M@abÍYM»cf ?^@q?^]b$>KXfc>7l5¾>7?^¼] l]cX7¼r
d>K[Mb9»c¼[MYM@n>XMb-»c½7B1_a] l]cX§¼9YM]c[MkÏf Bmb-YM]%?^»c[M¼$@a_a@abB1¼$@a>KXÊY¿î[MXM]%b$¾»cfc@Âf B1¼@n>XÊ]ck7@ab$¼B1X7¼]Kr=]cb9¾MÎB1b$]cbYM]
b$»c_a]cfc¼$@a>KXË]c¼"YM]ål>§YM@Âf B1¼$@a>KXIYM]Ïfc>7l¾>KbB1X§¼$bb ¿ªBm¾M¾M[M@n]cX§¼%b$[?w_a]cbiB?^fÎM@a¼$]cfc¼[?^]cbYM]cb·b$¾»cfc@Âf B1¼$@a>KXMb
°¡W ¢Mr
ð
M ®¬iñt®â!·$#%&(9*e(-,ÔIò !®
=]9YM»c\K]c_a>K¾M¾] l]cX§¼Y¿[MXM]9b$¾»cfc@ªÂf Bm¼$@a>KXÏ]cb$¼\§[«fc>7l%l]9[MXM]9b[M@n¼]9Y¿»c¼B1¾]cb rMóXM]9»c¼Bm¾]9b$]9YM»ÂXM@a¼
fc>7l%l]"[MXM]·¼?$B1XMb$@a¼$@a>KX{]cX7¼?^]·YM]c[MkÑ»c¼B1¼$b]c¼%?^»cb$[M_a¼$]"YM]«_³¿ªB1¾M¾M_a@af B1¼$@a>KXY¿[MXôõö 3$/1÷`øcù§3 róX'»c¼B1¼YM[
YM»c\K]c_a>K¾M¾] l]cX§¼"]cb$¼%fc>KXMb$¼@n¼[M»ÏYM]ÏYM]c[Mk¾B?^¼$@a]KD[MXõú/mûýüøÏ÷³3$/1þ1/12úÐ]c¼"[MXM]Ïb¾»cfc@Âf B1¼$@a>KXI]cXÔfc>[?^b
YM] 3 ö ü1ù
÷³2 ô û róXM]«?^»cYM[Mfc¼$@a>KXÑfc>KXMb$@ab$¼$]·ÍÌYM»cfc>7l¾>Kb$] ?e[MXM]"¼é1fÎM]%]cXÊb$>K[MbAO`¼é1fÎM]cb9fc>7?$?^]cb$¾>KXMYB1X§¼+Í
YM]%XM>K[M\K] B1[Mkºb$>K[Mb^O`¾?A>KÀM_aã l]cb rhÎB1ç[M]»c¼B1¾]·B"¾>K[?Á>KÀ7Ú]cfc¼$@sYM]%YM»ÂXM@q?[MXM]%>K[ѾM_n[Mb@n]c[?Ab-¾BK?^¼@n]cb
YM]Ê_qB{b$¾»cfc@Âf B1¼$@a>KX YM»cb$@a½KXM»c]cbϾBK?"YM]cb þ1/132/ úø B1b$b>7fc@a»c]cbÏB1[MkIYM@ªê» ?^]cX§¼$]cbϼémfÎM]cb r=B{YM»ÂXM@a¼$@a>KX
Y¿[MXM]Ï\1BK?^@qB1ÀM_a]¯]cb$¼·fc>§l¾>Kb»c]ÏY¿[MXI¼Rg§¾]KD)Y¿[MXË»c¼Bm¼ XM@a¼$@qB1_³D"@a\K]cXD9BK?^¼$@qB1_]c¼Á] ?$l@aXB1¼$]cY]c¼
Y¿[MXM]9]ck7¾?A]cb$b$@a>KX"s³>KXMfc¼$@a>KXMXM]c_a_a]Kr=¿]cXMb$] lÀM_a]9YM]cb\1BK?^@qB1ÀM_a]cb]c¼_a]c[?^bYM»ÂXM@a¼$@a>KXMbefc>KXMb$¼@n¼[M]cX7¼°_n] 0 ö ÷`/
õ 3 ô 3$/100%ø Ū=»c\MLKQÈYM»cf ?^@a\´B1X§¼_qBb$¾»cfc@Âf B1¼$@a>KXÏ]cX«fc>[?^bYM[«YM»c\K]c_a>K¾M¾] l]cX7¼r
\K]cfÏGW?^>¾M_CBmXM]KDÐ[MXM]«b¾»cfc@Âf B1¼$@a>KX °¡W ¢ÊYM]ºXM>7l õ ø
û/10%ø b$]«fc>KXMb$¼?A[M@n¼%ͯ_³¿ªBm@nYM]ºYM]«fc@aXMÃ
¾BK?^¼$@a]cbXM>7l%l»c]cb õ ø
2ûM÷`øc3 ú2WüK/1÷`/
üKøø
]c¼-úqô
/ ú üKø
! õ ø
"
24ûM÷`ø3#
YM»cXM>K¼]9_¿î@nX§¼$] ?s`B1fc]9½K_a>KÀBm_n]9YM]9_qBb¾»cfc@Âf B1¼$@a>KX
! ú2 YM»cb$@a½KXM]9_a]cb¼^g§¾]cb@ql¾>7?A¼$»cbYM]9_qBÀM@aÀM_a@n>¼$ÎMãcÃ7[M]% W¡W ¢
!
üK/m÷`/
üKø fc>KX§¼$@a]cX§¼_a]cb¼^g§¾]cbYM»ÂXM@abe¾BK?°_a]-b$¾»cfc@ªÂ]c[?
!
ø
YM»cb$@a½KXM]9_³¿]ck§¾?^]cb$b$@a>KX«YM]fc>7l¾>7?^¼$] l]cX§¼½K_a>KÀB1_
!
úqô
/ ú
üKø$ ?^]c½7?^>[M¾]YM]cb°YM»ÂXM@n¼@n>XMb_a>§f B1_a]cbXM»cfc]cb$bB1@q?^]cbÍ9_qBYM»ÂXM@n¼@n>X·YM["fc>7l¾>7?^¼$] l]cX§¼ ø
D
fK¿]cb¼^ORÍO`YM@q?^]W_a]cb@ql¾>7?^¼B1¼@n>XMbÐYM]¼^g7¾]cb D_n]cb°YM»ÂXM@a¼$@a>KXMbYM]¼^g7¾]cbÐ]c¼_a]cbYM»ÂXM@a¼$@a>KXMb°YM]¾?A>7fc]cb$b[Mb r
Ø9B1XMb_a]Wl»c¼BO`¾?A>K½7?$BKlwl]KD`fc]cbfc@aXMþB?^¼$@a]cbb$>KX§¼?^]c¾?^»cb$]cX§¼$»c]cb¾BK?YM]cb\1BK?^@qB1ÀM_a]cb¼^g7¾»c]cb D õ ø
2ûM÷`øc3 o
%#&('*)+-,/.102) Dú2 o
&(.(34)*5*67%98:' D üK/1÷`/
üKø$ o
'*;1<=)*5*>(),25*67%98:' D ø
o?
)@(.7AB%C(+
]c¼9úqô
/ ú üKø o
6DCE02.(6=5*>1)=,25*6D%8F'
rØ9B1XMbfc]-ç[M@b$[M@a¼ D_CBwb$¾»cfc@ªÂf Bm¼$@a>KXÊ °¡W ¢%]cb$¼YM>KXMXM»c]®B\K]cf9fc]cbefc@aXMë\´BK?^@qB1ÀM_a]cb r
=B%YM»ÂXM@a¼$@a>KX¯Y¿[MXº¾?^>§fc]cb$b$[MbeYM]-XM>7l õ 3 ô "
û/10%ø
]cb$¼efc>KXMb$¼$@a¼$[M»c]YM]-_³¿@aX§¼$] ?s`B1fc]9õ 2ûM÷`øc3
DMYM[Ïfc>7l®O
¾>7?^¼] l]cX7¼õ
ø
]c¼9YM]cb9YM»ÂXM@a¼$@a>KXMb_a>7f Bm_n]cbÁõ
úqô
/ ú üKø r§õ
ú2 ]c¼eõ
üK/1÷`/
üKø fc>KX§¼$@a]cXMXM]cX7¼9_a]cb
¼Rg§¾]cb[M¼$@a_n@ab$»cbeYB1XMb_³¿@aX7¼] ?stBmfc]9YM[«¾?^>7fc]cbb$[Mb r
specification spec_name
behavior
endspec
spec_interf data_defs
beh local_defs
process proc_name p_interf p_beh
p_local_defs endproc
:=
. . . where
p_data_defs
lib p_lib
Øe]cbe>K¾» ?$Bm¼$]c[?^bYM]%YM»c\]c_n>¾M¾] l]cX§¼¾]c[M\K]cX§¼9èc¼?^]®Bm¾M¾M_n@aç[M»cb-¾>K[?9B1@aYM] ?9Í%YM»ÂXM@q?Áfc]cb9\´BK?^@qB1ÀM_a]cb r
ë³_ab¼?$B\´B1@a_a_a]cX7¼°]cX%¾BK?$Bm_n_aãc_a]eb$[?_a]¾M_qB1X%YM]e¼?$B\1B1@a_7]c¼°b$[?_a]+l»c¼BO`¾?^>K½7?BKl%l]KD ?^»cYM[M@abB1X§¼W[MXM]¼é1fÎM]]c¼
stB1@abBmX7¼e»c\K>K_a[M] ?_n]w¾?^>7YM[M@a¼-B1bb$>7fc@a»Krë³_ab-¾] ?$l]c¼$¼]cX7¼YM]fc>KXMb¼?^[M@q?^]-YM@q?^]cfc¼] l]cX7¼9>[ϾBK?9?^»c[M¼@n_a@abB1¼@n>X
b$>K@a¼9YM]cb9¼^g7¾]cb-B1ÀMb$¼?$Bm@n¼bYM]%YM>KXMXM»c]cb9b$>@n¼9YM]cb9]ck§¾?^]cb$b@n>XMb9YM]®fc>§l¾>7?A¼$] l]cX§¼]cXʼ$] ?$l5]cbY¿ªBm_n½ãcÀ?^]cb
YM]9¾?^>7fc]cbb$[Mb r
=B½[?^]%Ö9@a_a_n[Mb¼?^]-_qB¾?A] l@aã ?^]9»c¼B1¾]9YM]-fc>KXMb$¼?^[Mfc¼$@a>KX"Y¿[MX«]ck7] l5¾M_n]YM]-b$¾»cfc@Âf B1¼$@a>KXÏXM>§l%l»c]
G
Ý
G(H
"»c¼$[MYM@a»YBmXMb_qBb$[M@a¼$]eYM[·¾Bm¾M@n] ?r7=B¾BK?^¼@n]½7B1[MfÎM]YM]e_qB9½[?^]?^]c¾?^»cb]cX7¼$][MX·»c¼Bm¼YM[·¾M_qB1X
YM]9¼?$B\´B1@a_]c¼_qB%¾BK?A¼$@a]Y?^>@n¼]9_n]-l5»c¼BO`¾?^>K½§?$BKl%l]B\K]cfe_a]cb\´BK?A@CBmÀM_n]cbeB1b$b$>§fc@a»c]cbB1[Mk"¼é1fÎM]cbYM[«¾M_qB1Xr
=Bi½K[?^]·HÌfc>7?$?^]cb$¾>KXMY'ÍÌ_CBº\§[M]%[M¼$@a_a@abB1¼$]c[?crÉ_a_a]«]cb$¼9s³>7?$l5»c]®YM]"_qBº¾BK?^¼$@a]%\§@ab$@aÀM_n]«YM[{¾M_qB1X{YM]
¼?$B\´B1@a_K]c¼YM]W_³¿»c\1B1_a[B1¼$@a>KXYM[5l5»c¼BO`¾?^>K½§?$BKl%l]Krët_7]cb¼ÍXM>¼$] ?ç[M]W¼>K[M¼$]cb_a]cb\´BK?^@qB1ÀM_a]cb>KX§¼[MXM]\´Bm_n]c[?
¾BK?YM»s`B1[M¼ D§@³r]Krç[¿]c_a_a]cbX¿î>KX7¼¾B1b]cXMfc>7?^]9»c¼$»YM»ÂXM@n]cbe¾BK?YM]cb9?^»cYM[Mfc¼$@a>KXMbrh]cb\1B1_a]c[?^b¾] ?l]c¼$¼$]cX§¼
Y¿»c\´B1_a[M] ?9Í"fÎB1ç[M]®»c¼B1¾]YM[¯YM»c\K]c_a>K¾M¾] l5]cX7¼9_a]·l»c¼BO`¾?^>K½7?BKl%l]e¾>K[?e>ÀM¼$]cXM@q?e[MXM]®b¾»cfc@Âf B1¼$@a>KX
°¡W ¢Mr
I J (K-EL ! $$
óX%fc>7l¾>KbB1X§¼
G
Ý
G(H
%]cb$¼¾?A»cb$]cX7¼°YB1XMb_qB9ÀM@aÀM_a@a>K¼$ÎMãcç[M]9YM]cbWfc>7l¾>KbB1X§¼$b?^»c[M¼$@a_a@abB1ÀM_a]cb r§í˾BK?RO
¼$@q?9YM]%fc]%fc>§l¾>KbB1X7¼DXM>K[Mb9b>K[MÎB1@a¼$>KXMb9¾?^>¾>Kb$] ?eYM]cb?^»c[M¼$@a_a@abB1¼$@a>KXMbÀB1b$»c]cb-b[?NM2PO bB"fc>§l¾>Kb@n¼@n>X
B \]cf%[MX'XM>[M\K] B1[¯fc>7l¾>7?^¼$] l]cX§¼-Í«YM»ÂXM@q?]c¼QM 242RO B1YB1¾M¼B1¼$@a>KX¯YM]cb-fc>7l5¾>KbBmX7¼$be½[?$B1X§¼9YB1XMb-b$>X
Specify Component
spec
spec_name spec
gate_list
spec_interf
lib data_defs
beh
local_defs NAME SPECIFICATION
NAME_LIST
INTERFACE
NAME_LIST TYPE_DEF_LIST
BEHAVIOR
LOCAL_DEF_LIST
G I
T G
I
I I
I
I CALCUL
empty_spec
create_spec(spec_name, spec_interf, lib, data_defs, beh, local_defs ) X1, X2, Y
<gate_list, empty_list, func(beh)>
empty_list empty_list
stop
empty_list
Variables Types Definitions States
complet partiel
Tâche Etats de réduction
Dépendances entre tâches Forte Faible spec_name
Specify Local Processes Specify
Global Behavior with Interface
Define Value Parameters of Define a Free Value Interface
local_defs spec_interf
lib, data_defs, beh
spec_name
spec_name
spec_name spec_interf
¬Ö ú/1ûÏüø-÷³3$/1þ1/12ú ø÷W0 ö ÷`/ õ 3 ô 3$/1005øü1ù
ô 0 õô /mûM÷
Specify Component
CALCUL
specification
CALCUL [X1, X2, Y] : noexitbehavior stop
endspec Specify CALCUL
Local Processes Specify CALCUL
Global Behavior with Interface
[X1,X2,Y]( ) : noexit CALCUL
Define Value Parameters of Define a Free Value Interface
H ùFøù§÷³2ú2 /1÷`øcù§3
ô 33$øõô ûüK/1ûM÷ ú/ ù73$ø
BK?^fÎM@n¼]cfc¼$[?^]KrìeXÊb ¿ªB1¾M¾M[M@a]b$[?e_qB«XM>¼$@a>KX¯Y¿ªBK?^fÎM@a¼$]cfc¼$[?^]¾>K[?e½K[M@aYM] ?Á_CB"fc>XMb$¼?^[Mfc¼$@a>KX¯]c¼9_qBÏ?A»c[M¼$@a_n@O
bB1¼$@a>KX¯YM]b$¾»cfc@Âf B1¼@n>XMb® °¡W ¢Mrh]c¼$¼$]BK?^fÎM@n¼]cfc¼$[?^]-YM»cf ?A@n¼9[MXM]wb$¼?^[Mfc¼$[?A]-YM]%¾?^>§fc]cb$b$[Mbe¾BK?$Bm_n_aãc_a]cb
fc>7l%l[MXM@af B1X7¼b>[·XM>KXr
!#"%$'&)(+*,&)-/.10325476
&
48
&
9
|:|: ;=<Mx?>/@BACED?AFHGIAG3JKF@zL<NMM<
=]ÀM[M¼9YM[Ïfc>7l¾>KbB1X§¼
G
Ý
G(H
º]cb$¼eYM]f B1_afc[M_a] ?e_CB"\1B1_a]c[?#OºÍ%¾B?^¼$@q?YM]cb9\´Bm_n]c[?AbQPSR D1PHT DVUR]c¼
U T ]c¼¼]c_n_a]ç[M]WOYXZP R[ U R]\ P T[ U T rק>KXåBK?AfÎM@a¼$]cfc¼$[?A]9>K[ÏbBwb$¼?A[Mfc¼$[?^]e]cb$¼+?A]c¾?^»cb$]cX§¼$»c]e½K[?^]JMr
É_a_a]-¾] ?l]c¼YM]9YM»c½7B1½] ?o
O·_a]cbb$>[Mb^O`fc>7l¾>KbB1X§¼$bW>[«¾?^>7fc]cbb$[MbÝÜÛ{]c¼
G
Ü^
O·_a]cb@aX§¼$] ?s`B1fc]cbYM]cb¾?^>§fc]cb$b$[MboKÝÜÛ7_a`bdce`'f?c `7gtD G ÜV_ahbdc `Hbig jklbnmW]c¼ G ÜV_ahofBce`fKgpjkfqmH^
O·_a]cb9fc>7l¾>Kb$@a¼$@a>KXMb¾B?$B1_a_aãc_n]cb9]cX§¼?^]fc]cb¾?A>7fc]cb$b[MbÐoMfc>7l5¾>Kb$@a¼$@a>KXº@aXMYM»c¾]cXMYB1X§¼$]]c¼fc>§l¾>Kb@n¼@n>X
fc>7lwl-[MXM@af B1X§¼$]b[?YM]cb¾>§?^¼$]cb¾?^@a\K»c]cb` b $` f r
=]9f B1_afc[M_YM]9_qBw\´B1_a]c[?Owb$]es`B1@a¼YM]9_qBs`B/rc>KX"b$[M@a\´B1X§¼$]Wo
OsPSR]c¼tPHTb$>KX§¼_a]cbÐ\1B1_a]c[?^bÐ]cX§\K>1gK»c]cbÐ?A]cb$¾]cfc¼$@a\K] l5]cX7¼b[?_a]cbо>7?^¼$]cb)hb$VhQf¾BK?P_¿î]cX7\§@q?^>KXMXM] l]cX§¼
]ck§¼$] ?^XM]^
OsOuR#XZPVR
[
UQR]cb$¼_qB"\1B1_a]c[?ef B1_afc[M_n»c]]c¼e]cX7\>´g»c]-¾BK?_a]¾?^] l@a] ?e¾?^>§fc]cb$b$[Mb G ܯb[?_qB"¾>§?^¼$]
` b DUR»c¼B1X§¼[MX«¾BK?$BKl5ãc¼?^]Âk§]^
OsO/TX+PT [ UT°]cb$¼°_CB\1B1_a]c[?Wf Bm_nfc[M_a»c]9]c¼]cX§\K>1gK»c]¾BK?_a]9b$]cfc>KXMYw¾?^>7fc]cbb$[Mb
G
Ü"b$[?°_qB-¾>7?^¼$],` f D
U T »c¼B1X§¼[MX«¾BK?$BKl5ãc¼?^]Âk§]^
OsOX+O R]\ O T ]cb$¼_qB%\1B1_a]c[?f B1_afc[M_a»c]-]c¼]cX§\K>1gK»c]e¾BK?°_n]¾?^>§fc]cb$b$[MbÝÜÛb[?W_qB¾>7?^¼$]o`r
CELL CELL
Y2
X1 X2
ADDER
Y1
Y
(w1) (w2)
tJ 693
2÷`ø
÷³ù73$øeü1ù
ô 0 õô
/1ûM÷l'
=]cb\´B1_a]c[?^b%l%B1XM@a¾M[M_a»c]cbb$>KX§¼-YM]cb]ck§¾?^]cb$b$@a>KXMbb$gFlÀ>K_a@nç[M]cb-YM»cf ?A@n¼]cb5ÍÌ_³¿ªB1@aYM]·YM[{¼^g7¾]·B1ÀMb$¼?$B1@a¼
Ü
¥
rh]9¼^g7¾]9]cb$¼l-[MXM@¬YM]9YM]c[Mk·>K¾» ?$B1¼$@a>KXMbY¿ªBmYMYM@n¼@n>X \ ]c¼YM]-l[M_n¼@n¾M_a@af B1¼$@a>KX [ r
9 |:| ;=<Mx?>/@BACED?AFHGJnF@zL<NMM<¬y¬v<NMFHC]C<§zL<NG)D )<
476
&
48
&
=]¾M_CBmXåYM]¼?B \1B1@a_YM[¯YM»c\K]c_a>K¾M¾] l5]cX7¼efc>7l¾M_a]c¼eYM[åfc>§l¾>KbB1X7¼
G
Ý
G(H
]cb$¼YM»cf ?A@n¼Â½K[?^]S·>
_n]cbeX§[l» ?^>Kb°b$[?_a]cb+?A»cYM[Mfc¼$@a>KXMbfc>7?$?^]cb$¾>KXMYM]cX§¼jBm[Mk%»c¼B1¾]cbYM]9YM»c\K]c_a>K¾M¾] l5]cX7¼ r
Specify CALCUL First Behavior with Interface
[X1,X2,Y1,Y2]
( ) : noexit
Specify CALCUL Local Processes
Specify ADDER Behavior with Interface [Y1,Y2,Y]( ) : noexit Specify CALCUL
Second Behavior with Interface [Y1,Y2,Y]( ) : noexit
Specify CELL Behavior with Interface
[X,Y](w : exp ) : noexit
Specify CALCUL First Behavior with Interface
[X1, Y1]( ) : noexit
Specify CALCUL Global Behavior with Interface [X1,X2,Y]( ) : noexit
Specify CALCUL Second Behavior with Interface
[X2, Y2]( ) : noexit
Specify Component
CALCUL
CALCUL
Define a Free Value InterfaceDefine a Parallel Composition on Private Gates
Introduce a Local Process Define as Two
Independent Behaviors
Introduce a Local Process
Introduce a Local Process Define as a Sequence
of Actions and Exit
Substitute Messages of a Process 1
2
4 3
5 7
9
12 3, 6
Define Value Parameters of
Specify CALCUL First Behavior with Interface [X1, Y1](w1 : exp )
: noexit
6
Specify CALCUL Second Behavior with Interface
[X2, Y2](w2 : exp ) : noexit
8
Specify
Type
EXPSpecify ADDER Second Behavior with Interface
11
Specify ADDER First Behavior with Interface
10
Define as a Sequence of Actions and Exit
Choice
Valued Behavior
[Y1,Y2,Y]( ) : noexit [Y1,Y2,Y]( ) : noexit
Terminate
13
15 Substitute Types of Process
14 Rename Gates of Process
16 Substitute Messages of Process
MULT MULT MULT
Rename Gates Substitute Types Substitute Messages Valued Behavior
S ú
/1û¯üKø÷³3A/mþ´/12
ú
ü1ù
ô 0 õô
/1ûM÷,
=Bb¾»cfc@Âf B1¼$@a>KXÏ W¡W ¢wfc>KXMb$¼?A[M@n¼]+Í_³¿ªBm@nYM]9YM]9fc]¾M_qB1X«YM]9¼?$B\´Bm@n_]cb$¼¾?^»cb$]cX§¼$»c]½[?^]-QMr
9
|:|
9
DVM<FH@BA< G)Dcv5C]@ F)>/<Fxcxyx
=]_qB1XM½7Bm½K]W °¡W ¢B1[M¼$>§?^@ab$]¾M_a[Mb$@a]c[?^bÐb¼Rg§_a]cbYM]Wb$¾»cfc@ªÂf Bm¼$@a>KX ³l5>KXM>K_a@a¼$ÎM@aÃ7[M]KD>7?^@a]cX§¼$»fc>KX§¼?$B1@aX§¼$]cb D
>7?^@a]cX7¼»j?A]cb$b$>K[?^fc]cbDc>7?^@a]cX§¼$»W»c¼Bm¼ D7rrqrÅV9ק\M×MELTcÈ^r´h]cbb¼Rg§_a]cbÐ>X7¼¾>K[?ÀM[M¼YM]fc>KXMfc]c\>K@q?YM]cbb$¾»cfc@Âf BO
specification
behavior
endspec process
endproc
CALCUL [X1, X2, Y] : exit
( CELL[X1, Y1](w1) ||| CELL[X2, Y2](w2)
where
CELL[X, Y](w : exp) : exit process
endproc
ADDER[Y1, Y2, Y] : exit
X ? x : exp ; Y ! (x * w) ; exit
Y1 ? y1 : exp ; Y2 ? y2 : exp; Y ! (y1+y2) ; exit [ ]
Y2 ? y2 : exp ; Y1 ? y1 : exp; Y ! (y1 + y2) ; exit
type EXP is
sorts exp
opns x1, x2, w1, w2 : -> exp _+_, _*_ : exp, exp -> exp endtype
hide Y1, Y2 in
|[Y1, Y2]|
ADDER[Y1, Y2, Y] )
:=
:=
tQ / õö
2
/m÷³2ô û l'
¼$@a>KXMbW_a@ab$@aÀM_a]cb]c¼°ÀM@n]cX«b¼?^[Mfc¼$[?^»c]cbr´d>K[MbW¾?A»cb$]cX7¼>KXMbW[MXM]9B1¾M¾?^>§fÎM]YM]efc>KXMb$¼?A[Mfc¼$@a>KX%YM]b$¾»cfc@Âf B1¼$@a>KXMb
°¡W ¢%@aXMb$¾M@q?^»YM]cbe¼?$B\´B1[MkwYM]·Åª=Bl%LKÙÈç[B1_a@ªÂ»Y¿>§?^@a]cX7¼$»e¾?^>§fc]cb$b$[MboM[MXϾ?^>ÀM_nã l5]9]cb$¼b¾»cfc@»]cX
[M¼$@a_n@abBmX7¼]cX¾?^@a>7?^@a¼$»YM]cb¾?^>§fc]cb$b$[Mb D_a]cbYM>KXMXM»c]cb» l] ?^½K] BmX7¼_a>7?AbÐYM]_qBeYM»ÂXM@a¼$@a>KX%YM]cbfc>7l¾>7?^¼$] l5]cX7¼$br
ÉX[M¼$@a_a@nbB1X7¼fc]c¼$¼$]B1¾M¾?^>§fÎM]KDXM>K[MbB\K>XMbÃ7[Bm¼?^]¾MÎB1b$]cb¬YM]fc>XMb$¼?^[Mfc¼$@a>KX9YM[fc>7l¾>KbB1X§¼
G
Ý
G(H
fsAr½K[?A]9S o
!
YM»ÂXM@a¼$@a>KXYM]¯_³¿@aX§¼$] ?s`B1fc]¯½K_a>KÀB1_a] $ö ÷`/ õ ø Ëøc÷ ¬oWfÎB1ç[M]¯b$g7b¼$ã l]Ï>mêP?^]¯[MXM]Ê@aX§¼$] ?s`B1fc]¯_n[M@
¾] ?$l]c¼$¼BmX7¼Y¿èc¼?A]9]cXåfc>§l%l[MXM@nf Bm¼$@a>KXÏB\K]cf-b$>XÏ]cX§\7@q?^>KXMXM] l5]cX7¼ rMh]c¼e@aX7¼] ?stBmfc]-]cb$¼efc>7l¾>Kb$»c]
YM]cb¾>7?^¼$]cb¬]ck7¼$] ?AXM]cb DYM]_CB_a@ab$¼$]WYM]cb¬¾BK?$BKlãc¼?^]cb\1B1_a]c[?^bм^g§¾»c]cb]c¼¬YM]W_qB°s³>KXMfc¼$@a>KXMXB1_a@a¼$» f B1¾B1fc@a¼$»
Y¿[MX«bg7b$¼ã l]+ͼ$] ?l@aXM] ?cDN<VADKD>K["XM>KXD'GEFV<VAD/)^
!
fc>KXMfc]c¾M¼@n>XY¿ªBK?^fÎM@a¼$]cfc¼$[?^] $ö ÷`/ õ ø o[MXM]«YM]cb$f ?A@n¾M¼@n>X˾M_a[Mb%>K[Ël>@nXMb"B1ÀMb$¼?$Bm@n¼]·YM]º_CB
b$¼?^[Mfc¼$[?^]"YM[Ëb$g§b$¼$ã l5]·]cb$¼"»c_qB1À>§?^»c]KrWÉ_a_a]Ïfc>XMb$@ab$¼$]åÍ fc>7l¾>b$] ?YM]cb%¾?^>§fc]cb$b$[Mbw¾BK?$B1_a_aãc_a]cb«]cX
fc>KXMXBm@nbbB1X§¼_a]c[?^b@nX§¼$] ?s`B1fc]cbE^
!
YM]cb$f ?A@n¾M¼@n>XÏYM[¯fc>7l¾>7?^¼$] l]cX§¼ $ö ÷`/ õ ø ¬oM_a]cb-l»cf B1XM@abl]cbeYM]%?^» B1_a@abB1¼$@a>KXºYM[¯b$g7b¼$ã l]
b$>X7¼e»c¼$[MYM@a»cb rh]c_qB"fc>KXMb$@ab$¼]5Í"YM»ÂXM@q?Á_n]wfc>7l¾>§?^¼$] l]cX§¼YM]cb9¾?^>§fc]cb$b$[Mb½K[?$B1X§¼eYB1XMb9_³¿ªBK?^fÎM@O
¼$]cfc¼[?^]^
!
YM»ÂXM@a¼$@a>KX{YM]cbYM>KXMXM»c]cbÐo¬_¿î@nX§¼$] ?s`B1fc]%]c¼_a]«fc>7l¾>§?^¼$] l]cX§¼Y¿î[MX'b$g§b$¼$ã l5]%¾]c[M\K]cX§¼-[M¼@n_a@ab$] ?YM]cb
¼^g§¾]cbeYM]-YM>KXMXM»c]cb9ç[M@о]c[M\K]cX§¼èc¼?A]-fc>KXMb$¼?^[M@a¼$]cbb$@ql[M_a¼B1XM» l]cX§¼>K[¯ÀM@a]cX¯YM@ªê» ?^»c]cb-B1¾?^ãcbe_³¿]ckO
¾?^]cbb$@a>KXYM]cbWfc>7l¾>7?^¼$] l5]cX7¼$br Ø9B1XMbXM>K¼?A]]ck§] l¾M_a]KDK_a]¼^g§¾]YM]YM>KXMXM»c]cbW[M¼$@a_a@ab$»e]cb$¼WÉ9GrKd>K[Mb
XM]9YM»c¼Bm@n_a_a>KXMbe¾B1bb$>KX«YM»c\K]c_a>K¾M¾] l]cX§¼ r
=¿ªB?^fÎM@a¼$]cfc¼[?^]9]cb$¼efc>KX'rc[M]¾?^>K½7?^]cbb$@a\K] l]cX§¼ r7ìeX¯¾]c[M¼9YM»c\]c_n>¾M¾] ?e¾BK?^¼@n]c_a_a] l]cX§¼_³¿ªB?^fÎM@a¼$]cfc¼[?^]KD
YM»c¼B1@a_a_n] ?j_n]cbfc>7l¾>§?^¼$] l]cX§¼$bYM]cb¾?^>§fc]cb$b$[MbWYM»`ÚÍ@aX7¼?A>7YM[M@a¼$b¾M[M@ab?^]c\K]cXM@q?°b$[?°_³¿ªBK?^fÎM@a¼$]cfc¼$[?^]KrK=)¿@aX7¼$] ?RO
stB1fc]½_n>ÀB1_a]W]cb$¼\´B1_a[M»c]°[MXM]s³>K@abÐç[M]W_³¿ªBK?AfÎM@a¼$]cfc¼$[?A]]c¼_a]cbм^g§¾]cb[M¼$@a_n@ab$»cbYBmXMb_a]cbÐ@aX§¼$] ?s`B1fc]cbYM]cb¾?^>7fc]cbAO
b$[MbW>KX§¼»c¼$»fc>7l¾M_aãc¼$] l5]cX7¼YM»ÂXM@ab r§ë³_]cb¼WÍ9XM>K¼$] ?ç[¿@a_§s`B1[M¼W?^]cb$¼?A]c@nXMY?A]_³¿]cXMb] l-ÀM_a]YM]cb°fc>KXMb$¼?A[Mfc¼$@a>KXMb
°¡W ¢%¾>K[?°fc>KXMfc]c\K>K@q?[MXM]-BK?AfÎM@a¼$]cfc¼$[?A]Kr
Ø9B1XMb_a]9¾M_qB1XÏYM]9¼?B \1B1@a_YM]9_CB®Â½K[?^]9SD§XM>K[MbB\K>XMbWYM]c[Mk«¼^g7¾]cbY¿>K¾» ?B1¼$]c[?^bo
O·>K¾» ?$B1¼$]c[?AbWYM»ÂXM@ab¾B?Wfc>§l-ÀM@aXB1@ab$>X·YM]cb>¾» ?$B1¼]c[?^bWYM]9fc>KX§¼?^ç_n]9 °¡W ¢Q fc>§l¾>Kb@n¼@n>X·¾BK?B1_O
_aãc_a]KDlwB1b$ç[B1½K]KDK¾?A»ÂkFB1½]KDKfÎM>K@akDBm¾M¾]c_YM]9¾?^>§fc]cb$b$[MbDrrqr)^
O·>K¾» ?$B1¼$]c[?Ab%ÀB1b$»cb"b$[?wYM]cbil»cf BmXM@nbl]cb·YM»ÂXM@ab¯ÍÊ_³¿ªB1@aYM]¯YM[l»c¼BO`¾?A>K½7?$BKlwl-] ³?^»c[M¼@n_a@abB1¼@n>X
í'fc]cb>¾» ?$B1¼]c[?^b D>KX-B1b$b>7fc@a]YM]cb½K[M@aYM]cb DYM]cbÐ?$B1@ab$>KXMXM] l5]cX7¼$b]c¼YM]cb¬¾?^>K¾?^@a»c¼$»cbb[?_a]cbfc>7l¾>7?^¼$] l]cX§¼$b
b$¾»cfc@»cb r
Ø9B1XMb9fc]"Ã7[M@b$[M@a¼ D¬XM>K[MbYM»cf ?^@a\K>KXMb D¾B?9]ck§] l¾M_a]KDÐ_a]cbYM]c[MkÊ»c¼Bm¾]cbYM]·YM»c\]c_n>¾M¾] l]cX§¼·Ö"]c¼·ÖHMr
hÎB1ç[M]9»c¼B1¾]e]cb$¼f B?$B1fc¼$» ?^@ab$»c]e¾BK?°[MXM]9YM»cfc@ab$@a>KX«s³>7?$lwB1_a@nb»c]9¾BK?o
>E<åxvNM<>/D?AFGEGv <9o§_qB¼é1fÎM]+Íw?^»cYM[M@q?^]9YB1XMb_³¿ªB1½]cXMYB-YM]cb¼é1fÎM]cb
Cv @'D?<7yE@'C]CEMA yÐv9ofÎM>@nb@C?[MXÏ>¾» ?$B1¼]c[?¾BK?$l@_a]cbe>K¾» ?$Bm¼$]c[?^bB1¾M¾M_a@af B1ÀM_a]cb9@³r]KrMYM>KX§¼_a]cb
¾?^»O`fc>XMYM@n¼@n>XMbb$>KX§¼\K» ?^@»c]cb D
'@Mz D?@ <FxAG)D?<N@>/D?AJAxo_a]cb¾B?$BKlãc¼?A]cbbB1@ab$@ab¾B?W_a]b$¾»cfc@Â]c[?
yx D?A>'D?AFG«oMYM]cb$f ?^@a¾M¼$@a>KXº@aX§s>7?l]c_a_n]WÚ[Mb$¼$@ÂB1X§¼_a]-fÎM>K@ak·]ê]cfc¼$[M»
;=<Fx?>/@ ACED?AFG )<5MavND'C< : Øe»ÂXM@a¼$@a>KX«Y¿[MXM]@aX7¼$] ?RstB1fc]eXM>KX«\1B1_a[M»c]
>E<åxvNM<>/D?AFGEGv <9o
C<'>/AJ FzLCFHG]<NG)D l'
Cv @'D?<7yE@'C]CEMA yÐv9o 8-øWûø/3$øø / úùMøe<$ûM÷`ø3# /
ø
'@Mz D?@ <FxAG)D?<N@>/D?AJAxo
O·_a]cb¾>7?^¼$]cb]ck§¼$] ?^XM]cbÐoNhb cehof?c `
yx D?A>'D?AFG«o_a]®¾?A>KÀM_aã l]-]cb$¼eb$¾»cfc@ªÂ»"B \]cf-[MXM]%B1_a½KãcÀ?^]YM]®¾?A>7fc]cb$b[Mb®rìeX¯@nX§¼?^>§YM[M@a¼_³¿@aX§O
¼$] ?RstB1fc]½K_a>KÀBm_n]"fc>KXMb$@ab$¼B1X7¼Í«YM>KXMXM] ?Á_a]cb%]cX7¼?^»c]cb iPSR-]c¼ PHTF9]c¼_a]cbb$>7?^¼$@a]cb iO eYM[{¾?^>KÀM_aã l]Kr
ët_Wb ¿ªBm½K@a¼9@nfc@Y¿[MXM]w@nX§¼$] ?s`B1fc]%XM]"fc>KX§¼$]cXB1X§¼9¾B1b-YM]w¾BK?$BKlãc¼?^]cb9\´B1_a]c[?^bf BK?9fc]cbYM] ?^XM@a] ?^bb$>KX§¼
b$¾»cfc@ÂÃ7[M]cbB1[Mk¾?^>§fc]cb$b$[Mb°Ã7[M@b$] ?^>KX§¼@aX7¼?A>7YM[M@a¼$b°YB1XMbW_³¿ªBK?AfÎM@a¼$]cfc¼$[?A]KrKë³_b$] ?$Be¼$>[ Ú$>K[?Ab¾>Kb$b@nÀM_a]
YM]efc>7l¾M_a»c¼$] ?°_³¿@aX7¼] ?stBmfc]YM] G Ý G(H «[M_a¼$» ?A@n]c[?A] l]cX7¼¾BK?°?^»cYM[Mfc¼$@a>KX«YM]e_qBb$>K[Mb^O`¼é1fÎM];=<G]<
'My]< '@MzL<ND?<N@´x F J G Ý G(H ¬r
;=<Fx?>/@ ACED?AFG )<5MavND'C< : 9 Øe»ÂXM@n¼@n>X«YM[Ͼ?^>§fc]cb$b$[Mb
G
Ü«¾BK??A»c[M¼$@a_n@abBm¼$@a>KX
>E<åxvNM<>/D?AFGEGv <9o
C<'>/AJ 3! <"#VAFH@%$ AD dG)D?<N@?J&>/<(')+*+,.-0/13254&6&7892;:<=4&6>?
Cv @'D?<7yE@'C]CEMA yÐv9o
.ù7÷³24÷³ù§÷`ø@åø / ø
ô
®/ 3 ô
ø
'@Mz D?@ <FxAG)D?<N@>/D?AJAxo
O·XM>7l YM[«¾?^>§fc]cb$b$[MbeÍ®?A»c[M¼$@a_n@ab$] ?¬oA
H
1¡
O·XM>7l YM[«fc>7l5¾>KbBmX7¼fc>KX§¼$]cXB1X§¼W_a]-¾?A>7fc]cb$b[MbÐo7¢
¥ Ü G
yx D?A>'D?AFG«oYB1XMb_CBºÀM@aÀM_a@a>K¼$ÎMãcç[M]«YM]cb®fc>§l¾>KbB1X7¼b D[MXM]·b¾»cfc@Âf B1¼$@a>KXË¢
¥ Ü G
fc>X7¼$@a]cX§¼_CB
YM»ÂXM@a¼$@a>KXY¿[MX-¾?^>§fc]cb$b$[MbBA
H
1¡«YM>X7¼_a]°fc>7l¾>§?^¼$] l]cX§¼]cb$¼@aYM]cX7¼@nç[M]Íjfc]c_n[M@§YM]
G
ܬl>§YM[M_n>
_a]·?^]cXM>§l%l%B1½K]YM]cb-l]cb$bBm½K]cb9]cX7\>´g»cbb$[?e_a]cb¾>7?^¼]cb r=¬B«b$[M¾M¾?^]cbb$@a>KX¯YM]cb®l]cb$bB1½K]cb \´B1_a]c[?^b
B1_a½K»cÀ?A@nç[M]cb¬YB1XMb_n]cb°YM]c[Mk9¾?^>§fc]cb$b$[Mb
G
Ü]c¼CA
H
1¡º]cXM½K]cXMY?^]W_a]l5è l]W¾?^>§fc]cb$b$[MbXM>KX\´Bm_n[M»Kr
G>K[?°fc>KXMb¼?^[M@q?^]
G
ÜD@n_b$["D·¼YM]-b$[MÀMb$¼@n¼[M] ?_a]cb-l]cb$bB1½]cb]cX§\K>1gK»cbb$[?_a]cb¾>7?^¼$]cbYM]EA
H
m¡
B1@aXMb$@ç[M]-_a]c[?^b¼^g§¾]cb r
F G &)(+*&3-.Hp2H &)0 ."I]"H$KJl0Z0&5JLI]".MJZ$'&)(+*,&5N/2 "( "032
d>K[Mbb$>K[MÎBm@n¼>KXMb?$BD·XM] ?°_qB%b¾»cfc@Âf B1¼$@a>KX
G
Ý
G(H
º¾>K[?°Â_a¼?A] ?_a]cb\1B1_a]c[?^bç[M@ÐBK?$?^@a\K]cX§¼b$[?_a]cb
YM]c[Mk·¾>7?^¼$]cbh
b
]c¼h
f
rFóXM]-b>K_a[M¼$@a>KX·fc>XMb$@ab$¼$]9¾BK?°]ck§] l¾M_a]®Ífc>7l¾>Kb$] ?
G
Ý
G(H
ÏB\K]cfe[MXÏXM>[M\K] B1[
fc>7l¾>§?^¼$] l]cX§¼POæ`1¡WÛWܯÚ>K[B1X§¼-_a]å?^ç_n]"YM[{Â_a¼?^]Kr=BºXM>K[M\K]c_a_a]«b$¾»cfc@ªÂf Bm¼$@a>KXQOæ`1¡W۰ܵG Ý G(H Ê]cb$¼
B1_a>7?^b9>KÀM¼$]cX§[M]]cXÊfc>7l¾>KbB1X§¼e¾BK?$B1_a_aãc_a] l]cX7¼EOæ`1¡WÛWÜ{]c¼
G
Ý
G(H
{B\K]cf_a]cb-YM]c[Mk¯¾>7?A¼$]cbohb9]c¼ohof r
óXM]·B?^fÎM@a¼$]cfc¼[?^]¾]c[M¼-èc¼?^]b$¾»cfc@»c]«Í«YM@ê» ?^]cX§¼$bXM@n\] B1[Mk¯Y¿ªB1ÀMb$¼?B1fc¼$@a>KXr @aXMb$@³DÐ_³¿ªB?^fÎM@a¼$]cfc¼[?^]YM[
fc>7l¾>bB1X§¼ROæ`1¡WÛWܵ
G
Ý
G(H
Ì]cb$¼YM>KXMXM»c]e½K[?^]-Ur
=]9fc>7l5¾>7?^¼] l]cX7¼°YM]9_qBb$¾»cfc@Âf B1¼@n>XSOæ`1¡WÛWܵ
G
Ý
G(H
"]cb¼fc>7l%l]eb$[M@a¼Ðo
O·_a]-b>K[Mb^O`fc>7l¾>KbB1X§¼Oæ`1¡WÛWÜÊ?A]?rc>K@a¼YM]c[Mk«\´B1_a]c[?^beb$[?_qB%¾>7?^¼$] â]c¼_a]cbeYM@ab$¼?^@aÀM[M]b$[?_a]cb9YM]c[Mk
¾>7?^¼$]cb+T R]c¼T T]cXÏX¿ªBm[M¼$>7?^@abB1X§¼Ã§[¿[MX«fc] ?^¼B1@aX«]cXMb$] lÀM_a]9YM]9\´Bm_n]c[?Ab]^
X1 X2 X
FILTRE
Y
CALCUL
tU 693
2÷`ø
÷³ù73$ø9ü1ù
ô 0 õô /1ûM÷i q
O·_a]"b$>K[Mb^O`fc>7l5¾>KbBmX7¼ G Ý G(H '?^]?rc>@n¼_a]cb®YM]c[Mk¯\1B1_a]c[?^b-b$[?Á_a]cb®¾>7?^¼$]cbT R+]c¼ T T]c¼?^]cX7\>K@a]®_a]
?^»cb[M_n¼B1¼PVR [ UR \ PT [ UTb[?_qB¾>7?A¼$]r
ÉXÏBmXB1_ag7bBmX7¼°_CB5XM>K[M\K]c_a_a]®BK?^fÎM@a¼$]cfc¼$[?^]DMXM>K[Mb?^] lwBK?^ç[M>KXMbWç[M]Ëo
O·_a]cbYM]c[Mk"¾>7?A¼$]cbh
b
]c¼h
f
b$>X7¼@aX7¼] ?^XM]cb]^
O G Ý
G(H
]cb$¼«l%B1@aX7¼]cXB1X7¼[MXIb$>K[Mb^O`fc>7l5¾>KbBmX7¼YM]SOæ`1¡WÛWܵ
G
Ý
G(H
¬rWØ9B1XMb_qBÊb¾»cfc@Âf B1¼$@a>KX
Oæ`1¡W۰ܵ
G
Ý
G(H
D@n_°\´Bws`B1_a_a>K@q?9]ê]cfc¼[M] ?e[MXM]%¼?$B1XMbAs>7?l%B1¼$@a>KX"b$g§X7¼Bmk7@aç[M]®YM]w_CB"b¾»cfc@Âf B1¼$@a>KX
G
Ý
G(H
Ì]cX«[MX«¾?^>§fc]cb$b$[Mb r
G>K[?fc>XMb$¼?^[M@q?^]_CBwb$¾»cfc@ªÂf Bm¼$@a>KX Oæ`m¡WÛWܵG Ý G(H DXM>K[Mb9B1fc¼$@a\K>KXMbe_³¿>K¾» ?$B1¼$]c[?YM]%?^»c[M¼@n_a@abB1¼@n>X
/13$/ ú úø úWô 0 õô 24÷³2ô û ô i/å. õ ø 2
/1÷³2 ô û ô û 324þ1/1÷`ø/1÷`ø rÐh]c¼>K¾» ?$Bm¼$]c[?9]cb$¼ÀB1b$»%b[?9_a]cb%YM]c[Mk
>K¾» ?$Bm¼$]c[?^b9YM]«l%B1b$ç[B1½K]Q EA3< ||4|oAGBÁ]c¼-YM]"fc>7l¾>b$@a¼$@a>KXʾBK?$Bm_n_aãc_a] 4|||wYM]· W¡W ¢¯]c¼b$[?9_a]
l»cf B1XM@abl]9Y¿@ql¾>7?^¼Bm¼$@a>KXr
CEC]MAi>'D?AFHG 3<M FHCv @'D?<7yE@= /13$/ úúø úWô 0 õô 2÷³2ô û ô ®/5. õ ø 2
/1÷³2ô û ô û 324þ1/1÷`ø/1÷`ø
yx D?A>'D?AFG
d>K[Mbb$>K[MÎBm@n¼>KXMbfc>7l¾>Kb$] ?¬[MXM]Wb$¾»cfc@Âf B1¼$@a>KX]ck7@ab$¼B1X7¼]KD
G
Ý
G(H
DKB\K]cf[MXXM>K[M\] B1[-fc>7l5¾>7?^¼] l]cX7¼D
Oæ`m¡WÛWÜrMë³_¬b ¿ªB1½K@a¼@afc@Y¿[MXM]9fc>7l5¾>Kb$@a¼$@a>KX«¾B?$B1_a_aãc_n]fc>7l%l[MXM@af B1X§¼$]b$[?[MXM]9_a@ab$¼$]YM]9¾>7?A¼$]cb¾?^@a\K»c]cb r
uHM<
=¿>K¾» ?$B1¼$]c[?°¾] ?l]c¼Ðo
@#«Y¿@ql¾>7?^¼$] ?_qB«b$¾»cfc@Âf B1¼$@a>KX
G
Ý
G(H
]cXÊ_qB«¼?$BmXMb^s>§?$l%B1X§¼]cXÊ[MX¯¾?^>7fc]cbb$[Mb9YB1XMb9_qB«XM>K[M\]c_n_a]
b$¾»cfc@Âf B1¼$@a>KXDY¿]ê]cfc¼$[M] ?j_CBwfc>7l¾>Kb$@a¼$@a>KX«¾BK?B1_a_nãc_a]YM] G Ý G(H «]c¼eYM] Oæ`1¡WÛWÜ ]c¼YM]-f B1_afc[M_a] ?
B1[M¼>7l%B1¼$@aç[M] l]cX§¼_¿î@nX§¼$] ?s`B1fc]9½K_a>KÀBm_n]9YM]9_qBXM>[M\K]c_a_n]b$¾»cfc@Âf B1¼@n>X^
@a@#«YM]9¾M_qB1XM@Â] ?_CB5YM»ÂXM@n¼@n>XÏYM[ÏXM>[M\K] B1["¾?^>7fc]cbb$[MbOæ`m¡WÛWܯ]c¼»c\]cX7¼$[M]c_a_a] l]cX§¼_qBYM»ÂXM@a¼$@a>KXÏYM]cb
¼^g§¾]cb[M¼$@a_a@nb»cb¾BK?j_¿î@nX§¼$] ?s`B1fc]eYM]9fc]-¾?^>§fc]cb$b$[Mbr
Specify Component FILTRE-CALCUL
Specify Behavior with
FILTRE
Interface [X, X1, X2]( ): noexit
Parallel Composition of a Specification on Private Gates
'@MzKND?@B<Mx AG)D?< @>/D?AJAx
O =Bb$¾»cfc@Âf B1¼$@a>KXÏÍfc>7l5¾>Kb$] ?¬o ?^]c[Mb$]cYb¾]cf
G
Ý
G(H
xyt>DB'D ÷ õ ø M 3$øcù øü
õ ø
O!#"%$'&)(+*-,.*/(+0213*54'6/1ûü /m÷`ø M3$øù øü
õ ø O87X:9
G>K[?°XM>K¼?^]e¼^g7¾]9YM]9fc>7l¾>b$@a¼$@a>KXD§_n]fc>7l¾>KbB1X§¼W]ck§@ab$¼B1X§¼YM>K@a¼¾>Kbb$ãcYM] ?YM]cb¾>7?^¼$]cb]ck§¼$] ?^XM]cb r
O =]cb¾>7?^¼$]cb]ck§¼$] ?^XM]cbYM[Ͼ?^>§fc]cb$b$[MbOæ`1¡WÛ°Üo ½7B1¼]cb3¾?^>§f h c hb cehof
xyt>DB'D /1÷`ø
õ 3 ô 7X:9 /1ûü /1÷`ø õ 3 ô
/1÷`ø M 3$øcù øü
õ ø O 7X 9
G>K[?°XM>K¼?^]e¼^g7¾]9YM]9fc>7l¾>b$@a¼$@a>KXD§_n]cbeYM]c[Mk"fc>7l¾>bB1X§¼$bÍ%Bmb$b$] lÀM_a] ?WYM>@n\]cX7¼
¾>Kb$bãcYM] ?YM]cb¾>§?^¼$]cbfc>7l%l[MXM]cb r
O =]cb¾BK?BKlãc¼?^]cb°\´B1_a]c[?^bYM[«¾?^>7fc]cbb$[MbOæ`1¡WÛWÜo \´Bm_n[M]cb ¾?^>7f ] l¾M¼^g)\1B1_a[M]cb
O =]cb¾>7?^¼$]cbYM]9b$g§XMfÎ?A>KXM@abB1¼$@a>KX"@aX7¼$] ?AXM]cbÐo ÎM@aYMYM]cX½7B1¼$]cb hbBcehQf
xyt>DB'D
2³üKüKøû
/1÷`ø 7X:9 /mûü
2üüKøcû
/1÷`ø /1÷`ø M 3Aøùcøü
õ ø O /m÷`ø õ 3 ô
=]cb¾>§?^¼$]cbYM]-fc>7lwl-[MXM@af B1¼@n>X·]cX§¼?^]e_a]cbYM]c[Mk"fc>7l¾>KbB1X§¼$bWYM>@n\]cX7¼èc¼?^]9@aXMfc_a[Mb$]cb
YB1XMb_³¿]cXMb$] lÀM_a]9YM]cb¾>§?^¼$]cbfc>7l%l[MXM]cb r
=Bb$¾»cfc@ªÂf Bm¼$@a>KX·>ÀM¼$]cX7[M]9B1¾?^ãcbB1¾M¾M_a@af B1¼$@a>KX«YM]efc]c¼>¾» ?$B1¼]c[?]cb$¼@n_a_a[Mb$¼?A»c]e½K[?^]9Ù9> "_a]cbÀ>a¼$]cb
?^]c¾?^»cb$]cX§¼$]cX§¼W_a]cb¾B?^¼$@a]cb@Cl5¾>7?^¼»c]cbYM[«fc>7l¾>KbB1X§¼
G
Ý
G(H
¬r
specification behavior
endspec process endproc
FILTRE-CALCUL [X, Y] : noexit
( CELL[X1, Y1](w1) ||| CELL[X2, Y2](w2)
where
CELL[X, Y](w : exp) : exit process
endproc
ADDER[Y1, Y2, Y] : exit
X ? x : exp; Y ! (x * w) ; exit
Y1 ? y1 : exp; Y2 ? y2 : exp; Y ! (y1+y2) ; exit
type EXP is
sorts exp
opns x1, x2, w1, w2 : -> exp _+_, _*_ : exp, exp -> exp endtype
|[Y1, Y2]|
ADDER[Y1, Y2, Y] )
:=
:=
|[X1, X2]| FILTRE[X, X1, X2] ) where
process CALCUL[X1, X2, Y] : exit
process endproc
FILTRE[X, X1, X2] : noexit :=
stop endproc
hide Y1, Y2 in CALCUL[X1, X2, Y]
(
:=
(* nouvelle spécification *) (* son comportement *)
(* transformation de la spécification CALCUL en un processus *)
(* nouveau processus *)
Y2 ? y2 : exp; Y1 ? y1 : exp; Y ! (y1+y2) ; exit [ ]
(* type de données utilisé dans CALCUL *) hide X1, X2 in
tÙo / õö
2
/m÷³2ô û ql'
u <§zK'@y]<Mx
ý=¿î@nX§¼$] ?s`B1fc]«½K_a>KÀBm_n] õ ø
2ûM÷`øc3 ]cb$¼·YM»cYM[M@a¼$]ÊB1[M¼>7l%B1¼$@aç[M] l]cX§¼5Í ¾BK?^¼$@q?wYM[Ëfc>7l¾>7?^¼$] l5]cX7¼
½K_a>KÀBm_ ø
YM]W_qBb¾»cfc@Âf B1¼$@a>KX%Oæ`1¡WÛWܵ
G
Ý
G(H
e]c¼[MXM]s³>K@abç[M]W¼$>[Mb_a]cbм^g§¾]cb[M¼$@a_a@ab$»cbYB1XMb ø
>KX§¼»c¼$»fc>7l¾M_aãc¼$] l]cX§¼YM»ÂXM@abÐo õ ø
"
24ûM÷`ø3#! /1÷`ø M ø
OÐþ´/ úùMø
õ /13$/10 M ø
O/ cù7û
M ø
O
>
O /1÷`ø M ø
O ]cb¼_³¿]cXMb$] lÀM_a]YM]cb9¾>7?A¼$]cbYM] ø
DM_qB"¾>§?^¼$]9@aX7¼] ?^XM] 2 ]c¼_a]cb9¾>§?^¼$]cb9l%B1b$ç[M»c]cb
O þ1/ úùFø
õ /13$/10 M ø
O ]cb¼_³¿]cXMb] l-ÀM_a]YM]cb¾BK?$BKl5ãc¼?^]cbW\1B1_a]c[?^bYM] ø D
O·]c¼ cù7û
M ø
O
]cb$¼_CB5s³>KXMfc¼$@a>KXMXB1_a@a¼$»9YM]
ø
r
Ø9B1XMbXM>K¼?^]f Bmb D õ ø
2ûM÷`øc3 ! T ø0 õ ÷
ú2÷û ô ø124÷
\K]cf-_qB«lè l5]-YM» l%BK?AfÎM]9ç[M]¾?^»cfc»cYM] l%l]cX§¼ DMXM>K[Mbe¾>[M\K>KXMbeYM»ÂXM@C?eY¿B1[M¼?^]cb¼^g§¾]cbeYM]-fc>7l®O
¾>Kb$@a¼$@a>KXYM]"b$¾»cfc@Âf B1¼$@a>KXMbofc>7l¾>b$@a¼$@a>KXb$»cç[M]cX7¼$@a]c_a_a]KDfc>7l¾>Kb$@a¼$@a>KX{¾BK?$B1_a_aãc_a]Ï@aXMYM»c¾]cXMYBmX7¼$]KD
½K»cXM» ?B1_a]KD7]c¼fKr
ý=Bº?^»c[M¼$@a_a@abB1¼$@a>KXÊYBmXMb®GW?A>K¾M_qB1XM]%XM]s`B1@a¼-¾B1bB1¾M¾]c_Í«YM]cbfc>K¾M@a]cb5lwB1@ab-Í«YM]cb_a@n]cXMbr @aXMb$@³D_a]cb
fc>7l5¾>KbBmX7¼$b?^»c[M¼$@a_a@nb»cbWXM]b$>X7¼¾B1bYM[M¾M_a@aÃ7[M»cb°YB1XMb_a]XM>K[M\K] B1[fc>7l¾>KbB1X§¼lwB1@abW?^»s» ?A]cXMfc»cb¾BK?
_a]c[?XM>7lb rh]-X¿î]cb$¼Ã§[¿ªÍ%_³¿»c\1B1_a[B1¼$@a>KX¯YM[ål5»c¼BO`¾?^>K½§?$BKl%l]YM[åXM>[M\K] B1[«fc>7l¾>KbB1X§¼Ã§[M]-_a]cb
YM»ÂXM@a¼$@a>KXMbYM]cbfc>7l¾>KbB1X§¼$bW?^»c[M¼$@a_a@ab$»cbb$>X7¼]ê]cfc¼$@a\K] l]cX§¼@ql¾>7?^¼$»c]cbr7h]cb°_n@a]cXMb¾] ?$l]c¼$¼]cX7¼°YM]
À»cXM»Âfc@n] ?jYM]cbfc>7?$?^]cfc¼@n>XMbWY¿ªB1XM>§l%B1_a@a]cb]c¼YM]cb»c\>K_a[M¼$@a>KXMb[M_n¼» ?^@a]c[?^]cbYM[«fc>7l¾>KbB1X§¼W?^»c[M¼$@a_a@ab$»Kr
h]cbl>§YM@Âf B1¼$@a>KXMbb>KX7¼°s`B1@a¼$]cbbBmXMb¾] ?^¼$[?^À] ?°_n]cb9B1¾M¾M_a@af B1¼$@a>KXMbç[M@[M¼$@a_a@ab$]cX§¼_a]9fc>7l¾>KbB1X§¼ r
2 "H0-H &30 CJZ$'. $ Jl"e. I). " JCN
=¿>À7Ú$]cfc¼@ªs]cb$¼WY¿î»c¼$]cXMY?^]_a]ef B1_afc[M_YM]oOYM]_qBl%B1XM@aã ?^]b$[M@a\´B1X§¼$]#O X+PSR
[
UQR
\
PT
[
UT
\
P
[
U
\
P [ U]cXÏ?^»c[M¼$@a_a@abB1X§¼B1[ilwB1k7@ql[lâ_qBb$¾»cfc@ªÂf Bm¼$@a>KX
G
Ý
G(H
rMG>K[?)fc]s`B1@q?^]KDXM>K[MbYM»cfc>7l¾>b$>KXMbW_a]
f B1_afc[M_YM]9g·YM]_qB%l%B1XM@aã ?^]9b$[M@a\1B1X7¼]Wo
OX+P R[ U RS\ P Tl[ U T f B1_afc[M_a»c]®B\K]cfe_qBb$¾»cfc@ªÂf Bm¼$@a>KX
G
Ý
G(H
^
OX+P [ U t\ P [ U f B1_afc[M_a»c]®B\K]cfe_qBb$¾»cfc@ªÂf Bm¼$@a>KX G Ý G(H ^
OX+O \ O f B1_afc[M_a»c]®B\K]cfe_n]¾?^>§fc]cb$b$[MbÝÜÛr
=BÁb$¼?^[Mfc¼$[?A]YM]e_qBXM>K[M\K]c_a_a]9b$¾»cfc@Âf B1¼$@a>KX«Ü°¡µ G Ý G(H "¾] ?$l]c¼$¼B1X7¼YM]f B1_afc[M_n] ?j_CB\1B1_a]c[?Wg]cb$¼
\7@ab$[B1_a@ab$»c]Á½K[?^]-ÆMr
CALCUL CALCUL
Y6
X2 X4
ADDER
Y5
Y
X1 X3
Æ 693
2 ÷`ø
÷³ù§3Aø9ümù
ô 0 õô /1ûM÷B ) ql
d>K[Mb?^] l%BK?^ç[M>KXMb°Ã7[M]9fc]c¼$¼]-BK?^fÎM@n¼]cfc¼$[?^]e]cb$¼b$@ql@a_CBm@C?A]®Ífc]c_a_a]-YM[ºfc>7l¾>bB1X§¼ G Ý G(H o
Oilè l5]XM>7lÀ?^] ³J°YM]9¾?^>§fc]cb$b$[Mb
O·]c¼9lè l]¼^g7¾]cbYM]wfc>7l¾>b$@a¼$@a>KXϾBK?B1_a_nãc_a]cb]cX7¼?A]-fc]cb9¾?^>§fc]cb$b$[MboM[MXM]%fc>7l¾>Kb$@a¼$@a>KXºfc>7l%l[MXM@O
f B1X§¼$]eb$[?YM]cb¾>7?^¼$]cb¾?^@a\K»c]cb]c¼[MXM]fc>7l¾>Kb$@a¼$@a>KX"@nXMYM»c¾]cXMYB1X§¼$]Kr
d>K[Mb¾>[M\K>KXMbYM>KXMf?A»c[M¼$@a_n@ab$] ?¬_³¿ªBK?^fÎM@a¼$]cfc¼$[?^]YM] G Ý G(H -¾>K[?fc>KXMb¼?^[M@q?^]fc]c_a_a]YM]ÜW¡µ G Ý G(H
]cX«¼$]cXB1X§¼fc>§l¾M¼$]eYM]cbYM@ê» ?^]cXMfc]cbe]cX7¼?^]9_a]cbYM]c[MkÏBK?^fÎM@a¼$]cfc¼$[?^]cbo
O·_³¿@aX§¼$] ?s`B1fc]½_n>ÀB1_a] _h b c h f ce`g]cb$¼b$[MÀMb$¼$@a¼$[M»c]-Í=_ah b ceh f c hBceh/ce`g ^
O·_a]cbYM]c[Mk"¾>7?A¼$]cbYM]9fc>7l%l[MXM@af B1¼$@a>KX=` b ]c¼` f b$>X7¼b$[MÀMb$¼@n¼[M»c]cbÍ `]c¼`)^
O·_a]cbYM]c[Mk"@aXMb$¼B1XMfc]cbYM[«¾?^>§fc]cb$b$[Mb
G
Ü"b$>KX§¼b[MÀMb$¼$@a¼$[M»c]cbÍYM]c[Mk·@aXMb$¼BmXMfc]cbYM]_qBb¾»cfc@Âf B1¼$@a>KX
G Ý G(H Áo
O G
ÜV_ahbdc `Hbig iUR! P#"°]cb$¼b[MÀMb$¼$@a¼$[M»c]-Í
G
Ý
G(H
S_ahbdcehofBce` g
O G ÜV_ahof?c `'f%$ iUT&! P#"°]cb$¼b[MÀMb$¼$@a¼$[M»c]-Í G Ý G(H S_ah
ceh
ce`
g