HAL Id: inria-00072905
https://hal.inria.fr/inria-00072905
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- 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.
Extending the Do! Framework with Dynamic Collections
Pascale Launay, Jean-Louis Pazat
To cite this version:
Pascale Launay, Jean-Louis Pazat. Extending the Do! Framework with Dynamic Collections. [Re- search Report] RR-3757, INRIA. 1999. �inria-00072905�
ISSN 0249-6399
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
Extending the Do! Framework with Dynamic Collections
Pascale Launay and Jean-Louis Pazat
No˚3757
Septembre 1999
THÈME 1
3547698:47;=<?>@47ABC4EDF4GBHJI7<E47BKL>MNAO=63547PE4RQTS
U"VRW.XZYZ[]\_^`bacYbdfehgiYjkaclhamjnW.XZYba
o1pnqsrmYj]tvukoxw
^@dfyzy7qfpcj{zY|pcY9}(VzY.p(}(VzY~:s: \wEYbyhjcYbXzpnYZ[bf|\[bZyRdsYba
ib.Tzff U"VRYZdfXqsjnVzYZyzpnqsrmY9}Lja]jnqY9dfacYjnVzYZjnda qfxyzpnqfpndfXXZ~z{za jcpnRehjcY9{
dfyzyz¡}bdTjnq~Ra¢eGa ~z|£d¥¤TdR¦¨§©Y"yzpnqT¤E{zYxda VGdspnYb{Eª«XZY.XZqfpnl5yGdsp(ds¡¡Yb¡yzpnqfpndfXZX~z@XZqh{hYb¡¬sy7qanacz¡l
~R}.¡eR{z~z,d{z{hjcqf~Rdf¡7~h®qpcX,dTjnq~Ra"ds7qfehjqhrmYb}j"¡qh}.dsjcqf~Rab¯h°xY]fYb~zY.p(dTjnY]{za jcpnRehjcY9{iyzpnqfpndfX,a
®pnqfX±yRdsp(ds¡¡Yb¡²yzpnqffp(dsX,avElieRac~zZjcVzY|eGa Ybpb³a"qfhrmY9}Lj@¡qh}.dTjnq~acy7Yb}´G}bdTjcqf~Ga.¬Rdf~R{EldsezjcqfX,dsjcµ}
jnpndf~Ra ®qfpnXZdsjcqf~¶qs$eGa Ybp ª·{hY´G~zYb{}.¡dacacYbab¦§©pnjc~z¸d¸{ha jcpnzehjcY9{¹dsyRyz¡µ}.dsjcqf~µadºjcVzpnY.Y.ª«a jcYby
yRpcqh}Y9acab»¨~jnVzY"´Rp(amj1a jcYby¨¬sjnVzY"yzpcqfp(dsXZXZY.p°pcjcY9aVzµaCdsyzyz¡µ}.dTjnq~dad]acVRdfpcY9{Eª=XZYbXqpclyRdfpndf¡¡Y.¡
yRpcqfp(dsX¼¬REl{hY´G~z~RjcVRY}qXZyGq~zY.~:jna5qsCjnVzYyzpcqfp(dsX¼¯R~ jnVzYacYb}.qf~R{?amjnY.y¨¬7jcVRYyzpnqfpndfXXZYbp
{zY´R~zY9a5jcVzY,}qXZyGq~zY.~:j¡qh}.dsjcqf~Ra5qf~½{hµamjn~R}j|Vzqa jnab¯¨~?jnVzYjnVzpn{½amjnY.y¨¬NjnVzYyzpcYbyzpnqE}.Ybana qp
jnpndf~Ra ®qfpnXZajnVzY?acVRdspnYb{Eª«XZY.XZqfpnl¾yRdsp(ds¡¡Y.¡yzpnqfpndfX¿~:jcqºdº{hµa jcpnzezjcYb{hª=XZY.XZqpclÀyRpcqfp(dsX¼¦¶Á·~
jnVzµaZyRdsy7Y.p9¬°vYyRpcY9a Yb~jdf~ÂYgEjnY.~Racq~Âjnq¾qfezp,}qXZyzehjc~z½®p(dsXZY.°vqfpn¾~Ãqfp({hY.pjcqº}.pcY9dTjcY¼ds~G{
d}Ljn¤TdTjnYjnda haxdTjpnez~:jcXZYf¯:jcVzµa1Y.gEjcY.~Ga qf~df¡¡qT°@aCjnVzYk~:jcpnqE{zeR}Ljnq~,qs²¡q:df{ZRdf¡df~R}~z$a jcp(dTjnY.fYba
~½jcVzY®pndfXYb°xqpcElj(dsE~z~:jnq df}.}.qfez~:j|pnez~:jcXY,~h®qpcX,dTjnq~Ra~©jnVzYi}.qfXZyGq~zY.~:j$¡qh}.dTjnq~
{zYban}pnyhjnq~Rab¦U"Vzµa1Y.gEjcY.~Ga qf~ZVRda17Y.Y.~,~:jcYbfp(dTjcY9{~,jnVzY@yRdfpndf¡¡Y.¡Gds~R{,{hµa jcpnzezjcYb{®p(dsXZYb°xqpchab¬
°jcVRqfehjkdf~:liXqh{h´G}bdTjcqf~~jnVzYfCyRpcYbyzpcqh}.Ybana qpb¦
ÄÅ:ÆNÇnÈÉ TÊf £:d¥¤Tdz¬G®pndfXYb°xqpcN¬7yRdsp(ds¡¡Y.¡yzpcqfp(dsXZXZ~RR¬N{ha jcpnzehjcqf~¢¬N{zl:~GdsXZ}}pnYbdsjcqf~ qf
j(dfacha
˵̲ÍcΫÏbÐ"ÍÑÒΫÓ=ÔÕ
Ö×RØ(ÙÚ Ø(ÛÝÜÞßEØ(à¥áTØ â¥ãäÝåæäÝÙ«Ø9Þçå
èCé
Ü Ø(á9êµßEëLà¥äÝÙcÞ×zØ(ì Øní«ãäÝåäÝÙ=Ø9Þçå
Unité de recherche INRIA Rennes
IRISA, Campus universitaire de Beaulieu, 35042 RENNES Cedex (France) Téléphone : 02 99 84 71 00 - International : +33 2 99 84 71 00
Télécopie : 02 99 84 71 71 - International : +33 2 99 84 71 71
-v$00-2 i*, 2
³qhrmYb}jc{zeºyzpcqfrmYjfY9amj{zYia XZyz¡´RYbp$¡µdyzpnqffp(dsXZX,dTjnq~©{²³dsyRyz¡µ}.dsjcqf~Ra
{za jcpnRez`.Y9a1Y.~£:d¥¤Tdz¦ Y@XZqh{hW.¡Yk{hY5yzpnqffp(dsXZX,dTjnq~Y9amjeR~XZqE{zW.¡Y@yRdsp(ds¡¡W.¡Y@}Y.~:jnpndf¡µa `¬d¥¤Yb}v¡d
y7qanacz¡jn`]{hY{hq~z~zY.p{hY9av~R{z}bdTjcqf~Gaxy7qfeRpv¡Y]yz¡d}YbXYb~:j"{hY9avqfhrmY.jna]¯hez~iyRpcqfp(dsXZXZY@yRdsp(ds¡¡W.¡Y
Y9amjjcp(ds~Ra ®qfpnXZ`CY.~$eR~$yzpnqffp(dsXZXZY1{hµamjnpczez`@yRdfp jnp{hYbaa y7`b}.´G}bdTjnq~Ra¢{hYxyz¡µdf}YbXZY.~:j{hY9a¨qhrmYj(a.¬
Y.jvyGdspxjcp(ds~Ra ®qfpnX,dTjcqf~dfehjcqX,dTjc:ezY5{zY]}.¡dacacYbax{h`´R~RY9axyGdspv¡Y]yzpnqffp(dsXZXZY.eRpb¦ ³`b}pnjcezpnY5{²³ez~zY
dfyzyz¡}bdTjnq~{hµamjnpczez`bY|a Y5ædsjY.~jcpnqfµax`.jndfyGY9a»{Rds~Ra"¡µdyRpcYbXW.pnY]`jndfyGY¬h¡YyzpnqfpndfXZXYbezp`9}pnj
acqf~¶dsyRyz¡µ}.dsjcqf~}qXZXY¼ez~yRpcqfp(dsXZXZYyRdfpndf¡¡W.¡Y¼}Y.~:jnpndf¡µa `¬xYb~{h`´R~Ranacdf~:jZ¡Ybai}qfXZy7qands~:jna
{zYacqf~ÀdsyRyz¡µ}.dsjcqf~¯v{zds~Ra¡d©{hY.ezgEW.XZY`.jndfyGY¬C¡Yyzpcqfp(dsXZXZY.ezp{h`´R~Rj¡Yyz¡d}YbXYb~:j{hY}.Yba
}.qfXZy7qands~:jnaa ezp¡Yba¼{h7`bpcYb~jnYbaX,df}(Vz~zYba©¯${zdf~Rai¡µdºjnpcqacW.XZY?`.jndsy7Yf¬5¡Y½yzpn`.yzpnqh}Y9acacY.ezp
jnpndf~Ra ®qfpnXY¡Y yzpnqfpndfXZXY¼yRdfpndf¡¡W.¡Y }Yb~:jcp(ds¡ac`Y.~¹yRpcqfp(dsXZXZY¼{za jcpnRez`f¦]ds~Ra}Y.jdspcjcµ}¡Yf¬
~RqfeRayzpn`bacY.~:jcq~Ra¢eR~zYxY.gEjcY.~Ga qf~{zYx~zqfjcpnY1®p(dsXZY.°vqfpn]yGqezp¡µdk}.pc`9dTjnq~$Yj¡³df}jc¤TdTjcqf~{hYjf}(VzY9a
¡=³Ygh`b}.ehjcqf~¼¯E}YjcjcYY.g:jnY.~Racqf~ZyGYbpcXZY.j1¡³~:jnpcqh{heR}jcqf~,{hYka jcp(dTjn`.Y9aC{²³`:ez¡zpndffY{hY@}(VRdfpcYv{Rds~Ra
¡Y"®p(dsXZY.°vqfpn|Y.~Z~jnpcqh{heRands~:j1{hYba1~h®qpcX,dsjcqf~RaC{hlE~RdfXZ :ezY9a1{zds~GaC¡d{hY9ac}.pcyhjnq~Z{zeyR¡d}Y.XZYb~j
{zYbaqfzrmYjnab¦txYj jnYZYgEjcYb~Ra qf~¾d`jn`~:jc`bfpn`.YZ{zds~Ra¡Yba5®p(dsXZY.°vqfpnhakyGdsp(ds¡¡Wb¡YYj${hµamjnpczez`¬ands~Ra
XZqh{h´G}.dsjcqf~¼{he¼yzpn`.yzpnqh}YbanacY.ezp¦
!#É 9 Ç " £d¥¤Tdz¬:®p(dsXZY.°vqfpnN¬Eyzpcqfp(dsXZX,dTjnq~yRdsp(ds¡¡W.¡Yf¬h{hµamjnpczehjnq~¨¬z}pn`bdsjcqf~{zl:~GdsXZ :ezY
{zY5jf}(VzY9a
¢, -$
U"VRYZdfX+qfjnVzYyzpcqfrmYb}j[.z¬C[¥1µakjnq¼YbdfacYjcVzYjnda qfxyzpnqfpndfXZX~zi{za jcpnRehjcY9{©dfyzyz¡ª
}bdTjnq~Ra"eRac~z£:d¥¤Tdz¦1U"VzYYb~E¤:pnqf~zXZY.~:jyzpnqT¤E{hY9adZa VRdfpcY9{Eª«XYbXZqfpnl,yRdsp(ds¡¡Yb¡²yzpnqffp(dsXZXZ~z
XZqh{hYb¡¬G®pcYbY.~zZjcVRYyzpnqfpndfXXZYbpx®pnqfXjcVRY$jnda qsC¡qE}bdTjn~zds~R{d}.}Y9acac~zZqfhrmY9}LjnakX,dsyzy7Yb{¼q~
{za jc~R}LjVzq:amj(ads~R{iXZyz¡Y.XZYb~jn~R}qfXZXez~zµ}.dTjnq~Rab¬:eGa ~z®qfpYgzdfXyR¡Y5jcVzY$wEqh}(Yj@}¡µdfanavqfpvjcVzY
£:d¥¤Td©^@Y.XZqsjnY YjcVRqE{¸Á·~E¤fqh}.dsjcqf~ yGdf}(TdsY[«¦U"VzY´Rpna j,¤fYbpnacq~ÂqfkjcVRYf¹Y.~E¤Eª
pnqf~RXYb~:jyRpcqT¤Eµ{hYba]d¼amj(dTjcµ}ZyzpnqfpndfXXZ~ziXZqh{hYb¡¦ZÁ·~½jcVzµayRdfyGYbpb¬¨°vYZyzpnYbacY.~:j$ds~½YgEjcYb~Ra qf~©jcq
qezp|}qXyRehjc~z®pndfXZY.°vqfpn~½qfp({hY.p]jcq¼}pnYbdsjcY,ds~G{?df}jc¤TdTjcYj(dfacEadsjpnez~:jcXZYf¯¢jcVzµaYgEjcYb~Racq~
df¡¡qT°@ajnVzYk~:jcpnqE{zeR}Ljnq~,qs²¡q:df{ZRdf¡df~R}~z$a jcp(dTjnY.fYba1~,jnVzY@®p(dsXZYb°xqpc$Eljndf:~z$~:jcqd}.}.qfez~hª
jZpnez~:jcXY~h®qfpnX,dTjcqf~Ga~ÂjnVzY¼}qfXZy7qf~zYb~:j¡qh}.dTjnq~Â{hY9ac}.pcyhjcqf~Ga.¦ºÁ·~Ãa Y9}Ljcqf~h¬C°vY¤Ydf~
qT¤Y.pn¤EYb°qsjcVzYf1Y.~E¤Epnqf~zXZYb~j9¦CU"VzY|YgEjcYb~Racq~i®qp@{hlE~RdsXZµ}]}.pcY9dTjnq~qf¢jnda ha"µayzpnYbacY.~:jcY9{
~ÀacYb}Ljnq~ºds~R{¾°vYa VRqT° VzqT° {hµamjnpczehjnq~ºaX,ds~RdffYb{?jcq?Yghyz¡qfj{hlE~RdsXZµ},~z®qfpnXZdsjcqf~¾~
acYb}jcqf~R¦Á·~a Y9}Ljnq~¼z¬h°xY|yzpnYbacY.~:j@acqfXZY|dsyzyzpnqd}(VzYbax~pnY.¡µdTjnYb{iyzpcqfrmYb}jnab¦
" "! ¸¼ $¼
U"VRY"Y.~E¤Epcq~zXZY.~:j@yzpnqT¤:µ{hY9a@d,a VGdspnYb{Eª«XZY.XZqfpnlyRdfpndf¡¡Y.¡²yzpnqfpndfXZX~zZXZqh{hY.¡=¬Gy7qanacz¡li~hª
}.¡eG{h~Rd{z{hjcqf~Rdf¡²~h®qpcX,dsjcqf~Ravds7qfehjqhrmYb}jv¡qh}.dTjnq~Rab¬Edf~R{fY.~RY.p(dTjcY9ax{za jcpnRehjcY9{iyzpnqfpndfX,a
®pnqfX yRdfpndf¡¡Y.¡zyRpcqfp(dsX,aeRac~z$jcVzY5eRa Ybpb³a1qhrmYb}j¡qE}bdTjnq~a y7Yb}.´G}bdTjnq~Ra1ElZdsehjnqfX,dTjn}"jnpndf~Ra ®qfpcª
X,dsjcqf~Ra"qfeRacY.pcª«{zY´R~zY9{}.¡dacacYbab¦CU"VzY$1Yb~E¤:pnqf~zXZY.~:j´RezpnY[va"X,d{hYezy¼qsm»
dyRdsp(ds¡¡Yb¡N®pndfXZY.°vqfpnjnq,YghyzpnYbanaxjcVzY|yRdfpndf¡¡Y.¡NyzpnqfpndfXZX~zXZqE{zY.¡=¬
dZ{ha jcpnzehjcY9{®pndfXYb°xqpcZjnqZYghyzpnYbanavjcVzY${hµa jcpnzezjcYb{Y.gEY9}ehjnq~XZqh{hYb¡¬
dyzpcYbyzpnqE}.Ybana qpjnqZjcp(ds~Ra ®qfpnX yRdfpndf¡¡Y.¡²yzpnqfpndfX,a~:jcq,{hµamjnpczehjnYb{yzpnqffp(dsX,ab¦
U"VRY®p(dsXZY.°vqfpnha¢dfpcYv}qfXZy7qacYb{qsGa jndf~R{zdsp({$£:d¥¤Tdk}¡µdfanacYbaa q5jcVRdsj°pnjc~z5yGdsp(ds¡¡Yb¡qp{za jcpnRehjcY9{
yRpcqfp(dsX,a"eRac~zZjnVzYf@Y.~E¤Epnqf~RXYb~:jk{hqEYba@~RqsjkpnY:ezpcYjnq¡Ybdspn~ds~El¡df~zfeRdffYYgEjnY.~Racq~~zqfp
jnq|eRacY@d5XZqh{h´RYb{! "|¦§©Y@}bds~ZeRacY@amj(ds~R{zdfpn{£:d¥¤¥d]Yb~:¤Epcq~zXZY.~:jnayzpnqT¤E{z~z]jnVzY@amj(ds~R{Rdsp({£:d¥¤Td
æd}¡jcYbav®qpXez¡jcjcVRpcY9df{h~zR¬#¨df~R{pcY%$RYb}jcqf~¨¦
&('*) +-,/.102.436587:9;.*<=0>,/.@?BA(0>CD9E7GFF;H4.*IJ7"02.@KL3MA<N.4365POQKR
Á·~d´Rp(a ja jcYby¨¬hjnVzY$yzpnqfpndfXXZYbpx°pnjnYba@df~dfyzyz¡}bdTjnq~¼dad,a VGdspnYb{Eª«XZY.XZqfpnlZyRdsp(ds¡¡Yb¡²yzpnqffp(dsX
°jcVRqfehj7qsjnVzY.pn~z$°jcV,jnVzYk}qXZyGq~zY.~:j¡qh}.dTjnq~Rab¦"SkY@°pcjcY9aCjnVzYk}qXZyGq~zY.~:jnaqs²Vzµa1yzpnqfpndfX¼»
j(dfachads~R{{zdsjndZqhrmYb}jnab¦xU"VzYb~¼jcVzY$yRpcqfp(dsXZXZY.p}.df~¼}(VRq:q:a Y7Yjm°vY.Yb~ {hNY.pnY.~:jj(dfaciYghY9}ehjnq~
XZqh{hYb¡aZElÂacY.¡Yb}jc~zºd½}.¡daca~ÃjcVzY?fîp(dsXZYb°xqpcº¡Rpndfpcl¦ÃU"VzY f¹yRdsp(ds¡¡Yb¡v®pndfXYb°xqpc
X,df~RdsYbaxjcVzY$}.qEqfy7Y.p(dTjcqf~ac}(VRY.XZYGY.jm°xYbY.~eRa Ybp@}qXy7qf~RY.~:jnab¦
Á·~Âd?a Y9}qf~G{ºamjnY.y¨¬jnVzYiyzpnqfpndfXZXYbp|f¤fY9a|jcVRY}qXZyGq~zY.~:j¡qh}.dTjnq~Ra$q~À{hµamjn~R}jVzq:amj(a$El
}(VRq:q:a ~z¼dsyzyRpcqyzpcµdTjnYUTWVYXfYZ>[]\^VY_JV%`badcfeL¦ d¥lfqehj]X,df~RdsY.p(a]dfpcYZyRdfp j$qfxjnVzYZ®p(dsXZY.°vqfpnN¯¨jcVRY.l
}.qf~:jndf~½jnVzY{hY9ac}.pcyhjnq~ºqs"jcVzYqfhrmY9}Lj{za jcpnRehjcqf~ºy7qf¡}.lf¦ U"Vzµads¡¡qT°@a|eGa|jcq©dsehjnqfX,dTjn}bds¡¡l
ghg ájikdlfmdl
DoT
javac
rmic javac
JVM
JVM JVM JVM
Parallel program
Distributed framework USER-DEFINED
COMPONENTS
Parallel framework
Preprocessor DO! ENVIRONMENT
Transformed components
DISTRIBUTED PROGRAM
fezpnYZ[f»CU"VzY 5qCY.~E¤Epcq~zXZY.~:j
Y.~zYbpndsjcY5jcVzY${za jcpnRehjcY9{yRpcqfp(dsX ®pcqX jcVRY|yRdsp(ds¡¡Yb¡²yzpnqffp(dsX¼¦Á·~jnVzY${hµamjnpczehjnYb{®p(dsXZY.°vqfpnN¬
¡µd¥lfqehj"XZdf~RdsY.p(a"dspnY5eRacYb{jnqXZyz¡Y.XZY.~:jjcVRY|qfhrmY9}Ljk{hµamjnpczehjnq~y7qf¡µ}lf¦
Á·~dÀjnVzp({ a jcYby¨¬@jnVzYºJyzpcYbyzpnqE}.Ybana qp,jcp(ds~Gam®qpcX,aijcVzY½eRacY.p9³aa VGdspnYb{Eª«XZY.XZqfpnlÂyRdfpndf¡¡Y.¡
yRpcqfp(dsX ~:jcqd${za jcpnRehjcY9{Eª=XZYbXqpclyzpnqfpndfX¦vYb}.dfeRacY@d|yzpnqffp(dsX#av}qXy7qacYb{ZqfN®pndfXYb°xqpc
}.¡dacacYbaCdf~R{ZeRacY.p{zY´R~zY9{,}¡µdfana Y9a.¬yzpnqffp(dsX jnpndf~Ra ®qfpnXZdsjcqf~RaC}.qf~Racµamj1~}(VRds~Rf~zjcVzY@®pndfXYb°xqpc
eGa Y9{,~ijcVzY]yzpnqfpndfXM®jcVzY]yRdsp(ds¡¡Y.¡z®p(dsXZYb°xqpcaxpnY.yz¡µdf}.Yb{,EljcVzY{hµamjnpczehjnYb{®pndfXYb°xqpc2¬ds~G{
jnpndf~Ra ®qfpnX~z }.qfXZyGq~zY.~:j(aUæeRa Ybp ª·{hY.´R~zYb{Â}¡µdfana Y9a!~Àqpn{hYbp$jnq©ds¡¡qT° jnpndf~RacyRdspnY.~:j¡qh}.dTjnq~Ra$qf
qhrmYb}jnadsj"pnez~hª=jcXZY®X,dsyRyz~RZdf~R{pcYbXZqsjcY|d}.}Y9acacYbafL¦
&('& 7G,27jH*H*CDH 7j3;9 9.*<=0>,/.*?;A(0>CD9 f,27 C KL,(<
Ê Å "Æ
É Å b
jnVzYiyGdsp(ds¡¡Yb¡ds~R{º{za jcpnRehjcY9{¾®pndfXZY.°vqfpnEa|dfpcYiGqfjcVºRda Y9{¾qf~ºjnVzYi}q~R}Ybyhjnaqskd}Ljc¤fY,qhrmYb}jna
®jnda hafeRacYb{¼jnqi~:jcpnqE{zeR}Y$yGdsp(ds¡¡Yb¡µa X¼¬N}q¡¡Yb}jcqf~Ra@jcqa jcpneR}jcezpnY$yRdfpndf¡¡Y.¡acX¼¬7df~R{¡µd¥lfqehj@X,ds~hª
dffYbpnajnq?{hY9ac}.pcGYijcVzYX,dsyzyz~z qf@qfhrmY9}Lj(a$qf~¸d {hµamjnpczehjnYb{Âdfpn}(VRjnYb}LjnezpnYf¦ U"VzYyRdsp(ds¡¡Yb¡ds~G{
{za jcpnRehjcY9{Z®pndfXZY.°vqfpnEaVGd¥¤fYjnVzY5andsXZY@yzpnqfpndfXZX~z|~:jcY.pcædf}.Yf¬E{hYbacyzjcYkjcVzYkædf}LjxjcVRdsjjnVzYkyRdfp ª
df¡¡Y.¡:®p(dsXZY.°vqfpneRacYba e [V _ V c"}q¡¡Yb}jcqf~Rab¬T°VzYbpcY9dfa¢jcVzY{hµamjnpczehjnYb{®pndfXZY.°vqfpn]eGa Y9a "!e [c#!$%Z>[a%
}.qf¡¡Y9}Ljnq~Ra.¦
&(' [)!+*Ya,$-%a' [e/.[1Ve0Ye21@VRd¥¤fYkjcVzYbp"qT°~d}Ljn¤Ejml7»°VzYb~eRac~zd}Ljn¤YkqfzrmYb}Lj(a.¬hacY.¤Y.p(ds¡G}.qf~:jcpnqf¡
$GqT°@apceR~?}q~R}ezpnpnY.~:jc¡ljnVzpcqezfV {zNY.pnY.~:jkqhrmYb}jnab¬G¡Ybd{h~R,jcq3!_ [ a%c#4 ,$-%a ' [}q~R}eRpcpnY.~R}.lN¯R°VzYb~
d}Ljn¤Y|qfhrmY9}Ljna5df}b}Ybana"qsjnVzY.p5qfhrmY9}Lj(aqsjcVRYyzpnqfpndfX¬EjnVzY.l¼}.df~ }qXXez~zµ}.dsjcYjnVzpnqfezV a VRdfpcY9{
qhrmYb}jnafL¬:¡Y9df{h~zjcq5!_ [c!V64 ,$-%a ' [²}.qf~R}.ezpcpnY.~G}l°VRY.~}.qf~R}.ezpnpcYb~j}.qf~:jcpnqf¡/$RqT°@axpcez~i~:jcqdac~Rf¡Y
acVRdfpcY9{qfzrmYb}Lj9¦
7 YTTWa ' [)!æY_2edspnYiamjnpceG}LjceRpcY9{ºa Y.jnaqs@qfzrmYb}Lj(aaceR}(VÂda$¡a jnab¬1dspnpnd¥lhab¬¨jnpcYbYbab¦¦¦¾txq¡¡Yb}jcqf~RadspnY
eGa Y9{À~ÂjnVzYyGdsp(ds¡¡Yb¡"df~R{Â{za jcpnRehjcY9{º®p(dsXZY.°vqfpnha|jcqºa jcqpcYGqfjcVÃyRdfana ¤fYds~R{¸df}jc¤fYiqhrmYb}jna
8:9"g8+;
df~R{¼jnV:eGakjnqY.ghyzpcY9aca]a jcpneR}LjnezpcY9{yRdfpndf¡¡Y.¡acX¼¦¡YbXYb~:jnaqsv{ha jcpnzehjcY9{?}.qf¡¡Y9}Ljcqf~Ga5dfpcY$qhrmYb}jna
X,dfyzyGY9{¾qf~À{hµa jc~R}LjVRqa jnab¦¼U"VRY.p{hµamjnpczehjnq~ºyGq¡µ}l¾{hYb¤fqf¡¤fY9aqf~ÀdacyGY9}µds¡xqfhrmY9}Lj}bds¡¡Y9{½d
TWVYXfYZ>[ \^VY_#V`=a%c
hVYXf Z>[^\ V _#V%`ba%cfedspnY?qhrmYb}jna~R}.¡eG{hYb{ ~ jcVzY½yRdsp(ds¡¡Y.¡ds~R{¹{za jcpnRehjcY9{¹®p(dsXZY.°vqfpnhaZjcq
{zYban}pn7Y1jnVzYv}.qf¡¡Y9}Ljnq~{hµamjnpczehjnq~¨»¨jnVzYxyRpcqfp(dsXZXZY.p¨~R{hµ}.dsjcYbaVzqT°¾jnq]{hµa jcpnzezjcYxjcVzYvyzpnqffp(dsX
}.qfXZy7qf~zYb~j(a j(dfacEaids~R{¶{zdsjnd=ElÂ}(VRq:q:a ~zºd¾¡µd¥lfqfezjX,ds~GdsfYbpZ®qfp,Y9df}(V}q¡¡Yb}jcqf~¨¦ d¥lfqfezj
X,df~RdsY.p(a@VRd¥¤Y$~zqYNYb}Lj~©dyGdsp(ds¡¡Yb¡yzpnqfpndfX¼¬GzezjdfpcYeRa Y9{ ~ jnVzY{za jcpnRehjcY9{®p(dsXZY.°vqfpnN»
jnVzY.l dfpcYpcY9a y7qf~Racz¡Y®qfp]pcY.jcpnYb¤E~zjcVzYyzpnqE}.Ybana qp@qT°~z~zdf~ Y.¡Y.XZYb~j]®pnqfX+dY.l¼{zY.~:jc®lE~z
jnVzY|Y.¡Y.XZYb~j9¬zds~R{®qp"jcp(ds~Rac¡dsjc~zf¡qfRdf¡²fY.lhav~jnqZ¡qh}.df¡²fYblEab¦
hT ""Å "T ÅÈÉ C
yGdsp(ds¡¡Yb¡µa XµaY.~G}.dsyGa ez¡µdTjnYb{~j(dfac}q¡¡Yb}jcqf~Rab¬¥jcVRdsjamjnqfpnYdf}Ljn¤YxqhrmYb}jnab¦uôGpna jjcp(d¥¤fY.p(ands¡:qs7d
j(dfac}.qf¡¡Y9}Ljcqf~da lE~R}(VRpcq~zqfeRac¡ldf}jc¤¥dsjcY9aCYbd}(V,Y.¡Y.XZY.~:j¡Ybd{h~R|jcq$~:jcp(dTª·}q¡¡Yb}jcqf~yRdsp(ds¡¡Yb¡µacX¦
u acYb}.qf~R{ jcp(d¥¤fY.p(ands¡¢µayzpnqh}YbanacYb{¼jnqX,dffYZdaclE~R}(Vzpnqf~z bdsjcqf~®qp5j(dfachakjnY.pnXZ~Rdsjcqf~¨¦U"VzY 4
a%c4V [« c =a e#!` _/VY[[ a%c _[¨yzpnqT¤E{hY9a"dXZqh{hez¡µdsp°"d¥ljcq,{hY´G~zYqfy7Y.p(dTjcqf~Gavdfyzyz¡Y9{jnq,}qf¡¡Yb}Ljnq~
Yb¡YbXZY.~:jnab¬h~G{hY.y7Y.~R{zY.~:jc¡l®pnqfX±jcVzY$}.qf¡¡Y9}Ljcqf~Gavdf~R{jnY.p(dTjnqfp(axXZyz¡Y.XZY.~:jndsjcqf~Ra9¦
§½Y5VGd¥¤fY5{zY´R~zY9{idyRdsp(ds¡¡Yb¡7}.qf~Ra jcpneR}jb¬jcVzY,}.¡dacab¬fjnVRdTj"pnY.¡Y9aq~,jm°xqa y7Yb}.´7}kqyGYbpndsjcqfp(ab¬
jnVzY@}.¡dacaLjcq5df}Ljn¤TdsjcYjnda hafNds~R{5jnVzY ]}¡µdfana jnq@a lE~R}(Vzpnqf~R!bY°jcVj(dfac@jnY.pnX~Rdsjcqf~RafL¦
RpcqXd@j(dfac}.qf¡¡Y9}Ljnq~Uæa jcqpc~z]df}Ljn¤YqhrmYb}jnaf¢df~R{d5{zdTj(d5}.qf¡¡Y9}Ljcqf~Uæa jcqfpn~zkyRdacac¤fYqhrmYb}jnafL¬
jnVzYyRdsp(ds¡¡Yb¡}qf~GamjnpceR}jXZyz¡YbXZY.~:jnajnVzY¼yRdsp(ds¡¡Yb¡vd}Ljn¤TdTjnq~Âqf@jnda ha°jnVÂjnVzY}qfpnpnYbacyGq~R{h~z
{RdTjndÀjnY.X,a.¬]ds~R{jcVzY½a lE~R}(Vzpnqf~R!9dTjcqf~¶°jcV jndfacÃjcYbpcXZ~RdTjnq~Ra.¬eGa ~zÀjnVzY"#¸df~R{$
qyGYbpndsjcqpnab¦&%kac~Rk{h7YbpcYb~j¢jml:y7Ybaqsz}.qf¡¡Y9}Ljcqf~Ga¢ds~G{jnY.p(dTjcqpnab¬.°vY1XZyz¡YbXZY.~:j{hNY.pnY.~:jXZqh{hY.¡µa¨qf
yGdsp(ds¡¡Yb¡µa X dfaxyRdfpndf¡¡Y.¡7}qf~GamjnpceR}jnapcYbyzpcY9a Yb~:jcYb{ZEl'ZacezN}¡µdfana Y9a.¦ ezpnY;$acVzqT°@ajm°xq$XZqh{hYb¡a
qfCyRdsp(ds¡¡Yb¡µacX»1jcVzY()}¡µdfana@{hY´G~zYbakyRdsp(ds¡¡Yb¡²jnda ha@d}.}.Ybana ~z,~R{hY.y7Y.~G{hY.~:jkqhrmYb}jnab¬R°Vz¡YjcVzY
*+,-acezN}¡µdfanavXZyz¡Y.XZY.~:j(ayRdsp(ds¡¡Y.¡Njnda ha"df}b}Y9acac~Rd,ac~Rf¡YacVRdfpcY9{i{zdsjndqfhrmY9}Lj9¦
.kYba jcYb{?yRdsp(ds¡¡Y.¡acXµa5~:jcpnqh{heR}.Yb{El¼jcVRY$ædf}j5jnVRdTjd/¼qfhrmY9}Lj5µa]ds~?d}Ljc¤fYqfhrmY9}Lj9¬GjnVRdTj
}bds~GY$a jcqpcY9{i~¼djndfaci}.qf¡¡Y9}Ljcqf~¼ds~G{d}Ljc¤TdTjnYb{~¼yRdfpndf¡¡Y.¡N°jcVqsjnVzY.pvj(dfacEab¦
0 1 .b Å Ê2=T Å:ÈÉ C
jnVzY"{ha jcpnzehjcY9{|®p(dsXZY.°vqfpn]VRdfa¢jcVzY"andsXZYxa jcpneR}LjnezpnYxdfa¢jcVRYxyRdfpndf¡¡Y.¡®p(dsXZY.°vqfpnN»7jCapnY.yzpnYbacY.~:jcY9{
El,d3Z}¡µdfana.¬RdfacYb{,q~4#ds~R{45qyGYbpndsjcqpnab¬sjnVRdTjvyzpcqh}.YbanaCjcp(d¥¤fYbpnands¡µaCqf²jndfacZds~R{{RdTjnd
}.qf¡¡Y9}Ljnq~Ra.¦¼U"VzYi}.qf¡¡Y9}Ljnq~Ra|eRacYb{¾~ºjcVRYi{hµamjnpczehjnYb{½®p(dsXZY.°vqfpn?dspnY{hµamjnpczehjnYb{À}.qf¡¡Y9}Ljnq~Ra.»
jnVzY.pY.¡Y.XZY.~:jna¼dfpcY©XZdfyzy7Yb{¹q~ {hµamjn~G}LjVzqa jnab¦ u@~JY.¡Y.XZY.~:j¼qsdÃ{ha jcpnzehjcY9{ }.qf¡¡Y9}Ljcqf~ a
X,dfyzyGY9{?q~ºdyRpcqh}Y9acacqfpdf}b}qpn{h~zijcq¼jcVRYZ}.qf¡¡Y9}Ljnq~©¡µd¥lfqehj]X,df~RdsY.p9¯²jcVzµa|X,dsyRyz~RµaX,df{hY
dsjqfhrmY9}Ljk}pnYbdsjcqf~¨¬EjnVzpnqfezVpnY.XZqsjnY|}pnYbdTjnq~ æXZyz¡Y.XZY.~:jnYb{¼~jnVzYfpcez~:jnXZY¦1U"VzY|¡µd¥lfqfezj
X,df~RdsY.p]f¤fYba5jnVzY,yzpnqE}.Ybana qp5qT°~R~z¼ds~½Y.¡Y.XZYb~j|®pnqfXdY.l µ{hY.~:jn®lE~zjcVzY,Yb¡YbXYb~:j~½jcVzY
}.qf¡¡Y9}Ljnq~¨¦opcqT¤Eµ{hYb{i°xY5:~RqT°jcVzY]qfzrmYb}Lj"fYblZ~ijcVzY|}q¡¡Yb}jcqf~idsjvqhrmYb}j"}.pcY9dTjnq~¨¬°vY}.ds~ieRa Y
jnVzY,¡µd¥lfqfezj]X,ds~GdsfYbp]jcq{hYb}.{zY°VRY.pnYjnq }pnYbdsjcYjcVzY,qhrmYb}jb¦ zqp|~R{zYghYb{¾}q¡¡Yb}jcqf~Ra dspnpnd¥lhab¬
jnVzY£:d¥¤Td,}¡µdfana76,+8N¬h~G{hYghYb{¼¡µamj(a!¬RjnVzYY.l{hYb~:jc®l:~zidf~Y.¡Y.XZY.~:jk~jnVzY}q¡¡Yb}jcqf~µakdf~
~R{hY.g²¦
9äíÜmå=ØníëLåÙ;:<=hØ(åæÜ1à¥Ù=Ü?>5íë>¥ÜA@Tá9ÜxØ(ÚmÚmÜmÙ=Ù¢í=ë"ÚmëLÛÝÛÝÜmÚ·í=äÝëLá]Ü ÛÝÜ?BÜmáí=ÙDCí=åØFEÜmåæÙ«Ø(ÛHG«Þ
ghg ájikdlfmdl
Collections
Iterators Par
Tasks
Data
Collections
Iterators SharedPar
Tasks
Data
fezpnY h»CU¢°vqZXZqE{zY.¡µaqsyRdsp(ds¡¡Yb¡µacX»jnVzY df~R{ *+,-Z}¡µdfana Y9a
u¸a y7Yb}.´G}1~:jcYbp æd}Y¬.jnVzY 8#8 ,),x~jnY.pcædf}.YCa¢eRa Y9{]jcq@X,dfpc5qfhrmY9}Ljna¨jcVRdsj}.df~|GYxdf}.}.Ybana Y9{
®pnqfX±pcYbXqfjcY]Vzqa jna{hµamjnpczehjnYb{¼}q¡¡Yb}jcqf~iYb¡YbXZY.~:jnav®qpYgzdsXZyz¡Y¦1U"Vza"~:jcYbp æd}Y]aeGa Y9{davd
jndf"®qfpxqfezpxyzpcYbyzpnqE}.Ybana qp6æacYb}jcqf~ h¦=jcq$jnpndf~Ra ®qfpnX }qXZyGq~zY.~:jnab¬Eds~R{,}.qf~:jndf~Ra~z®qfpnXZdsjcqf~Ra
eGa Y9{®qp@{hlE~RdsXZµ}XZdfyzyz~zZqsqfhrmY9}Ljnaa Y9}Ljnq~G¦=L¦
Á«jnY.p(dTjcqpna,df~R{Ãqfy7Y.p(dTjnqfp(adfpcY~Rqsji{hµamjnpczehjnYb{²»?jcp(d¥¤fYbpnands¡µadf~R{¸jnda Ãdf}Ljn¤Tdsjcqf~Ra,df~R{a lE~hª
}(VRpcq~z!9dTjnq~Ra"dspnY|yzpcqh}.Ybana Y9{ipnY.XZqsjnY.¡l®pnqfX d,a ~zf¡Y|Vzq:amj9¯Rqf~R¡lijndfaciY.ghYb}ezjcqf~¼a5{hµamjnpczehjnYb{²¦
oCdfpndf¡¡Y.¡acX Y.gEµa jna,~¶jcVzY?yzpcqfp(dsXZXZ~R©XZqh{hY.¡=¬ds~R{{za jcpnRehjcqf~{hqEYba~zqsji~:jcpnqh{heR}YY.gEjcp(d
yGdsp(ds¡¡Yb¡µa XT¦
&(' ,2K 5 ,/7 0>,27j3;< fK , 7"02.@K 3<
u yzpnqfpndfX µa,}qXZyGq:a Y9{Àqsk®pndfXYb°xqpcº}.¡dacacYbads~R{ÂeRacY.pcª«{hY.´R~zY9{Â}¡µdfanacYba æ}qXZyGq~zY.~:jnafL¦ÃU¢q
jnpndf~Ra ®qfpnXqs7d]yRdfpndf¡¡Y.¡EyzpnqfpndfX ~:jcq|d{hµamjnpczehjnYb{yzpnqfpndfX°vY"VRd¥¤fYxjcq|}(VRdf~zfYxjcVRY"®pndfXYb°xqpc
eGa Y9{i~jcVzY|yzpnqfpndfX'ds~R{ijcp(ds~Gam®qpcX'}.qfXZyGq~zY.~:j(a.¦
c4VY\^aYc0 c4aA#TWV ' ad\^a%_/[ jcVRYyRdfpndf¡¡Y.¡"ds~G{¾jcVzY{hµa jcpnzezjcYb{À®pndfXZY.°vqfpnEa$VRd¥¤fY,jnVzYacdfXZY
yRpcqfp(dsXZXZ~zi~:jcYbp æd}Y¦U"VzY®pndfXZY.°vqfpneRacYb{©~?jnVzYyRpcqfp(dsX a]pnY.yz¡µdf}.Yb{?:lq~z¡l }(VRds~z~R
jnVzY|Xy7qfpcjna"~jcVzY|yRpcqfp(dsX¼¦
7 Y\ RY_#a%_/[ [c4VY_/eYc \^VY[)!æY_2ejcVRY|eRa Ybp ª·{hY.´R~zYb{¼}.¡dacacYba"XeRamj@7Y|X,dsyzy7Yb{¼q~{ha jc~R}j@Vzqa jna
df~R{¼}qXXez~zµ}.dsjcY°jnVpcYbXZqsjcYqhrmYb}jnab¦L dsyRyz~RZdf~R{¼}qXXez~zµ}.dsjcqf~Ra"qfeRacY.pcª·{hY´R~RYb{¼}qXª
y7qf~RY.~:jnadspnY1~zqfjX,ds~RdffY9{5El]jcVRY1®p(dsXZY.°vqfpnha.¦²§½Yjnpndf~Ra ®qfpnX}.qfXZyGq~zY.~:j(a²jcq]ds¡¡qT°½jnpndf~Ra yGdspnY.~:j
¡qh}.dsjcqf~Raxqs¢qhrmYb}jnab»¢jnVzY]XZdfyzyz~zqs¢qhrmYb}jnaxqf~ipnY.XZqfjcYkVRqa jnab¬Edf~R{ZjnVzY|}qfXZXez~zµ}.dTjnq~Ra1°jcV
ëLáí¥ÜCÚmëLá.íå=Ø(å®âsäÝáí¥ÜTØ(å=Ø(ÛÝÛÝÜmÛëfÜmåØní=ëLå >¥ÜmÙ=ä Lá!TØníæíÜ åæá : "$#=%.í9Ü&¥åæëLå=ØB BäÝá';Bë >¥ÜmÛäÝÙNÙÜ)(bà¥Ümáí=äØ(Û+*>TØní«Ø
TØ(å=Ø(ÛÝÛÝÜmÛÝäÝÙB¸äÝÙ¨äÝáí=åæë >9à¥ÚmÜF>í¥åæëLà']í¥Ü >¥äÝÙíåæä ,¥à9íäÝëLá]ë(çRÚmëLÛÝÛÝÜ Ú·íäÝëLá¥Ù-¥äí=ÜmåØní=ëLåæÙØ(á>]ëfÜmåØní=ëLåæÙcÞ
8:9"g8+;
qhrmYb}jna]®pnqfX pcYbXqfjcYZVzq:amj(a.¦U"VzY,q~z¡l?}qXy7qf~RY.~:jna|°vYjcp(ds~Ra ®qfpnXdfpcYjcVzq:a YZjnVRdTj}bds~¾7Ydf}Lª
}.Ybana Y9{º®pnqfX¿pnY.XZqsjnYVRqa jnab»ijnVzY.lÀXZyz¡Y.XZY.~:jZjcVzY 8#8, ) , ~:jnY.pcædf}Y¬{hY.´R~zYb{¸~ÂjnVzY
®p(dsXZYb°xqpcN¦
+*, --x|$ ¸$2¢%Z2
U"VRYidsXqfvjnVzµa$YgEjnY.~Racq~¾qs"jcVzY®pndfXZY.°vqfpn a$jcq df¡¡qT° {zl:~GdsXZ},}.pcY9dTjnq~½qf"jndfacha|~
jnVzYyzpnqffp(dsXZXZ~zdf~R{iY.ghYb}ezjcqf~Xqh{hYb¡ab¦Á·~jcVzYe [V [!'
¤Y.p(a qf~¢¬jnVzY$}q¡¡Yb}jcqf~Ra"dfpcY]~Rjndf¡ .Y9{
°jcVd}Ljc¤fYds~G{yGdfana ¤fY]qfhrmY9}Lj(a.¬zdf~R{jnVzY.~jnVzY|yRdsp(ds¡¡Y.¡²}q~RamjnpceG}Ljakdf}Ljn¤TdsjcYb{acl:~G}(Vzpcq~zqfeGa ¡lN¯
jnVEeRa.¬jcVRY5}q¡¡Yb}jcqf~Ra1pcYbXZdf~a jndsjcµ}@{hezpn~zjnda YghYb}.ehjcqf~Ga.¦Á·~,jcVRa YXY_#V \ !' ¤Y.p(a qf~¨¬jxaxyGq:amª
acz¡Y]jnq}pnYbdTjnY|ds~R{~Ga Ybp j@~zYb° Yb¡YbXYb~:jna~}qf¡¡Yb}Ljnq~Ra{hezpn~zjndfacY.gEY9}ehjnq~Ra"eRac~RZ{zl:~GdsXZ}
}.qf¡¡Y9}Ljnq~Ra ®°Vzµ}(V©ac!bYZa]~zqfj]´RgEY9{²¬¢aceR}(V©da]¡µamj(a]®qfpYgzdfXyR¡YL¦Udfachak~RacY.pcjcY9{©{hlE~RdfXZ}bds¡¡l
~Àds~Àd}Ljn¤YZjndfac©}.qf¡¡Y9}Ljnq~¾dfpcYd}Ljn¤TdTjnYb{º{hlE~RdfXZ}bds¡¡l?jcq pnez~¾~ºyGdsp(ds¡¡Yb¡1°jnVºqsjnVzY.pjndfacha.¦
U"VRaY.gEjcY.~Ga qf~VRdfa@GYbY.~¼~G}¡eR{hYb{¼~jcVzYyRdsp(ds¡¡Yb¡²ds~R{¼{hµamjnpczehjnYb{®p(dsXZY.°vqfpnha.¬hdf~R{df¡¡qT°@avjcq
jnpndf~Ra ®qfpnX {zl:~GdsXZ}5yRdfpndf¡¡Y.¡Gyzpcqfp(dsX,a1~:jcqZ{hlE~RdsXZµ}5{za jcpnRehjcY9{yzpnqfpndfXZa°jnVzqfezjdf~ElXZqh{Eª
´G}bdTjcqf~ jcqjcVzY,$yRpcYbyzpcqh}.Ybana qpb¦]U"Vza]Y.g:jnY.~Racqf~ VRda]GYbY.~?XZyz¡Y.XZY.~:jcY9{ ~?jnVzY®pndfXYb°xqpc
eGa ~z,ds~Y.¤Y.~:j ª«RdfacYb{iXZqE{zY.¡=¬R{hYban}pnGY9{i~a Y9}Ljcqf~¼z¦h¦
d¥lfqfezj@XZdf~RdsY.p(a"dspnY|pcY9a y7qf~Racz¡Y®qpjcVRY{hµamjnpczehjnq~{hYban}pnyzjcqf~¼qs1}q¡¡Yb}jcqf~Rab¯R°vY|VRd¥¤Y
XZyz¡Y.XZY.~:jcY9{i{hlE~RdfXZ}5¡d¥lqfehjvX,ds~RdffY.p(aCjnqX,ds~GdsfYkjcVzY]¡qE}bdTjnq~iqsqfhrmY9}Ljnax~Ra Ybp jnYb{i~}qf¡¡Yb}Lª
jnq~Ra${hlE~RdfXZ}bds¡¡lN»{hlE~RdfXZ}Z¡µd¥lfqehj|XZdf~RdsY.p(a]eRa Y,pnez~:jcXZY~h®qfpnX,dTjcqf~Ga.¬¢aceR}(Vºdfa$yzpcqh}.Ybana qp
¡qd{½qfp$XZY.XZqpcl?®pcYbYia yGdf}Y¬df~R{¾XyR¡YbXYb~:j¡qdf{½Rdf¡df~R}~z a jcp(dTjnY.fYbadTj|jnda ¾}pnYbdsjcqf~¨¬¢®qfp
Y.gzdsXZyz¡Yf¦5lE~RdsXZµ}vXZdf~RdsY.XZY.~:jqsN{ha jcpnzehjcqf~El|¡d¥lqfehjX,ds~RdffYbpnaaY.gEyR¡df~zY9{~Za Y9}Ljcqf~R¦
('*) KL3IA,2,2CD3;I 7j39 ,2KL?;A<=0236Ch<b<
f¢®p(dsXZY.°vqfpnha¨dspnYCzez¡jeRac~R@jnY.p(dTjnqfp(a¨ds~R{qyGYbpndsjcqpnaja Y9}Ljcqf~h¦ 7jnq@XZyz¡Y.XZYb~jdf}jc¤¥dsjcqf~Ra
qf1jnda haa jcqfpnYb{ ~¾}q¡¡Yb}jcqf~Rab¦$Á·~¾d}.qf~R}.ezpcpnY.~:j]Y.~E¤Epnqf~zXZYb~j9¬Nj|µa5XZyGqp j(ds~:jjcqY.~RacezpnYjnVRdTj
jcYbpndsjcqpnaa eRyzyGqp jZ~Ra Ybp jnq~RaZds~R{ÂpcYbXZqT¤¥df¡a~¸}q¡¡Yb}jcqf~RaZ{heRpc~z¾d jnpnd¥¤Y.p(acdf¡¯aceR}(VÃjnY.p(dTjnqfp(a
dfpcY}.df¡¡Yb{pnqfzeGamjjcY.p(dTjnqfp(aY«»V^cn,$%ZNef[ ![a%c4V [« c ad_/efZ>c!a e][ /VY[ !_2e%a%c [!æ _2e VY_ ^c4a%\Z"*V Te Y_[
!_ [a%cda%c4a ![ [c4V6*Yadcfe%V T VY_ ![ fade5![ ![ RYZ>[
'
JX6!_b` [2a
'
YTTa ' [!æ _m¦5y7Y.p(dTjnqfp(a^[dspnY
qhrmYb}jnaxyzpnqE}.Ybana ~z$Yb¡YbXZY.~:jnavyzpnqT¤E{hY9{,ElZjnY.p(dTjcqpnab¦ xlZeRac~zjcYbpndsjcqpna~ijcVzY]qfy7Y.p(dTjnqfpx{zYbac~
yGdTj jnY.pn~¨¬TpnqfzeRa jc~RYbana}bds~GY"X,ds~RdffY9{$7qsjcVEljcVzYjcYbpndsjcqpdf~R{$El|jnVzY"qfy7Y.p(dTjcqpb»²~Za qXY"}.da Y9a.¬
jnVzYZjnY.p(dTjnqfp|}.df~©pnYbd}Lj|yzpnqfy7Y.pn¡l¼jnqT°vdfpn{za]ds~½~Ra Ybp jnq~©qp|dpnY.XZqT¤Tds¡~?jnVzY}q¡¡Yb}jcqf~¨¬¢zehj$~
qfjcVzYbp@}.da Y9ajnVzY|qfy7Y.p(dTjnqfp"VRda"XqpcY~h®qfpnX,dTjnq~jcq,X,df~RdsYkjnVzY|XZqE{z´G}bdTjnq~}.qfpnpcY9}Ljc¡lf¦
acy7Yb}µds¡¡lf¬hds~Y.¡Y.XZY.~:jvjcVRdsjvVGdfa"ds¡pcY9df{hlZ7Y.Yb~jcp(d¥¤fYbpnacYb{Zµa"pnY.XZqT¤fY9{®pcqX jcVzY|}q¡¡Yb}jcqf~¨¬
jnVzYkjcYbpndsjcqpX,d¥lf~RqfpnY"jcVzY]XZqE{z´G}bdTjnq~¨¬Rehjxj"}bds~,7YkXZyGqp j(ds~:j®qp1jcVRYkqfy7Y.p(dTjnqfpjcq|j(dsfY5j
~:jcq$d}.}qez~:jb¦ukaxds~,YgzdfXyR¡Y¬f¨°xY@{hY.´R~zYkdf~,qfy7Y.p(dTjnqfpjcq}qfXZyzezjcYjnVzYkacezX qf²~:jcYbfYbpna1a jcqpcY9{
~ºd}q¡¡Yb}jcqf~¨¬ds~R{½vXZqh{h´G}.dsjcqf~Ra|~½jcVzY}qf¡¡Yb}Ljnq~½dfpcY,df¡¡qT°xY9{©{zezpc~z¼jnVzY}qXyRehjndsjcqf~¨¬
j$µaXZy7qfpcjnds~:j|jnVRdTj|jnVzY,qfy7Y.p(dTjnqfp]jndffYba]XZqh{h´G}.dsjcqf~Ra~½jcVzY}.qf¡¡Y9}Ljcqf~½~jnq df}b}qfeR~j9¦ZÁ«"df~
~:jcYbfY.pjcVGdTj,VRdfaZdf¡pnYbd{hl¾GYbY.~¶df{z{hY9{ÀµaZpcYbXZqT¤fYb{½®pnqfX jcVzY¼}q¡¡Yb}jcqf~¨¬jcVzYqfy7Y.p(dTjnqfpVRdfajcq
acezhjnpnd}Lj"jcVRY|~:jcYbfYbpb³av¤¥df¡eRY|GY.®qfpnY]pnYjnezpn~z~RR¦
ghg ájikdlfmdl
qpcYbqT¤fYbpb¬zCjcVRYqfy7Y.p(dTjnq~ {hezp(dTjnq~ak~zqsj]¡XZjnYb{¼jnqjcVRY}q¡¡Yb}jcqf~¼jnpnd¥¤Y.p(acdf¡¬hj]X,d¥lGY
XZyGqp j(ds~:jCjcq|pnYbd}Ljjcq$dXZqh{h´G}.dsjcqf~Z~jnVzYk}.qf¡¡Y9}Ljcqf~ZYb¤fY.~ZdTjnY.pCjnVzY@Yb~R{qs7jcVzYjnpnd¥¤Y.p(acdf¡¦zqfp
Y.gzdsXZyz¡Yf¬Rdf~qyGYbpndsjcqpv°VRqacY|yzezpnyGq:a Yµa"jcq{hµacyz¡d¥ldZfp(dsyzVR}bds¡NpcYbyzpnYbacY.~:jndsjcqf~qsCd,}qf¡¡Yb}Ljnq~
acVzqez¡{7Ydfz¡Y1jcq@pnYbd}Lj¢yzpnqfy7Y.pn¡l@jcq5dXZqE{z´G}bdTjnq~|~jnVzYx}.qf¡¡Y9}Ljcqf~|{heRpc~zjnVzY°Vzq¡Yx}qf¡¡Yb}Ljnq~
¤Eµa eGds¡!9dTjcqf~¢¬Edf~R{XZqE{z®lyzpcqyGYbpc¡lZjcVRY|pcYbyzpcY9a Yb~:jndTjnq~i7Y.~z,{hµa yz¡µd¥lfY9{²¦
Á·~jcVzY@f®p(dsXZY.°vqfpnN¬9jcVzY"qfy7Y.p(dTjnq~yzpnqh}Y9acacYb{|EljnVzY7#qfy7Y.p(dTjcqpµads~ZdfaclE~R}(Vzpnqf~zqeRa
qyGYbpndsjcqf~¨¬:¡Ybdf{z~zjcqjnda d}Ljn¤TdTjnq~Rab¬:°VRqacY5Y 7Y9}LjnavYb~R{dsjxj(dfacZjcYbpcXZ~RdTjnq~Ra.¦Á·~ijcVzYYgEjnY.~hª
acqf~Zyzpnqfy7qacYb{®qfp{zl:~GdsXZ}}.pcY9dTjnq~RaCqs7jnda hab¬f°vY@ds¡¡qT°ÃXZqh{h´7}.dTjnq~RaC~ZjcVzY5}qf¡¡Yb}Ljnq~,{hezpn~z
j(dfac YghY9}ehjnq~Ra.¦u j(dfac?~RacY.pcjcqf~½~½jcVRY}qf¡¡Yb}Ljnq~©¡Ybd{za]jcq¼jnVzYZjnda ½df}jc¤¥dsjcqf~½vjcVRY,jnda
}.qf¡¡Y9}Ljnq~µakd}Ljn¤Yjnda ha@dfpcY$a jc¡¡¢pnez~z~z~zb¦x§½YyRpcqyGq:a YVzYbpcY$d,Y.~zYbpndf¡¨a q¡ezjcqf~jcqX,df~RdsY
pnqfReRamjn~zYbanav~dZ}q~R}eRpcpnY.~:j"Y.~E¤Epnqf~zXZYb~j@da"°xYb¡¡¨da{hlE~RdsXZµ}kj(dfacidf}jc¤TdTjcqf~Ga.¦
('& Q3MC CD3 0?7j<bCD9 <bKLH4A(02.@KL3
U"VRYkez~R{zY.pn¡lE~zµ{hYbdµa1jnVzYk®q¡¡qT°~zR»°VzY.~dXZqh{h´G}.dsjcqf~qh}.}.ezp(a1~d}.qf¡¡Y9}Ljnq~¨¬hds~Yb¤fY.~:jva
Y.~zYbpndsjcY9{ ds~R{?jcVRpcqT°~jnq¼jnY.p(dTjcqpna5qfy7Y.p(dTjn~Riqf~?jcVRdsj$}qf¡¡Yb}Ljnq~¨¦uk~©jcYbpndsjcqfp|}bdTjn}(VR~za eG}(V
df~ZY.¤fYb~:j}.ds~,YbjnVzY.pXZdf~RdsY"jvyzpcqyGYbpc¡l$qpCjcVzpnqT°Ãj1jnqjcVzYkqfy7Y.p(dTjcqpCeRac~zjnVRdTjxjnY.p(dTjcqpb¦Á«²jcVzY
Yb¡YbXZY.~:jjnqfeR}(VzY9{EljcVzY]XZqh{h´7}.dTjnq~VRdax~RqsjxlYj"GYbY.~ijcp(d¥¤fY.p(acYb{²¬TjnVzY]jnY.p(dTjcqpxVGdfajcqX,df~RdsY
jnVzY|Y.¤Y.~:jqfp"Y.¡µacYjcVzY|jcYbpndsjcqfpvjnVzpcqT°@axjnVzY|Y.¤Y.~:j"jcqZjcVRY|qfy7Y.p(dTjcqpb¦
U"VzY5qfy7Y.p(dTjnqfp(aCpcYb¡dsjcY9{jcq$jnVzµaxan}(VzY.XZY]dspnYjcVzY )#df~R{45qfy7Y.p(dTjnqfp(a.¬feRa Y9{,EljcVzY)
}.¡dacab¦CU"VzY3)#,qfy7Y.p(dTjnqfpdf}jc¤TdTjcY9avjnda havyzpnqT¤:µ{hY9{iElidf~jcYbpndsjcqfp9»
Rdf~Y.¤fYb~:j¨qE}b}ezp(a²Y.~zYbpndsjcYb{5El]df~~RacY.pcjcqf~~jcVzY1jndfac}qf¡¡Yb}Ljnq~¨¬bjcVzY1qyGYbpndsjcqp¨df}Ljn¤TdsjcYba
jcVzY|~RY.°JjndfacN¯
jcVRY]Yb¤fYb~jµavfY.~RY.p(dTjcY9{ElidpcYbXZqT¤¥df¡7®pcqX jcVzY]j(dfac}qf¡¡Yb}Ljnq~¨¬EjcVRY]qyGYbpndsjcqpva jcqyRavjcVzY
jnda N¦
Á·~¹jcVzY½acdfXY?°vd¥l¬xjnVzY 5¸qyGYbpndsjcqfpiVRdfajcqÀj(dsY~:jcqÃdf}b}qfeR~jXqh{h´G}bdTjcqf~Ga~jcVzY?jnda
}.qf¡¡Y9}Ljnq~i®qp"jcVzY´R~Gds¡¨acl:~G}(Vzpcq~z bdTjnq~¨¦
(' Q< 63I6,2K 36KLA;< CLCh3L02< 7G3;9 9 6367P.*I IJ,2C 7"02.@KL3EK 0N7j<(<
U"VRY5Yb¤fY.~:j"yRdTjcjcYbpc~ijcVRdsjv°vY5VGd¥¤fYkXZyz¡Y.XZY.~:jcY9{iµavRdfacYb{iezy7qf~jcVzY]qfRacY.pn¤fYbpx{hY9a f~yRdTjcjcYbpc~ =¬
df~R{a VzqT°~~´GfezpnY|z¦CU"VzYjm°vqX,ds~¼qfhrmY9}Lj(adspnYf»
jcVzY$acqfeRpn}.Y ),)#) 8,NL¬TjnVRdTj@Y.~zYbpndsjcYbavYb¤fY.~:j(a.¬
jcVzY|¡µamjnY.~zYbp , ) ,+,>¬TjcVGdTj@pnYbdf}jnavjnqYb¤fYb~j(a.¦
u¡µamjnY.~zYbp}.qf~R}.Y.pn~zYb{ÃEl¸Yb¤fYb~j(a,fYb~zY.p(dTjnYb{ÃEl¸dÀacqfeRpn}.Y a ezGac}.pcGY9aZjcqÂpcY9}Y.¤fYYb¤fYb~j~Rqsjc´zª
}bdTjnq~Ra.¦Ã§VzYb~¶df~¸Yb¤fYb~jZqh}.}.ezpnab¬1jnVzY acqfezp(}YqfhrmY9}Lj}pnYbdsjcY9adf~R{Ãdf}Ljn¤TdsjcYba,df~ÂYb¤fY.~:j,qfzrmYb}Lj
),) #,+8 2L¯zjnVzYY.¤fYb~:j]qhrmYb}j]µa]pcY9a y7qf~Racz¡Y®qfp~zqfjc®l:~z¼ds¡¡¡µamjnY.~zYbpnab¦$u@¡¡C~z®qfpnXZdsjcqf~Ra
pnY.¡µdTjn¤Yjnq©jnVzY¼Y.¤Y.~:jZdfpcYyRdfanacYb{ºjnpcqezfVÃd?yGdsp(dsXZYjnY.p , )#)JL¦ºwEqezpn}.Ydf~R{¸¡µamjnY.~zYbpna
dfpcY~R{zY.y7Y.~R{hYb~:jb»"jcVRYacqfezp(}Y${hqEY9ak~zqfjkE~zqT° Vzµak¡a jcYb~zY.p(akdf~R{¼jnVzYYb¤fY.~:jkqhrmYb}j5yzpnqh}Y9acac~R,a
8:9"g8+;
EventListener EventSource
EventObject EventParam
listeners
listeners addEventListener
removeEventListener processEventο
eventPerformed source
param
new EventObject(this,param,listeners).start();
runο
for (enum=listeners.elements();
enum.hasMoreElements();) { enum.nextElement().eventPerformed(); }
Thread
ezpnYR»1U"VzYY.¤Y.~:j~h®p(dfa jcpneR}jcezpnY
da lE~R}(VRpcq~zqfeRab»~zqsjn´G}bdTjnq~RadfpcYyzpnqE}.Ybana Y9{¾~Ãd?acY.yRdfpndsjcY,jnVzpnYbdf{¨¬1°Vz¡YijcVzY¼a qezp(}YipnYbacezXZYba
Y.ghYb}ezjcqf~¨¦
Collection Iterator Operator
processEvent();
removeElementο
addElementο if (traversed)
processEvent();
openο closeο
EventSource EventListener
it.open();
it.addEventListener(this);
it.close();
it.removeEventListener(this);
it coll
eventPerformedο openο closeο
coll.addEventListener(this);
coll.removeEventListener(this);
fezpnYR» klE~RdfXZ}jcYbpndsjcqfp(a"ds~R{qfy7Y.p(dTjnqfp(a
§½YVRd¥¤Y~R}.¡eG{hYb{¼jnVzµakdfaclE~R}(Vzpnqf~zqeRavY.¤Y.~:j@yRdTjcjcYbpc~~¼jcVzYqfy7Y.p(dTjnqfp@{hY9a f~¼yRdsj jcYbpc~¢¦@txq¡ª
¡Yb}jcqf~Ra|dfpcYZYb¤fY.~:j$acqfezp(}Y9a]df~R{©jnY.p(dTjcqpnadfpcY,}q¡¡Yb}jcqf~½¡µa jcY.~RY.p(a.¦,u{z{hjcqf~Gds¡¡l¬¢jcY.p(dTjnqfp(adspnY
Yb¤fYb~j"a qezp(}Ybavds~G{qfy7Y.p(dTjnqfp(adfpcY5jnY.p(dTjcqp¡a jcYb~zY.p(ab¦ ¤fY.~:j(avdfpcY5fYb~zY.p(dTjnYb{,El}q¡¡Yb}jcqf~Rax°VzYb~
Yb¡YbXZY.~:jna$dfpcY,d{z{hYb{½qp|pcYbXqT¤Yb{²¬ds~R{©jndffYb~©~:jcq df}b}qez~:jEl©jnY.p(dTjcqpnadf~R{½qfy7Y.p(dTjcqpnab¦ +,
df~R{ 8 ,$XY.jcVzqh{zavdspnY@yzpnqT¤E{zYb{jcqds¡¡qT°ÃjnY.p(dTjnqfpdf~R{,qfy7Y.p(dTjnqfp9³a}¡Yb~j(aCjnq~zjndsjcY]ds~R{,a jcqy
jnVzYY.¤Y.~:jC¡µa jcY.~R~zyzpnqh}Y9acaElacezRan}pnR~z]qfpCeR~Ra eRRac}.pcz~z¡µa jcY.~RY.p(ajcq|a qezp(}Ybab¦U"VRayRdsj jnY.pn~
µaacVzqT°~~´RfeRpcYR¦
ghg ájikdlfmdl
Start
Par
runο start
Join join
eventPerformedο eventPerformedο
start.open(); join.open();
start.run(); join.run();
start.close(); join.close();
if (insertion) task.join();
if (insertion) task.start();
else if (removal) task.stop();
Operator
open close
ezpnY|z» klE~RdfXµ}|}pnYbdsjcqf~qsjndfacha
Á·~ÃjcVRa®p(dsXZY.°vqfpnN¬1~Ra Ybp jnq~Ra,ds~G{ÂpnY.XZqT¤Tds¡µa~Ãjnda Â}.qf¡¡Y9}Ljnq~RaZdspnYij(dsfYb~¸~:jcqºdf}b}qez~:j
{zezpc~z½jnda ¸df}Ljn¤Tdsjcqf~¶ds~R{ÃYghY9}ehjnq~Ãda,amj(dTjcY9{ÃyzpcYb¤EqeRa ¡l æacYb}jcqf~z¦ ¦¹U"VzY )#Àds~G{
5qyGYbpndsjcqpnakpcY9df}LjkjcqY.¤fYb~:jna5:ldfyzyzpnqfyzpndsjcYd}Ljnq~Rakq~ j(dfacEa57Y.~zi~RacY.pcjcYb{?qfp]pcYbXZqT¤fYb{¨¦
U"VRY ),qhrmYb}jka ezGac}.pcGY9a"qfy7Y.p(dTjnqfp(ajnqZ¡µamjnY.~¼jcY.p(dTjnqfp(avGY.®qfpnY|yzpcqh}.Ybana ~zjcVzY$}.qf¡¡Y9}Ljcqf~´Rp(amj
jnpnd¥¤Y.p(acdf¡jnq½d}Ljn¤TdTjnYij(dfacha!¬ds~R{Âqfy7Y.p(dTjnqfp(adspnYieR~Ra eRRac}.pc7Yb{ÂdsjcYbpjnVzY¼Y.~R{Âqs@jnVzYa Y9}q~R{
jnpnd¥¤Y.p(acdf¡"®jnda iaclE~R}(Vzpnqf~z bdsjcqf~RafL¦U"Vzµa"a@yzpcY9a Yb~:jcYb{~i´RezpnY|z¦
(' Q3MC(7 F;H*C
Á·~jnVzakYgzdsXZyz¡Yf¬R°xY|eRacYjcVRYdsz¡jmlijcqdf{R{~RY.°jnda ha{hlE~RdfXµ}.df¡¡li°jcVjnVzYfx®p(dsXZY.°vqfpnN¦
.kY.°ºj(dfachadfpcYv}pnYbdTjnYb{°VzY.~~zY.°ÀX,d}(Vz~RYbadspnYYj jn~R5d¥¤Tds¡dfz¡Yf¦U"VRYv}.qf~z~zY9}Ljnq~7Yjm°vY.Y.~jcVzY
pnez~:jcXZY;æXZd}(Vz~zY~RacY.pcjcqf~Raf¨df~R{jcVRYxyzpnqfpndfX ®jndfac|}pnYbdsjcqf~RafNµa{hq~zY1jnVzpnqfezVdfaclE~R}(Vzpnqf~zqeRa
Yb¤fYb~j(a.¦
uk~¸dsyRyz¡µ}.dsjcqf~ºjnVRdTj,}.df~À7Yacyz¡j~:jcq½a Yb¤fYbpndf¡~R{hY.y7Y.~G{hY.~:j,}qfXZyzezjc~za}q~jnpczehjn~R jcq
jnVzY´R~Rdf¡²pcY9a eR¡j@}.df~7Y|XyR¡YbXYb~:jcYb{eRac~z,dX,damjnY.pTacY.pn¤fY.p(a1XZqh{hYb¡»1acY.pn¤fYbpnaxpceR~~R{hYbyGYb~R{hY.~:j
}.qfXZyzehjn~Rab¯¨X,dfa jcY.p|acY.~R{Ra :ezYbpcYbakjcqacY.pn¤fYbpnak°VzY.~½~zY.Y9{hYb{¨¬¨}qf¡¡Yb}Lj(a5jcVzYbp$}.qf~:jcpnRehjcqf~Ra]ds~G{
}.qfXZyzehjnYbajcVzY´R~Gds¡vpcY9a ez¡jb¦ÀU"VRadsyzyR¡µ}.dsjcqf~¸}.qfXZyzehjnYba¡dfpcYiyzpnXY~EezX7Y.p(a.¯vjnaZdsXajcq
XZyzpnqT¤fYjcVzY©Gqez~R{za®qfp,jnVzY½tvdfpcXZµ}(VRdsYb¡k}q~TrmYb}jcezpnYf¦Á«jµaY.gEyRpcY9acacYb{¸ElÃd¾X,dfa jcYbpsa Ybpc¤Y.p(a
XZqh{hYb¡df~R{ pnY:ezpnYba@XeR}(V©}.qfXZyzehjn~RijnXZY®VEez~R{hpnYb{Ra5qfVzqezpna5qf~©qf~zYa ~z¡YX,df}(Vz~zY¦|§©Y
pnez~jnVzµa]dfyzyz¡}bdTjnq~ qf~?d~zq~hª«{zYb{hµ}.dsjcYb{ ~zYjm°vqfpnqf1°xqpcha jndsjcqf~Rab¬7acqi°vYVGd¥¤fY|jnq7Ydfz¡Y$jcq
pnYbd}LjCjnqeRandsY¤¥dfpcµdTjnq~RaC~ZjcVzY5~zYjm°vqfpn$jnq$eRacY@pnYbacqfezp(}Y9a1dTj1jnVzYk7Yba jb¦§½Y@X,dsyq~zYkac¡d¥¤Y"jnda
y7Y.p|d¥¤Tds¡µdsz¡YX,df}(VR~zY¬²ds~R{²¬²~?qpn{zY.p5jcqeRa YZds¡¡Cd¥¤Tds¡dfz¡YpcY9a qezpn}.Ybab¬G°VRY.~¾d~zYb° X,df}(Vz~zYa
d{z{hY9{jnqjnVzYCpnez~:jcXZYf¬h°vY]d{z{d~zYb°Jac¡d¥¤Y@j(dfac,qf~jcVRdsj"X,d}(Vz~RYdf~R{~:jcYbfp(dTjcY]j"~jcVzY
}.qfXZyzehj(dTjnq~®p(dsXZYb°xqpcN¦ %kac~zZjcVzYx®pndfXYb°xqpcN¬EjnVza@a5{hqf~zY|Eldf{z{h~zZjnVzY|~zY.°j(dfaci~
jnVzYZjnda ½}q¡¡Yb}jcqf~¨¦Uq dTjcjnds~½jcVzµa|Yb~R{²¬°xY}bds~½eRa YZjnVzYYb¤fY.~:j|yRdsj jcYbpc~ºdfds~¨»jnVzY,yzpnqffp(dsX
µa@~h®qpcXZYb{jnVRdTj]dZ~zY.°X,df}(VR~zY|VGdfa@7Y.Yb~~G}¡eR{hYb{¼~jnVzY$pnez~:jcXY¬Gdf~R{¼pcY9df}jna"jnq,jcVzµa@Yb¤fYb~j
Eld~zY.° jnda }.pcY9dTjcqf~ds~R{i~RacY.pcjcqf~~jcVRY5j(dfac}q¡¡Yb}jcqf~¨¦CU"VzY]pceR~jnXZYµavdf~iYb¤fY.~:ja qezp(}Yf¬
jnVRdTjvfYb~zY.p(dTjnYbadf~Y.¤Y.~:jx°VRY.~d~zY.°X,d}(Vz~RYkµaxd¥¤Tds¡µdsz¡Yf¬Eds~R{,jcVzY]yzpnqffp(dsX a"d¡µamjnY.~zYbpjnVRdTj
acezRan}pnGY9avjcqjcVzY|pnez~:jcXZYjcqZ7Y$dsz¡Y]jcq,pnYbdf}jxjnqa eG}(VYb¤fY.~:j(a.¦
8:9"g8+;
+*, --v$00-2 $ .2²¢ .$
Á·~jcVRY{za jcpnRehjcY9{®p(dsXZY.°vqfpnN¬sjnVzY|{ha jcpnzehjcqf~y7qf¡}.lqs}.qf¡¡Y9}Ljnq~Ra"{hY.¤qf¡¤fYbaxqf~¡d¥lqfehjvX,ds~hª
dffYbpnab¦ d¥lqfehjX,ds~GdsfYbpna"VGd¥¤fYGYbY.~XZyz¡YbXZY.~:jcY9{®qfpka jndsjcµ}$}q¡¡Yb}jcqf~Raæ°Vz}(V ac .Y|µaka jndTjn}L¦
§½Y?VGd¥¤fYYgEjnY.~R{hY9{amj(dTjn}¡µd¥lfqehjiX,ds~GdsfYbpna®qp{hlE~RdfXZ} }.qf¡¡Y9}Ljnq~Ra.¬df~R{¹{hY.´R~zYb{{zl:~GdsXZ}
¡µd¥lfqehj5X,df~RdsY.p(ajcVGdTjjndffY~:jcq¼df}b}qez~:j]{hlE~RdfXµ}~h®qpcX,dsjcqf~Ra5jcq¼}qXZyzehjcYjcVRYX,dfyzyz~zqf
{za jcpnRehjcY9{}.qf¡¡Y9}Ljnq~Yb¡YbXYb~:jnadTjpnez~:jcXZYf¦
'*) <b.4365P<=0N7"02.*I H@7LK A(0 7j367G5 C , <
Rqfp@dfpcp(d¥lha.¬Eds~qfhrmY9}Lj@~R{hY.gpnY.X,ds~RaxjcVzY$andsXZY|{hezpn~zZjcVzY|°VRqf¡Y]qhrmYb}j¡®Y$~jnVzY$}q¡¡Yb}jcqf~¨¯
®qp¢¤Yb}Ljnqfp(a¨qp¢~R{hYghY9{$¡a jnab¬sds~|~RacY.pcjcqf~$qp¢pnY.XZqT¤Tds¡f~$jnVzYx}.qf¡¡Y9}Ljnq~}.df~$XZqE{z®l]jcVRYx~R{hY.gEY9a¢qf
qfjcVzYbpCY.¡Y.XZY.~:j(a.¦Á·~jcVzYk}.ezpnpcYb~j1a jndsjcYqs7jcVRYkY.~E¤Epnqf~RXYb~:jb¬sqhrmYj1XZfp(dTjcqf~a1~zqsj1y7qana z¡Yf¯
d¼XZqh{h´G}.dsjcqf~º~Àd}q¡¡Yb}jcqf~¾XeRa j~zqfjXyR¡l¾d }q¡¡Yb}jcqf~¾pnYb{hµamjnpczehjnq~¨¦¼U"VzY.pnY®qpcY¬¢Ybd}(V
Yb¡YbXZY.~:j5µa]pcYbyzpcY9a Yb~:jcYb{¼Eljm°vq{hµamjn~G}LjfY.lhab»"jcVzY´Rp(amj]qf~zYµakeRacYb{ jcqdf}.}.Ybana@Yb¡YbXYb~:jna]~?jcVzY
}.qf¡¡Y9}Ljnq~¨¯²j$}bds~?7YZXZqE{z´RY9{?El }(VRdf~zfY9ak~ jnVzY,}q¡¡Yb}jcqf~¨¦U"VRYacYb}.qf~R{?qf~zYa]eRacYb{?EljcVzY
¡µd¥lfqehjxX,df~RdsY.p1jnqX,df~RdsY5{hµamjnpczehjnq~¨¯Ejµav~zqsj"XZqE{z´RY9{El,~Ra Ybp jnq~Ravds~R{ipcYbXqT¤Tdf¡a~jcVzY
}.qf¡¡Y9}Ljnq~¨¦
5lE~RdsXZµ},}qf¡¡Yb}Ljnq~Ra$dfpcY,}q¡¡Yb}jcqf~Ra°VR}(Vºac!bYµa|ez~R:~RqT°~¾a jndsjcµ}.df¡¡lf¦5Rqfp$a jndsjcµ},}qf¡¡Yb}Lª
jnq~Rab¬G¡µd¥lfqehjkX,ds~RdffYbpna@}bds~eRacY$jnVzY}.qf¡¡Y9}Ljnq~?a .Y$jcq}.qfXZyzehjnYd,Gds¡µds~R}.Yb{ {hµa jcpnzezjcqf~¨¦ zqfp
{zl:~GdsXZ}}q¡¡Yb}jcqf~Rab¬zjnVzYq~z¡l°"d¥lijnqiRdf¡df~R}Y$jcVzYZ{hµamjnpczehjnq~?amj(dTjn}bds¡¡lakjcVRpcqezfV?di}lh}¡}
{za jcpnRehjcqf~¨¦ºwEq½jay7qana z¡Yjnq?X,ds~RdffYi{zl:~GdsXZ}}q¡¡Yb}jcqf~Ra$jcVzpnqfeRfVÂa jndsjcµ}¡µd¥lfqfezjX,ds~hª
dffYbpnab¬Rehj"jcVzµa"av~zqfj@acdsjcµamæd}Ljcqpcl¬Y9a y7Yb}.df¡¡lZ®qfpvjnVzY|{ha jcpnzehjcqf~Rds¡µds~G}~zR¦ 5l:~GdsXZ}5¡µd¥lfqfezj
X,df~RdsY.p(axdfpcY~jnY.~R{zYb{jcq´R¡¡¨~jnVzµadfy¨¦
'& O (37 .4I H@7 LKLA(0 7j37"5LC ,/<
§½Y$VRd¥¤Y|~:jnpcqh{heR}.Yb{¼{hlE~RdfXµ}|¡µd¥lfqehjXZdf~RdsY.p(avjcqX,df~RdsY|Y}Y.~:jc¡ljnVzY{za jcpnRehjcqf~¼qs1{hl:ª
~GdsXZ}}qf¡¡Yb}Ljnq~Rab¯¥{zl:~GdsXZ}1¡d¥lqfehj¨X,ds~GdsfYbpna²}.qfXZyzehjnYCjcVRYx}q¡¡Yb}jcqf~|{hµamjnpczehjnq~{hlE~RdfXµ}.df¡¡lf¬
eGa ~z {hlE~RdfXµ}Z~h®qfpnX,dTjcqf~Ga®pnez~:jcXZY,yRdsp(dsXZYjnY.p(a]®qfp$Y.gzdsXZyz¡YL¦Á·~h®qfpnX,dTjnq~Ra|eRacYb{½El©{hl:ª
~GdsXZ}¼¡µd¥lfqehj,X,ds~RdffY.p(aGYb~RÂ{hlE~RdsXZµ}s¬vjcVRY.l¸}bds~}(VRdf~zfY{hezpn~zºyzpnqffp(dsX¿Y.ghYb}ezjcqf~¨¬ds~G{
Y9a y7Yb}.df¡¡l¾GY.jm°xYbY.~ÂjcVzYqfhrmY9}LjZ}pnYbdTjnq~Âds~G{¾jcVzY¼qhrmYb}j~Ra Ybp jnq~À~ÀjcVRY}.qf¡¡Y9}Ljcqf~¢¦ 5zrmYb}Lj
¡qh}.dsjcqf~ ~h®qfpnX,dTjnq~¨¬²}qfXZyzezjcYb{?El¼jcVzY¡d¥lqfehj]X,ds~RdffY.p]dTjqfhrmY9}Lj}pnYbdTjnq~¨¬Naa jcqpcY9{ dTj]jcVzY
qhrmYb}jv¡Y.¤Y.¡=¬:jcVzpnqfezVids~~:jnY.pcædf}Y}qXZXq~jnqdf¡¡²{hµamjnpczehjnYb{iqfhrmY9}Ljnab»jcVzY 8#8, ) ,|~:jcYbp ª
æd}Y¬{hY.´R~zYb{Z~ZjcVRY]f®p(dsXZY.°vqfpnæacYb}jcqf~ z¦bL¦U"Vza¡qh}bdTjcqf~Z~h®qfpnX,dTjnq~µa1eGa Y9{,dTj1qfzrmYb}Lj
~RacY.pcjcqf~~jnVzY|}qf¡¡Yb}Ljnq~¨¦
U"VzY 8}¡µdfanab¬7pnY.yRpcY9a Yb~jn~Rdi{hlE~RdfXµ}¡d¥lqfehjkX,df~RdsY.p@VRdak7Y.Yb~?XZyz¡YbXZY.~:jcY9{?ds~G{
~R}.¡eR{zYb{~jcVzY@f®p(dsXZYb°xqpcN¯s}qXZyzehjc~z5jcVzYVRqa jqT°~z~zd]~zY.°Ã{ha jcpnzehjcY9{qhrmYb}jµaX,df{hY
El]d 8*#,) vXY.jcVzqh{~jcVzY+ 8}.¡dacab¦ .kY.°º{hlE~RdsXZµ}C¡µd¥lfqfezjNX,df~RdsY.p(a.¬bXZyz¡Y.XZY.~:jn~z
df~El¾{zl:~GdsXZ}X,dsyRyz~R©y7qf¡}.lf¬vdspnY{hY.´R~zYb{¸Elº~RVzY.pnjn~R?jnVzY+ 8}¡µdfanads~R{¸pcY9{hY´G~z~R
jnVzY 8*#,) iXZY.jcVzqh{²¦U"V:eGa.¬¨°vYVRd¥¤fYXZyz¡Y.XZYb~jnYb{?jm°xq¼{hlE~RdfXµ}¡d¥lqfehj]X,ds~RdffY.p(ab»@qf~zY
}(VRq:q:a Y9avjcVzYVzqa j@VRd¥¤E~R¡YbanaYb¡YbXYb~:jnab¬zjcVRY$qsjnVzY.p@q~zY$}(VzqEqacYbavjnVzY|Vzq:amjk°VRqacY]yRpcqh}Y9acacqfp¡qd{
µajcVzY¼¡YbanaUæj,µa,}ezpnpnY.~:jc¡l¾XZyz¡Y.XZY.~:jnYb{®qfp,wEqf¡µdspnaqf~R¡l¬1eRac~z¾d½a lha jcY.X }bds¡¡vjcq½:~RqT° jcVzY
ghg ájikdlfmdl
yRpcqh}Y9acacqfp¡qd{/L¦¼Á·~¾jcVRYiacdfXZY,°vd¥l¬qfjcVzYbp$XZqfpnYdf{h¤Tds~G}Yb{½X,dsyRyz~R?amjnpndsjcYbfYba|}.df~ºYbda ¡l©GY
~R}.¡eR{zYb{~jnVzYCYb~:¤Epcq~zXZY.~:jb¦
0. ! |%
?ds~ElqsjnVzY.pyRpcqfrmYb}Lj(aveRa Y$£:d¥¤Td$®qpyRdsp(ds¡¡Y.¡acX'ds~R{¼{hµa jcpnzezjcqf~¨»
jcVzY"o1pnqu}jc¤fYxo t zyzpnqsrmYb}jx¬fdf¡acqkE~zqT°~dfa£d¥¤Td E¬¥µaRdfacYb{|eRyGq~pnY.XZqsjnYvdf~R{d}Ljn¤Y
qfhrmY9}Lj(a.¬Rdf~R{¼dZVzfV¼¡Yb¤fYb¡¢a lE~R}(VRpcq~z!9dTjnq~iXZYb}(VRdf~zµa X'GdfacYb{qf~®ehjnezpcY9a.¦vU"Vzµaa@XZyz¡Yª
XZY.~:jcY9{ieRac~zpnez~:jcXZY5pnYd$GYb}Ljnq~®°vYeRacY57qsjnVipnYd$RY9}Ljcqf~ds~R{}qXyR¡Yª=jcXZYkjnpndf~Ram®qpcX,dsª
jcqf~RafL¬Eq~jcqyiqf¢ds~iqyGYb~XZYj(dTª«qfhrmY9}LjxyRpcqfjcqh}q¡¦U"Vzµax°vqfpnaxRdfacYb{iqf~idyzpnqffp(dsXZXZ~z
XZqE{zY.¡¢{hY9ac}.pc7Yb{~ Ý«¬zds~R{yzpnY.¤EqfeRac¡l,XZyz¡Y.XZY.~:jcY9{eRa ~z'17Yb¡df~R{¼t¯
jcVzYv£d¥¤Tdfodfp jmlkyzpcqfrmYb}jL[TEa¢RdfacYb{q~$¡df~zfeGdsfYY.g:jnY.~Racqf~Rab¬Tds~R{|{hµa jcpnzezjcqf~$µa¨X,ds~GdsfY9{
ElºjcVzY }.qfXZyz¡YbpZqfpjcVzY¼pnez~:jcXZYf¬v°jnVzqfehjdf~:l¸}qf~:jnpcq¡®pnqfX¿jnVzY¼yzpnqffp(dsXZXZY.p®~ÃjcVzY
yRpcqfrmYb}Lj9¬²jcVRY,yzpcqfp(dsXZXZY.p|}q~:jcpnqf¡µa5qhrmYb}j${ha jcpnzehjcqf~#L¦i£:d¥¤TdsoCdspcjmlds¡¡qT°@a]qfzrmYb}Lj
XZpndsjcqf~¨¯
jcVzY SkV¼oYbp ®qpcX,df~R}Y£d¥¤TdyzpnqsrmYb}j@dTjÁ·~R{hµds~Rd'%k~z¤Y.p(a jmlY.~zYbpndsjcYbavyRdfpndf¡¡Y.¡NyzpnqfpndfX,a
®pcqX¿a YeRY.~:jcµds¡v£d¥¤Td¼yzpnqfpndfXZa$°jnVÂds~z~Rqsjndsjcqf~RaUY D Yds~G{º{hY.¤Y.¡qfyRad¼jcqEqf¡xjcq
dsehjnqfX,dTjn}bds¡¡lZ{hY.jcYb}jvdf~R{,Yghyz¡qfjxXZyz¡}.jv¡qEqfyiyRdsp(ds¡¡Yb¡µacX ~El:jcYb}.qh{hY ¦ 5~
jcVzY$}.qf~:jcp(dspnlf¬:jnVzYCYb~:¤Epcq~zXZY.~:jpcYb¡Yba"q~dyRdfpndf¡¡Y.¡NyzpnqfpndfXZX~zXZqE{zY.¡=¯
X,ds~ElqfjcVzYbpyzpnqsrmY9}Lj(a1eRac~R£d¥¤Td]®qpyRdfpndf¡¡Y.¡acX ds~R{,{hµa jcpnzezjcqf~idfpcYyzpnYbacY.~:jnYb{Z~ [¬bY=¦
5a jcpnzehjcY9{Â}.qf¡¡Y9}Ljcqf~Ga$VRd¥¤YGYbY.~Ã{hY.¤Y.¡qfy7Yb{¾~ºjcVzYQ[f[ «¬LS@ox£d¥¤Td ds~R{2 Y
yRpcqfrmYb}Lj(a.¦¾U"Vzq:a YyzpnqsrmYb}jnayzpcqT¤Eµ{hYiYb~E¤:pnqf~zXZY.~:j(a$®qp2 yRdfpndf¡¡Y.¡vyzpnqffp(dsXZXZ~zR»jcVRYyzpnqsª
pndfXZX~z$XZqh{hYb¡7µa"a Y:ezY.~:jcµds¡=¬Eds~R{iyRdsp(ds¡¡Yb¡µacX df~R{i{hµa jcpnzezjcqf~µav~:jcpnqh{heR}.Yb{,El,¡zp(dspnYba1qf
{za jcpnRehjcY9{a jndsjcµ}}qf¡¡Yb}Ljnq~Raædfpcp(d¥lha!¦
U"VzY?yzpcqz¡Y.X qf|pcqzeRa jc~zY9aca®qpjnY.p(dTjnqfp(aZVRdfa,7Y.Yb~¹amjneR{hYb{¶~¹dºa Y:ezY.~:jcµds¡5}qf~:jnYgEj,®qfp
}.qf¡¡Y9}Ljnq~,¡zp(dspnY9a1~¼t:[9h¬N[ «¦Á·~,jcVRY]£:d¥¤Tdtxqf¡¡Y9}Ljnq~ zp(dsXZY.°vqfpn r {hN[f¦ CjcVzY]yzpnqfz¡Y.X
qf"}.qf~R}.ezpnpcYb~jd}.}.Ybana Y9a]jcq }q¡¡Yb}jcqf~Ra$a$d{z{hpnYbana Y9{½:l©eRac~z æds¡ªædamj$ZjcYbpndsjcqfp(ab»$}qf~G}ezpnpcYb~:j
XZqh{h´G}.dsjcqf~qf¢d$}q¡¡Yb}jcqf~µax~zqsj"ds¡¡qT°vYb{,{heRpc~zdf~jnY.p(dTjnq~¨¯:d ædf¡ª=ædfa j)@jnY.p(dTjnqfpx{zYjcY9}Ljn~z
dXZqh{h´G}.dsjcqf~æds¡a :ezµ}(E¡ldf~R{¼}¡Ybdf~z¡li:ljcVzpnqT°~RZdf~dfyzyzpnqfyzpnµdTjcY]Ygz}.Y.yhjnq~¨¦
/#$-x02¢.$
§½YiVGd¥¤fYY.g:jnY.~R{zYb{¾jnVzY¼f½Yb~E¤:pnqf~zXZY.~:j$jnq©df¡¡qT° {hlE~RdsXZµ}}pnYbdsjcqf~ºqsj(dfacha.¦ qh{hez¡µdspnjml
qfCjcVzYZ5®pndfXZY.°vqfpndf¡¡qT°@a"jcqdf{z{?a eR}(V ®ez~R}Ljnq~Rds¡jcYba]ds~R{¼jnqiY.Y.y?GYb~zY´zj(akqfxdsezjcqfX,dsjcµ}
{za jcpnRehjcqf~¾jnVzpcqezfV¾yzpnqfpndfX+jcp(ds~Gam®qpcX,dTjnq~Rab¦U"VzY,´Gpna jpnY.¡YbdfacYZqs"jcVRYYb~:¤Epcq~zXZY.~:jb¬
d¥¤Tdf¡µdsz¡Yqf~R¡~zYf¬~R}.¡eR{zYba{za jcpnRehjcY9{dspnpnd¥lhaCdf~R{,amj(dTjn}¡µd¥lfqehj1X,ds~RdffYbpna®qpdspnp(d¥lEa(?8 8 +8h¬
"!!$###%'&)(*&+,-%/.(0!1,2+!34567890:!$;<0!
8:9"g8+;