The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized...

23
The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No¨ el Plouzeau, Jean-Marc J´ ez´ equel To cite this version: Jacques Malenfant, No¨ el Plouzeau, Jean-Marc J´ ez´ equel. The Design of GCCL: a Generalized Common Contract Language. [Research Report] RR-4502, INRIA. 2002. <inria-00072086> HAL Id: inria-00072086 https://hal.inria.fr/inria-00072086 Submitted on 23 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´ ee au d´ epˆ ot et ` a la diffusion de documents scientifiques de niveau recherche, publi´ es ou non, ´ emanant des ´ etablissements d’enseignement et de recherche fran¸cais ou ´ etrangers, des laboratoires publics ou priv´ es.

Transcript of The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized...

Page 1: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

The Design of GCCL: a Generalized Common Contract

Language

Jacques Malenfant, Noel Plouzeau, Jean-Marc Jezequel

To cite this version:

Jacques Malenfant, Noel Plouzeau, Jean-Marc Jezequel. The Design of GCCL: a GeneralizedCommon Contract Language. [Research Report] RR-4502, INRIA. 2002. <inria-00072086>

HAL Id: inria-00072086

https://hal.inria.fr/inria-00072086

Submitted on 23 May 2006

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinee au depot et a la diffusion de documentsscientifiques de niveau recherche, publies ou non,emanant des etablissements d’enseignement et derecherche francais ou etrangers, des laboratoirespublics ou prives.

Page 2: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

ISS

N 0

249-

6399

ISR

N IN

RIA

/RR

--45

02--

FR

+E

NG

ap por t de r ech er ch e

THÈME 1

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

The Design of GCCL: a Generalized CommonContract Language

Jacques Malenfant — Noël Plouzeau — Jean-Marc Jézéquel

N° 4502

Juillet 2002

Page 3: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To
Page 4: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

Unité de recherche INRIA RennesIRISA, Campus universitaire de Beaulieu, 35042 Rennes Cedex (France)

Téléphone : +33 2 99 84 71 00 — Télécopie : +33 2 99 84 71 71

����������� ��������������������� ��!�#"$��% '&(�)*����+,+-���.������/0"1��23/4�5������6������

798;:=<?>$@BADCE8;FG@BH1IJ8;HLKNM�OQP!R�S=FUTVFWR9>$X=@=8;>YO37;@Z8;H�['C\8;]^:_7;`=X=`B<?>$@=F

a#bdc^egfihkjmlUn^opf^qsrdtuf vwopxyozv{c'egf^o|Q}p~��zf vUa0}p��oJ�Bf'���

lUq��d��~B}JvU�yfV}{f^��b�f'}���bdf��;�1�Z�s�B��jm�Brd������f vk�����=��j�h�����qs��f�o

�u�1�^�'�N d¡���¢k£ ~�����~N¤���d���¥v�o¦����� f^�yvp��~��i���i§Q��¨;f^��©Zx�ª�f^x�f'}Qq������¥v�o¦�y�¥¨9r�op��~B��v{~«~svpb�f'}¦f'�Z¬Z��}p~B�degf'�=v{o#­®fB¯ ��¯�°svpbdfUoJv{q����dqs}��Z±��opqsvp��~��!~s²1³V´¶µ·q�o(��qs}pv(~�²0¸wª�µ1¹º°d»kf^op���B�¼©Zx!´(~��=vp}�q�� v(�d~N¤½²¾qB� f�o(q�e¿qN�z~�}#��b�q�����f'�d�BfU���!� ~Beg��~B�df'�=vJ±À©�qBoJf��¼oJ~�²Ávz¤¶q�}pff^�d�����df'f^}p���d��­G´¶ÂÃZ§(¹ ¯�´(~�eg��~=oJ��vp��~���qs�;}pf�q�op~��d���d��q�©�~Bryv#opxyozv{f'e��d}{~��;f'}pvp��f^o3²®}{~�e�� ~Bei�;~���f'�=v¶~B�df^o(b�qBo(©;f'f^�u}{f^�'f'�=vp��xqBopopf'}pvpf��¿©Zxgvpbdf�ÃZ§QĶq�o3vpbdfUÅJ��f^x�v{f^��bd�����^qs�L��b�qs����f'�d�BfºÆU~s²Q´¶Â#Ãy§U°yqs���!� ~��=v{}{qB�ºv{o¶q�o#q�Åz�Bf'xgvpf���bd�d���'q��;�'~����'f'�yv¶vp~goJr��y±�;~�}pvvpbd��o¬Z��oJ��~��Zƺ¯¦a�~g����¬Bf«rd��vp~gvpb�f^opf�f'ty��f��ºv{qsvp��~���o^°d»k©;´�e�r�oJv#v{q����Z��f«f tZvp}�qN±G²®rd��� vp��~���q��L�d}p~B��f^}Jv{��f�o¶~s²¦� ~�eg�;~��df^�=v{oq����ÇoJr��d��~B}JviÈ«��f^���?É owÅpqs}���bd��vpf^� vprd}�qs��±À©�q�opf^�_qNvJv{}p��©dryv{f¼}{f^q�op~������d��¯ Æ�¶f^op���yf^o�qB�y~��dvp���d�Dvpbdf!�df^�'f^o{opq�}pxÊ�df'¤�� ~B��� f^�yv{o^°q��B~Z~Z�5�'~��=vp}�q�� v���q��d��r�q���fge�r�ozv���}p~N¬Z���yfg²®~�}�q�©�oJvp}�q��ºv{��~B�?°0q��d�d�����^qNv{��~B�?°1�'~�eg�;~Bop�¥v{��~B�5q����Ço{� ~������d��egf���b�qs�d��opego����opr���b¼qV¤#qËx�v{~�©;fUr�opf^�g²®}{~�eÌeg~Z�df'�����d�����¼¸kª�µ�v{~��d}{~���}�qsegeg���d�«���uoJv{q����dq�}{�i��qs�d�Br�qs�Bf^oU­Wq�o3opf^q�eg��f�opo¦f'tZvpf'��oJ��~���o¦vp~�=qˬNqd°B´Íu°=´ÎVÎ�°N§Q��¨;f^�W°=qs���iop~k~B��¹�vpbd}{~�rd�Bb�f'tZf�� ryv{��~B��~B��v{}{qB�y�¥v{��~B��qs�Z~B��f^}{qsvp���d��opxyozv{f'e¿o1¤�¥v{b�eg���d��egq��yeg���d�d��f^¤¶q�}pfqB�d�y��vp��~���o^¯�a#bd��o���qs�;f'}«f'tyq�eg���df�o«� ~���� f'�dvpr�q��0²®~Brd���dqsvp��~���o«q����Ê�yf�oJ�����·�yf^�'��op��~���okvp~��d}{~��;~BopfiÏ�´´¶µ3°?qu�d~N¬Bf'�1~��;f'��Bf'�df^}{q�����Ð'f���� ~Beieg~B�_� ~B�=vp}�q��ºv���q��d��r�qs��fB¯�Ï�´´¶µÑ��o�egf^qs�=v�vp~�©�f¿�'~�eg��qNv{��©���fi¤�¥v{b_f'ty��oJvp���d�D»w©;´Ò­¾oprd©�¹z��q��d��r�q���f�o'°q�����f^op��f�� ��qs����x�³V´¶µ3¯Ó�Ô=Õ9Öp×�Ø �NÙ1��¢ ��}p~B��}�qsegeg���d�!©ZxÊ� ~B�Bv{}{qB�ºv�°�oJ�;f^�'�¥²®xZ���d��qs���_¬�f^}p��²®xZ������q����Ê}{f^qBoJ~B�d���d��q�©�~BryvV�d}{~���}�qse¿o^°9��q��d��r�q���f�o'°egf^qBoJr�}pf^eif^�=v^°y�;f'}p²®~�}{egq���� fB¯

Ú�Û�ÜÞÝ?ß9àºáWâUÛNã�Ý�äsåJåzæ«ÝWçËèËèsàºá®éGåzêVä ëéGÛËå3ì�çËáWàºèsåJã�æ�í9àºæ éGáWã�îïéQð¦í?í?ñ�òó(ôJõ ã�öÞåz÷åzæ é1ø�æËÜ ù åzáWÝWÜ é ô êËåQú9á¾åïéÀã õ æ�å3ÝWçËê=ò

Page 5: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

�5�-2(���!2¶���u/1 ���.)!� ������� �·� ��!�#"$��% '&(�) ����+,+-���.������/�"$��23/4�5������6!�����

��� ����� � ¢ ÃZrd��¬Nqs�=vQoJf�o0�dn'©dryv�o$f'��§Q�¥¨9f'�y��qs}¦ª�f'xBf'}1f vQo{qw�y��¨;r�oJ��~��k�LÉ qsrdvp}{f^o1f'�Z¬Z��}{~����df'egf'�=v�o(­W� ~�egegf¶��qs}1f tyf'eg�d��f��q�oJv{qs���dqs}��y��opqsvp��~��_�?ÉÞ³V´¶µ��'~�egegf¼��qs}pvp��f¼�yf¿��qD�d~�}{egf¼¸wª�µ1¹º°0��q���}p~B��}�qsege¿qNvp��~��·� ~B�Bv{}{qB�ºv{rdf'����fi²¾q��¥v�q�rN�z~�r�}{�LÉ bZrd�²¾qB� f�¼rd�·�yn �·egqs�zf'rd}«�dq���ow��fg�y~�e¿qs���dfi�yrÊ�Bn'�d��f��yf�o���~B����� ��f'��o�!©�q�opf��yfi� ~Bei�;~Bo{qs�=v�o�­GÏ«µ�ÂU´#¹º¯Lµ?fi}�qs��oJ~B�d�df'egf^�Bv�'~�eg��~=oJ��vp��~����df'�ZoJr�}���f^o0�d}p~B�d}{��n'vpn^o0�yf^o1opxZoJvpc^egf^o�w��qs}pvp��}0�df^o0�d}p~B�d}{��n'vpn^o0�yf^o1opf^o��'~�eg�;~Bo{qs�=v{o0qUn v{n3���yf'�=v{����n(��qs}0��fÃZ§QÄ�'~�egegf¶��fQÅJ�dn �ivpf^��b��d~���~��B���=rdf#� ��nºÆ�yrgÏ«µ0ÂU´k°Nf vQ��f^o¦� ~B�=vp}�qNv{o1� ~Begeif#rd��Åp� ~B��� f^�yv0v{f^��bd��~���~������=rdf#� ��n¶�;~�r�}QoJrd����~B}Jv{f'}�'f vJv{f#¬=��op��~B�?¯ Ƽ|$~�r�}1}{n'�;~����y}pf��� f^o$qsvJvpf^�=vpf^o^°s��qw��}p~B��}�qsege¿qNvp��~����'~��=vp}�q�� vprdf^����f#�y~���vQo'É qNvpv{q��=rdf^}1q�ryt��d}{~��d}{��n vpn�o�f'tZvp}�qN±²®~B���ºv{��~B�d�df'����f^o«�yf^o�� ~Beg��~=opq��Bv�owf'v«oprd�d�;~�}pvpf^}w��f�}�qs��op~��d�df^egf'�=v�oprd}���f�okqsvJvp}{��©dryv{o�©�qBoJnioJr�}k�GÉ q�}{��b��¥v{f^�ºv{rd}{f��yn^¬�f'��~�����n��q�}3È«��f'���?¯3³kryvp}{f�WÉ q��d~��yv{��~B�g�df^oQ��~�rd¬Bf^qsrdt�� ~B��� f^�yv{oQ�df'¬�f^�Zr�o¦�dn�� f^o{o{qs��}pf�o'°sr��¿©�~B�¿��q��d�Bq���f�yfw�'~��=vp}�qNv�o¦�y~���vQ²®~�r�}p�d��}�yf�o1ein��'q��d��opegf^o0�LÉ q�©�oJvp}�q��ºv{��~B�?°N�LÉ qs�d�d�����'qNv{��~B�?°N�yf(�'~�eg�;~Bop�¥v{��~B��f v¦�yf3�;~�}pvpn^f(�yf3vpf^����f(e¿q��d��c^}pf�U� f��=r?É ���ZoJ~B�¥v1ryvp������o{qs©d��f�yf^�drd��o���q!eg~Z�dn'����o{qNv{��~B��f'�·¸wª�µÊ�zr�o��Br�É !��qu�d}{~���}�qsege¿qNv{��~B���dqs��o�rd�_��q��d�Bq���f�oJv{q����dq�}{� ­W� ~Beiegfif tZvpf^��op��~B����rd���yf¼�=qˬNqd°L´Í¼°�´ÎVÎ�°�§Q�¥¨9f'�G°9f v��s¯Þ¹�f vk�GÉ f tyn^�'ryvp��~���oprd}k�df^ok�d��qsvpf�oz±G²®~�}{egf^oUoJv{q����dqs}��Dqˬ�f��«rd��eg������e�rde �LÉ qB�d�y��vp��~���okqsr�d��¬�f�qsri�yf(�GÉ ����oJvpf^}{oJvp��� ��f'�G¯Q´(f(}�qs�d�;~�}pv0f'tdqseg����f(��f3²®~B���dqsvp��~���o$� ~B��� f^�yvpr�f'����f�o0f'v1��f^o$��bd~B�¥t��df¶�'~����'f'�yv{��~B���;~�rd}$�d}{~��;~Bopf'}Ï�´´¶µ3°=r��u�d~Brd¬�f�qsr¼��qs�d�=qs�Bfw�yf«� ~��=v{}{qsv3~�rd¬Bf'}pv^°Z��n^�dn'}�qs��f v� ~Beie�rd�?¯QÏ�´´¶µ·oJfk¬�f'rdv#�'~�eg��qNv{��©���f�qˬ�f^�w��f�o3��qs���Bqs�Bf^o�yf��'~��=vp}�qNv�o¶f ty��oJv{q��=v{o^°yf vvp~BryvU��q�}Jv{���'rd����c'}{f'egf^�Bvw³V´¶µQ¯�YØ �^� Ö ¡�� � � ¢ �d}p~B��}�qsege¿qNv{��~B� � ~��=v{}{qB�ºvpr�f'����fB°QoJ�;n^�'�����^qNv{��~B�?°Q¬�n^}p�����^qNvp��~�� f v¿}{q���op~����df'egf'�=vgoJrd}g��f^oi�d}{~��B}{q�eiegf�o'°��qs�d�=qs�Bf^o^°=egf�oJrd}{f^o^°y�;f'}p²®~�}{egq���� fB¯

Page 6: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

������������� ������������ �

� � ��/�"$�¿)�6!23/0 ���

£ ~�����~N¤���d�i�¥v�o(�����'f'�yv{��~B�!©Zx¼ª�f^x�f'}¶���!§Q��¨9f'����h�� ��q����¼��v{o�y��¨9r�oJ��~��uvp~g~sv{bdf'}#f^�=¬Z��}p~B�degf'�=v{o�­®fB¯ ��¯�°=v{bdfVozv�qs���dq�}{�d��o{qNv{��~B�~�²#³V´¶µÑqBo���qs}pvk~�²(¸wª�µ!��h^�"�®¹º°0»wf�oJ�����_©=xÊ´(~B�Bv{}{qB�ºv$#&%Ñ­¾»k©;´#¹k�d~N¤�²¾q��'f^o�que¿qs�z~�}«��b�qs����f^�d��f����5� ~Beg��~B�df'�=vJ±À©�qBoJf��op~s²Ávz¤#qs}{fVf'�d�B����f'f'}{���d�Ê­G´¶ÂÃZ§¶¹º¯9Äï�Êq¿}{f^�'f'�=vw²®f�q�op��©d�����¥vzxDozv{r��yxD~s²¶´¶ÂÃZ§w°�v{bdfgÃy~s²Ávz¤#qs}{fV§Q�d�����df^f'}{���d�uÄï��ozv{�¥v{ryvpfi~s²¦v{bdf´¶q�}p�df^����f ±ïª�f'����~���¸U����¬Bf'}�oJ��vzxVq�o{oJf^}Jv�oLvpb�qNv$vpbdf¦ÅJ��f'x�v{f^��bd�d���'q��=��b�qs����f^�d��f3²¾q�� ���d�V´¶Â#Ãy§_��o0vp~wf^��oprd}pf(vpb�qNv1vpbdf¶�d}{~��;f'}pvp��f^o~�²1qgoJxyoJvpf^e�~s²1�'~�eg�;~��df^�Bv�o#�'qs��©;f���}pf��y��� vpf��¼²®}{~�e�v{bdf«�d}{~��;f'}pvp��f^o¶~s²?v{bdf�� ~Beg��~B�df'�=v¶vpbdf^egopf'��¬�f�oïÆ«qs���!�¥v���yf'�=v{����f�o�'~��=vp}�q�� v{o�q�o�~��dfi~s²(vpbdfVÅJ��f'xDv{f^��bd�����^qs�¦� ~B��� f^�yvkv{~�oprd�d�;~�}pv«vpbd��o�¬Z��op��~B�ZÆ'�Þ� �À¯�a#bdfi~N¬�f^}{q����1��~=qs�1��okvp~��d}{~N¬Z���yf�²®~�}Vq�'~�eg��~B�df'�=v#� f'}pvp�����^qNvp��~��¿��}p~y� f�opo3rd�;~��¼¤bd����buqV}{f^q���e¿qs}{��f'v(�'q��¿©�f�f^oJv{q�©d����opbdf^�?¯1a#bd��o(¬=��op��~B�¿�drd}�oJrdf�oQ���yf^qBo(q���}{f^qB�yx�yf^¬�f^��~B��f��u����vpbdf�´¶ÂÃZ§�� ~Begeie�rd�d��vzx�°y²®~B}f tdqseg�d��f«����ÃZÐ^xZ��f^}{op�Z�WÉ o#oJf^ei����q��L©�~Z~��(� ���"�À¯a#bdfUÃZ§3Ä1�'~����'rd}{o$¤��vpb¼ÃZÐ^xZ��f^}{op�Z�)�Þ�s�*��qs���,+5qs�d���Þ�yh�����g� ~���oJ���yf'}{���d��q«�'~�eg��~B�df'�=vQq�o¦q�����eg�d��f'egf'�=v{qsvp��~��¿q�o1¤¶f'���

qBo¶q��!q�}{��bd��vpf��ºv{rd}{q��;q�©�oJvp}�q��ºv{��~B�?°Zqs���!q�o#oJr���biÅ.-* /�$0�-21435�68790):;�<7��< 5=>-*=?@�* ��A���$3. )B<=?@�* )-C:D8=?E�F$GIHJ�5-*=K8=KL�� �4�?MANO�35PRQ<�$B<==>��=R�S8TUL�0�-CT=VEWB$�*7905�"�8=V@�C �-C )LWB$�C &�4�*T7X-* Y=ZH�8=R�[-\B$�C7]05�* ��4 Y=Z7X�&L2�4:5F$G@�5�*H^8=_8 5=>�4TU-2B4=V��H�8=8�`=R�����*3.=V�@L��aHZ�*T:;LM>N'Æ�Þ�"�À¯b+�bdf'�!f tyf^�'ryvpf��L°y� ~�eg�;~��df^�=v{o3q���op~�f'tZb���©d��v#~�©�opf'}{¬Nqs©d��fU~�}(egf^q�oprd}�qs©d��f��=r�q�����vzxiqsvJv{}p��©dryv{f^o^°Zopr���buqBoQ�;f'}p²®~�}{e¿qs���'f�°opf^�'rd}p��vzx�°Zo{qN²®f vzxB°B}{f^op~�r�}{�'fU� ~���oJrdeg�yv{��~B�?°Zqs���¿op~�~���¯bc���~�v(~�²�qs�d�d�����'qNv{��~B��o3q�}pfUoprd©y�zf��ºv(vp~�oJvp}{���d��f^�Bv(}pf��Br���}{f'egf'�=v�o¦~��qsvk��f^q�oJvkop~�egf�~�²¦vpbdf�oJf �Br�qs���¥vzx�qNvpvp}{��©�ryvpf�o'¯9dwf'���'f�°L� ~Beg��~B�df'�=v{owe�r�oJvk©;f�opf'��f^� vpf����d~sv�~��d��x!²®~�}Uv{bdf'��}k²®rd���ºv{��~B��qs����vzx©drdv�qs��op~�²®~B}vpb�f'��}kqs©������¥vzxuvp~¼��}p~N¬Z���yf�vpbdf�}{f �=rd��}{f^� �=r�qs���¥vzxB¯¶a#b�f'xue�r�oJvUvpbdf^��©�f�� ~�eg�;~Bopf^������oJr���b�qg¤#qËx¼v{b�qNvUv{bdf~N¬Bf'}�qs���;}{f �=rd��}{f'egf'�=v{o#q�}pf«�d}{~N¬Nqs©d��x¿egf v^¯a0~��dqNv{f�°=eg~BoJv(� ~Bei�;~���f'�=vQeg~Z�df'��oQf ty�d}{f^o{oQ�yf^��f^���yf^��� ��f^o3r�oJ���d�V���=vpf'}p²¾q��'f^o$v{b�qNv(�����'��r��yfU~�����xgoJxZ�=v{qB�ºv{���^qs��qBoJ�;f^� v{o

q����DvzxZ�d���d��¯U§QtZ�;f'}{��f'���'f����Ê� ~Bei�;~Bop���d�u� ~Beg�d��f't�oJ~�²Ávz¤¶q�}pf��'~�eg��~B�df'�=v�oUb�qBowopbd~N¤�Dvpb�qsv��yf^��f^���yf^��� ��f^okf tZvpf^����¤#qËx©;f'xB~�����vpbdf�oJf¶q�op��f��ºv{o^¯�Äï���yf'f��L°Nvp~k}pf�q�op~���q�©�~Bryv0�d}{~��;f'}pvp��f^o0~s²�vpbdf#� ~Bei�;~Bopf^��oJxyoJvpf'e¿o�²®}p~Be ~���q��Br�fQ��eg�d��f'egf^�Bv�qNv{��~B��o~�²�� ~�eg�;~��df^�=v{o^°=���=vpf^}J²¾qB� f^o3e�r�oJv(��}p~N¬Z���yfU���y²®~�}{e¿qNvp��~��!qs©;~�ryv(vpbdf�oJfk�d}p~B��f^}Jv{��f�o'¯Q´(~�eg�;~��df^�=v(eg~y�yf'��oQv{bdf'}{f ²®~B}pfkozv{}p��¬�f²®~B}Uqg¤¶qËxgv{~if'ty�d}pf�opoqi��qs}{��f�¬Nqs}{��f'vzx¼~s²$q�op��f��ºv{o^°y����� ��r��y���d�¿f tZv{}{qs±W²®rd���ºvp��~���qs�9~��df�o'¯a0~uf'tZ��}pf�opowvpbdf�oJfg�yf^��f^���yf'��� ��f^o^°L¤(fib�qˬ�f��d}p~B��~=oJf��Dvp~�e¿qs�Bf�� ~Beg��~B�df'�=v{o�� ~B�=vp}�q��ºvp±Àqˤ#qs}{f�� ���G°L©�ryvk²®~B}V»w©;´\vp~

²¾qB� f«vpb�f���b�qs����f'�d�Bf�°d� ~B�=vp}�q��ºv�o#e�r�oJvU©;fVf tZvpf^���yf^��op~ivp~¿����� ��r��yf�oJr���bDf't=v{}{qs±W²®r����ºv{��~B��qs�Lq�op�;f^�ºv�o'¯¶a#bd��oegf^qs��o���}{oJvU~s²q����9v{~������ ��r��yf«�df^¤E�'~����'f'�yv�o3v{~�Åïv�qs����Æ«qs©;~�ryv#f tZvp}�qN±G²®rd��� vp��~���q��LqNvJv{}p��©dryv{f^o¶~s²$oJ~�²Ávz¤¶q�}pf�qs���!�df^¤ �Z������o#~s²1�'~���oJvp}�qs���=v{o~N¬Bf'}¶vpbdf�oJf�qsvJv{}p��©dryv{f^o^¯³w²(�'~�rd}�opf�°L¤¶~�}{��b�q�o�©�f^f'�5�y~���f����Êv{bdfg��q�oJv�vp~��yf ���df¿� ~���ozv{}{q����=vkf'ty�d}pf�opop��~���ok~N¬�f^}�op��f�� ������Br�qs���¥vzx�qsvJvp}{��©dryvpf�o

q���� }pf�q�op~��Ñq�©�~Bryv¿vpb�f'eD¯EÏ�´´¶µ�qs��e¿o¿qNv¼©dr������y���d�Ç~N¬�f^}�v{bd��o¿©�~y�yxÑ~s²«�Z�d~N¤��f��y��fB¯�Â(rdvu�yf^op���B�d���d�ÇqÇoJr��^� f�opoJ²®rd��Bf'�df^}{q��y��q��d��r�q���f#��oQ�d~�v3� ~�� ���df^�iv{~V��o{oprdf^o¦~�² �Br�qs���¥vzxiqNvJv{}p��©dryv{f^oQq����¿� ~B��oJvp}�qs���Bv�o'¯1È«f'xi� ~���� f'�dv{o¦���¿��q��d��r�qs��f�yf�oJ�����q�}pf¼q�©�ozv{}{qB�ºv{��~B�?°1q��d�d�����^qNv{��~B�?°1�'~�eg�;~Bop�¥v{��~B�5q����Ço{� ~������d��egf���b�qs�d��opegoVvpb�qsv��d}{~N¬Z���yf¿�'��f�qs}�q����·��~N¤¶f'}p²®rd�(eif�qs��oVvp~�yf ���dfB°;����qB� f�°;��}{~�r��?°���bdf�����q����D}{f^q�op~���q�©�~Bryv��'~���oJvp}�qs���=v{oUqsv�qs�����Z�����dok~s²¦©d�����y���d�¼v{��egf�o�­W�yf^op���B�?°9� ~y�y���d��°�vpf�ozv{���d��°�yf^�d��~Nx=egf^�Bv�°y}pr��!v{��egfB°?¯�¯�¯Þ¹º¯3Ï�´´¶µÇq����y}pf�opopf^o(v{bd��oU©d}p~=q��!��b�qs����f^�d��fB¯$ÄÀv{o¶vpb�}pf^fVegqs�z~�}#��~=qs��o#qs}{fkv{~5e

hB¯��d}{~N¬Z���yfVegf�qs��ow²®~�}kf ty�d}{f^o{oJ���d�¿²®rd���ºvp��~���qs�$qs���Df't=v{}{qs±W²®r����ºv{��~B��qs�0}pf��Br���}{f'egf'�=v�owqs���D²®~�}��yf �������d�uvpbdf^��}«opf'e¿qs�=vp���'o^°q�o#¤¶f'���?q�o¶²®~B}UoJrd����~B}Jv{���d�iv{bdf'��}w�yf�� ~�eg�;~Bop�¥v{��~B�!~B�=vp~�vpbdf�q�}{��bd��vpf��ºv{rd}pfV�yf�oJ������f^�u²®~�}Uqs���d�����'qsvp��~���o&f�d¯��d}{~N¬Z���yf�egf^q���o¶vp~¿q�o{� f^}Jv�qs���uv{bdfV� ~B}p}{f^� vp�df�opo¶~s²1vpb�f�� ~�eg�;~Bop�¥v{��~B�u~�²$qgopf vU~s²$� ~Bei�;~���f'�=v{o&fdqs���?°��¯��d}{~N¬Z���yf$egf^q���o9v{~w��bdf^���kqNv�}{rd��vp��egf¦vpb�qsv0� ~Beg��~B�df'�=v{o�qs����v{bdfQrd���df'}{��xZ���d�}pr��y±Wv{��egfQopxyozv{f'e\eif^f v?v{bdf'��}��'~��=vp}�q�� vpf^�~�©d�����BqNv{��~B��o^¯a#bdfV}{f^oJv~s²1vpbd��o��q���f^}��oU~�}{�Bqs����Ð^f^�uqBo¶²®~�����~N¤Uo^¯QÃZf^� vp��~����i�d}{f^opf'�=v{o(v{bdf�� ~B��� f^�yvpr�qs�L��qs���do{�'q���f�²®~B}wÏ�´´¶µ5¤bd����f

ÃZf��ºv{��~B���!eg~Z�df'��owv{bdfg��f^�df'}�qs�1��q��d��r�qs��f�� ~���� f'�dv{o������ ��r��yf^�_���5Ï�´´¶µ qs���_f ty�d��qs����owvpbdfg�Bf'x��yf�oJ�����·�yf^�'��op��~B��o�qs���opf'e¿qs�=v{���U²®f^qNv{rd}{f^o(~s²?v{bdfk��qs����r�q���f�¯$ÃZf^� vp��~��!���d}{~N¬Z���yf�oQ�d}{~��B}{q�egei���d�Vf'tyq�eg�d��f�o'¯$lf^��qsvpf^�u¤(~B}p�gqs}{fUv{bdf'�!f tdqseg���df^�q����Dqi�'~����'��r�oJ��~��DoJr�eie¿q�}p��Ð'f�o#Ï�´´¶µ3É o�'rd}{}pf^�BvUqB��bd��f^¬�f^eif^�=v{o#qs���u²®ryv{rd}pfV¤¶~�}{�9¯

g ������2(���!/06���%Ç% ����)!�02(� �_�

Äï� vpbd��ogoJf��ºvp��~���°1¤¶fu���=vp}{~y�yr�� f�qs��� �yf ����fuv{bdf!�Bf'�df^}{q��(�'~����'f'�yv�o�v{b�qNvgoJrd}{}{~�rd���Çq���� �'~��=vp}{��©dryvpf¼vp~_vpbdf��yf^op���B� ~s²Ï�´´¶µ3°d�����yf'f��u²®~y�'r�oJ���d�g~��!vpb�~BopfV}pf^��qsvpf^�¼vp~¼�'~��=vp}�q�� v¶��qs�d�Br�qs�Bf^o¶�;f'}Uopf�¯

h�iUj k^l�mSnAoZprqKsut(vZp_w.x�y�z)w{z�vZpOz�l}|]w�m£ ~�����~N¤���d�Dq¼v{}{qB�y�¥v{��~B�Ê���·qsty��~Begqsvp����opf'e¿q��Bv{���^okq����ʲ®~�}{egq��¦oJ�;f^�'�����^qNv{��~B��o�~s²3�d}{~��B}{q�e¿o'°L»k©;´�qBopop~y� ��qNvpf�oa~4�"���@��S~ �V�v{~D�'��qBopopf^o�qs����egf v{bd~y�do����_vpbdfi²®~B}pe ~�²Qvpbd}{f'fgop��f�� �����i�=�����do�~�²9~�*�5�&�@��*���)�?�*e]������C�U�8�*���?�'°����4�4�¶qs���'�b�*�&�A~�*�����?�@�R�"�5�^¯´(~B��ozv{}{q����=v�oQqs}{f©�~Z~B��f�qs�¿f ty�d}{f^o{op��~B��o¦}{f'��qNvp���d�V¬Nqs��rdf�oQ~s²L����oJv{qs��� fU¬Nqs}{��qs©d��f^o$²®~B}Q���=¬Nq�}p��qs�=v{o^°���qs}�qsegf v{f'}�o¦qs���¿����oJv{q���� f¬Nqs}{��qs©d��f^o¶²®~B}�d}pf'±À�'~����d�¥v{��~B��o#q�o#¤¶f'���?q�oqs���9vpb�f^opfV�d��r�o#}pf�oJrd��v{o#~�²1egf'vpbd~y�do#²®~B}��~=ozv�� ~B���y��vp��~���o^¯

�J�4æC���4���

Page 7: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

� �����/-*:��4 �4-* 5=������K:;�*3 � �$-*3/�<=������������������$1<35�4:

a#bdf«�d~�vp��~���~s²$� ~��=v{}{qB�ºvozv{f'e¿o¶²®}p~Be�vpb�f�¬Z��oJ��~���~s²1�d}{f^� ~B���y��vp��~���o#qBo� ~����y�¥v{��~B��o(vp~i²®rd�������?©Zx¿vpbdf��^qs����f^}oJr���b!vpb�qNvv{bdf�'qs����f'f¶¤�����y}pf'vprd}{��}{f^oprd��v{o$opqsvp��oz²®xZ���d���¥v�o$��~=ozv�� ~����y�¥v{��~B��o^°ËvpbZr�o1f^oJv{q�©d����opbd�����ke�ryvpr�q��Z~�©d�����=qNv{��~B��o�©;f vz¤¶f'f^��v{bdf�'qs����f'}q����gvpb�fk�'q�����f'fB¯$Ãy��eg����q�}p��x�°Z� ��q�o{oQ���Z¬Ëq�}p��qs�=v�oQ��ei�;~BopfU~B©d�����Bqsvp��~���o3~��¿egf v{bd~y�do^¯$ª�f vpb�~Z��o3©;f'�B���d�����d��vpbdf^��}(f tyf^�'ryvp��~��u���q��u~�©d�zf^�ºv#ozv�qNv{fUvpb�qNvopqsvp��o ��f�oQv{bdfw���Z¬Nqs}{��q��Bv¶e�r�oJv(��f^qˬBfUv{bdfw~B©y�zf^� v¶���uqiozv�qNvpf�opqsvp��oz²®xZ���d����vqs�Bq����¿r���~B�¼vpf^}peg����qNv{��~B�?¯´(~B�Bv{}{qB�ºv�o0b�f'���g�df'¬�f^��~B��f^}{o1v{~«f ty�d}{f^o{o$f ty�d�����'�¥v{��xi� ~����y�¥v{��~B��o$rd���df'}Q¤bd����bi��~B}Jv{��~B��o$~s²L� ~y�yfU�^qs�i©�f�Br�qs}�qs�=vpf^f^��vp~

}{rd�u¤��vpb�~�ryv#f'}{}p~B}{o^¯0¶ryvqs��op~�°=����oJvp}{rdegf'�=v�qs��vp~�vpbdf«»w©9´½qs�d��}p~=q���b¿��o3v{bdf�}prd�d±Wv{��egf«��bdf^���Z���d��~s²1� ~��=v{}{qB�ºv{o^¯bc¶v¶��f^qBozvrd�=v{��� ��f'���g�yf'�d��~NxZegf'�=vQ~s²;vpbdfUq��d�d�����^qNv{��~B�?°s©dryv¶oJ~Beif'vp��egf^oQq���op~��drd}p���d�Vf'tZ����~B�¥v�qNvp��~���°�� ~B��ozv{}{q����=v�o¦qs}{f#��b�f^����f����drd}p���d��d}{~��B}{q�e f tyf^�'ryvp��~��?¯3´(~B�Bv{}{qB�ºv¶¬=��~���qNv{��~B��o(��rd���yf�egq����=v�qs���df'}�oQv{~N¤¶q�}{��o3©dr��Bo^°Zop����� f�¬Z��~B��qsvp��~��u~�²0q��d}pf�� ~B���y��vp��~��u��f^qB�dov{~¼©d��qsegfVvpb�f��'q�����f'}~�²1v{bdf�egf v{bd~y���yf v{f^� vp���d�¿vpb�f�¬Z��~B��qsvp��~��?°d¤b�����f�¬Z��~B��qsvp��~��D~s²Qqg�;~BoJv{�'~����y��vp��~��D~B}U~s²Qqs�D���Z¬Ëq�}p��qs�=v��f^qB�do�vp~�©d��qsegfivpb�f¼�'qs����f^�_eif'vpbd~y�·��v{opf'��²«­¾ei~y�yr���~�qD� ~B}p}{f^� v«q����5� ~�eg�d��f v{f¿�yf �����¥v{��~B�·~�²(¬Z��~���qNvp��~��5opf'e¿qs�=vp���'o^°�opf'f� �*�®¹º¯µ�f^o{o�� ~B��op���yf^}pf��5©dryv¿ozv{�����¶��~=opop��©���fB°Q� ~��=v{}{qB�ºv{o�qs}{fuq�o{opf'}pvp��~���oV��� v{bdf!opf'��oJf!~s²vpb�fueg~�}{f¼²®~B}pe¿qs�¶qNty��~�e¿qNv{���¼q��y±

�d}{~BqB��bdf^o^¯��XdUf^��� fB°y�¥v��o¶��~=opop��©���f�����e¿qs�Zx¿oJ��eg�d��f«�^q�opf^o3vp~g�d}{~N¬�fv{bdfV� ~B}p}{f^� vp�df�opo3~s²�v{bdfV� ~y�yf�¤�¥v{b!}{f'�=qs}��do¦v{~�v{bdf^opfqBopopf'}pvp��~���o^°L�G¯ fB¯9vpb�qsvVvpbdf¿� ~y�yfg���dbdf^}pf^�Bv{��x_opqsvp��o ��f�okvpbdf^e�¯¿ª�r���b_~�²3vpb�f¿��~N¤¶f'}«~s²#»w©9´ ����f�o«���·vpb���o«}{f'��qNv{��~B��oJb����Êvp~eg~�}{f�²®~B}pe¿q��0egf v{bd~y�do^°L¤�¥v{b�vpb�f�eg~svpvp~uvpb�qsv�¤b�qsv�xB~�r��^qs�d�d~�v���}p~N¬Bf«²®~�}{egq�����x�°9xB~�rÊ�^qs��¬Nqs�����dqNv{f�vpb�}p~Brd��b�v{f^oJvp���d�­¾~�}«}pr��d�d���d�=¹wvpb�fgq��d�d�����^qNv{��~B�ʤbd����f¿��bdf����Z���d�uvpbdf¿qBopopf'}pvp��~���o^¯VÄï�_vpb�qsvVopf'��oJfB°?»w©;´���o«~�²Ávpf^�·opf'f^�_q�o«q�oJf^eg�¥±G²®~�}{e¿qs�egf v{bd~y�!²®~�}f'��b�qs���'������v{bdf �=r�qs����vzx¼~s²¦oJ~�²Ávz¤¶q�}pfB¯

h�i?h ���9y��Un>wCs v��Wm l}x� ]n�z�l z�vZp9z�l�|]w�m! r�q�����vzx«~s²�opf'}{¬Z���'fk­ ! ~=Ãd¹?b�q�o1�Bq�����e�r���b�qsvJv{f'�=vp��~�������vpbdf ��f'����~�²��y��ozv{}p��©dryv{f^��e�rd��vp��egf^�y��qw¤b�f'}{f3��v¦�'~N¬�f^}{oLf�opopf'�=v{��q�����xv{bdf��d~�vp��~���~�²Qf'���y±Wv{~s±Àf'���D�Br�qs}�qs�=vpf^f^oqBopop~y� ��qNvpf��D¤�¥v{b�vpb�f�� ~Bege�rd�d���'qsvp��~���~�²Qe�rd��vp��egf^�y��qu�'~��=vpf^�Bv�oU~N¬Bf'}U�df'vz¤(~B}p�yoq����·vpbdf^��}i�d}{~y� f^o{op���d�D~B� � ~�eg�drdvp���d���d~y�yf�o\��h4�À¯[c � ~B��op���yf^}{q�©d��fgq�eg~�rd�=v�~�²#¤¶~�}{�Êb�q�o�©;f'f^� �y~B�df¿��� vpbd��o�q�}pf�q!vp~���=vp}{~Z�dr�� feg~y�yf'��oQq����gqs}���bd�¥v{f^� vprd}{f^o¦oprd�d�;~�}pvp���d�VoJr���b ! ~ZÃ��Br�qs}�qs�=v{f'f^o1���¿~�}��yf'}$v{~�oJr���f^}{opf^�yf¶v{}{qB�y�¥v{��~B��qs�y©;f^oJvJ±Àf ¨9~�}pvÄï|��df'vz¤(~B}p�yo^°(q����Ñvp~Çf'��qs©d��f�eg~�©d����f��'~�eg�dryv{���d� � "*�À¯�a#bd��ogv{}pf^���½b�q�og�;f'}�� ~B��qsvpf�� v{~ ozv�qs���dq�}{� qs}���bd��vpf��ºvpr�}pf�oi²®~�}~B��f^� �y��ozv{}p��©dryv{f^�Ç�d}{~y� f�opop������°1��qsegf'��x5a#Ä$#9c ��h�h4�#q����5eg~�}{f¼}pf�� f^�Bv{��xÇ´³�lUÂ�c ��h%""�À¯Êa#bd��o���qs}{}p~N¤Ì¬Z��op��~B�5~s² ! ~=Ã��ow�'rd}p}{f'�=v{��x!��f'��f'}�qs����Ð^f^�uvp~¼f't=v{}{qs±W²®r����ºv{��~B��qs�L�d}{~��;f'}pvp��f^oU~s²Q�y��ozv{}p��©dryv{f^��opxZoJvpf^e¿o � ��°Y�"�À°9q�o ! ~ZÃu©;f^�'~�egf^owoJrd©d�zf^�ºvwvp~}{f^opf^q�}{��b!����vpb�fVei���d�y��f'¤#qs}{f«� ~�ege�rd�d��vzx[��hË� �À¯

! ~ZÃg����� ��r��yf^o#¬Nq�}p��~�r�o(q�op��f��ºv�o'°y¤bd����bu¤¶fw��~N¤��yf ���dfk���Dq�¬Bf'}{xi�Bf'�df^}{q���e¿qs���df'}V­¾qB�dqs�dvpf^�¼²®}p~Beu��h4�G°�� "*�?qs���[��h�� �À°v{~�¤b�����b5¤¶f�}{f ²®f^}«vpbdfg}{f^q��df'}�²®~�}Veg~�}{fi���y²®~B}pe¿qsvp��~���¹ ¯ ! ~ZÃ��yf ���df�o6��&��@����('*)C��~ �@�R�"�Y�,+_~$-)�*��S~&�>�$� ���&�@�V~ ��~s²q!opxyozv{f'eD°qs¨;f��ºvp���d�!vpbdfi�;f'}�� f'��¬�f�� �=r�qs����vzx�~s²¦vpb�fi}{f^oprd��v{o^¯�ÃZr���b_��b�qs}�q��ºv{f'}{��oJvp���'owqs}{f�~s²Áv{f'�_~�}{�Bqs����Ð^f^�D���Bv{~/~�.�>��..�*�U�R��^°�opr���b·q�ov{��egf'�����df^o{o~�}}{f'����qs©d������vzx�¯

/ �1032\�C�Y�4.��52W�$������o3vpbdfU��f^� f�opo{qs}{x,�%)&�b�$� �"���U�8�*�¿qs���`~4�"���@�4�4+;vp~�f'��oprd}{f#vpb�qsv3v{bdfw�yf�oJ��}pf�� �=r�qs���¥vzxi~s²?opf'}{¬Z���'f�d}p~B�y±f^}Jv{��f�owqs}{f�qsvJv{q�����f^��qs����oJr�oJv{q�����f^�L¯ÄÀv«qs�d�d����f^oU©;~sv{b�vp~[~�"���V�;�6) ��)��Vqs�����2���<~U�4�"�>���;���>�$��S~&�V�8�*�5�^¯70��?�.�V�@~�egq���qs�Bf'egf'�=vqBoJ�;f^� v{o#}{f'��qNvpf�v{~¿�d}p~B��f^}Jv{��f�o#qs����}{f �=rd��}pf^eif^�=v{o(vpb�qsvU}pf^e¿qs�����'~���oJv{q��Bv¶vpb�}p~Brd��bd~BryvUoJ~Begf«qB�ºv{��¬Z��vzx�¯Qa#bdf^x¼����� ��r��yf�e�%8 Ô ¡19(:1¡B y�%9 Ø<; ¢ �df ���d��vp��~��D~�² ! ~=Ãu}{f �=rd��}pf^eif^�=v{o¶~�}U�^qs��q�©d������vp��f^o^°;1Ô>=�Ø �%9W y�%9 Ø<; ¢ }{f^qB��bd�����iq���q���}{f'f^�!oJ�;f^�'���;�'qNv{��~B�!©;f vz¤¶f'f^��qs���L��qs}pvp��f^o^° dÙ��?9W�^��9 Ø@; ¡ Ø<; �^� Ø �z¢ � ~Beg��qs}{��op~��!©�f'vz¤(f^f'��vpb�fV}pf��Br���}{f^� ! ~=Ã!qs���uvpbdf��^qs��q�©d������vzx¿vp~¿egf^f v#vpbdf^eD°�qs���� Ô � Ø �0�Ë¡ Ô � Ô � Ô �4Ad y�%9 Ø<; ¢ qs����~y�'qsvp��~��!~s²$}pf�oJ~Brd}{�'f^o¶oJ~iv{~¿f'��oprd}{fwv{bdfVegf'f v{�����¿~s²�v{bdf ! ~=Ãu}{f �=rd��}pf^eif^�=v{o^¯

BDC��Y�E2��V~�egq���qs�Bf'egf'�=vq�op��f��ºv�o#}pf^��qsvpf�vp~g}{f^op��~B��oJf�o¶vp~¿��b�q��d��f�o(����vpbdfVf^�Z¬=��}{~��degf'�=v�¯$a#b�f'x¼����� ��r��yf2e� Ø@; 9®� Ø �E9 ;�= ¢ eif�q�oprd}{���d��vpb�f ! ~=Ã!q��ºv{r�qs����x¼�d}{~N¬=���yf��L°8 Ø �(9W¡19 ;�= ¢ f'��oJrd}{���d�ivpb�qsvwqs���L��qs}pvp��f^oqB�ybdf'}{f�vp~ ! ~=Ã!� ~B�=vp}�q��ºv�o'°�  F9 ; � Ô>;   ; ¡ Ô ¢ eg~y�y�����'qsvp��~���~s²$oJxyoJvpf'e4��qs}�qsegf'vpf'}�o(vp~ge¿qs���=v{qs���!vpbdf ! ~ZÃ9°� Ô>;0Ô>=;Ø ��9¾ y��9 Ø@; ¢ eg~Z�d�����^qNv{��~B�!~�²0v{bdf ! ~=Ã!� ~B�Bv{}{qB�ºv�o'°yqs���

G Ú?ÛËå�éGÛ�åJàºá®ëIHÁÜÞæËîzöÞÜÞæËåzêUáWåJã�êËåzá9ß�ÜÞöÞösã�öÞÝGàQá¾åJîzà õ æËÜKJzå1éWÛËå0îJàºæ éWÜÞæ^çËç�÷ äsåïéÁßLåzåzæwéÁë^èËÜÞæ õ ã�æËêUîzàºæ'éWáWã�îzéWÜÞæ õ ò;Ú�Û�å$í9çËá¾á¾ëIHML�àpß?ã�á¾êkÜÞÝWàº÷àºáWè�ÛËÜÞÝG÷ã�îÀâ'æËàpß�öÞåzê õ åzÝ1éWÛËå¦ÝGÜÞ÷ÜÞö ã�á¾Ü éÁëäsåïéÁßLåzåJæ«éÁë^èËÜÞæ õ áWçËöÞåzÝ�à5NdèËá¾à õ áGã�÷÷ÜÞæ õ ö ã�æ õ çNã õ åzÝ$ã�æ�ê�ÜÞæ�N�åzáWåzæËîzåQáWç�öÞåJÝ�à5NdèËá¾åzêËÜÞîJã{éGå3öÞà õ ÜÞîºò<OÁæ�ã¶ÝGåzæËÝWåQPNèËá¾å$Hã�æËêièsàºÝ¾éGîzàºæËêËÜ éWÜÞàºæËÝ3ÜÞæ'éWá¾à^êËç�îJåwã�æ�å$R'éWåJæ�ÝGÜÞàºæ�éWàkéWÛËå#éÁë^èsåÝWë^ÝWéWåJ÷Eà5N9éWÛËåÛËàºÝWé3èËá¾à õ áWã�÷÷ÜÞæ õ ö ã�æ õ çNã õ åä'ë�èËá¾àpù^ÜÞêËÜÞæ õ éGÛËå�N�çËöÞö�èsàpßLåzáQà5NS á¾ÝWé(HÁàºáWê�åJá�öÞà õ ÜÞî9éGà¦ÝWèsåJîzÜ N¥ëQéGÛËå9éÁë^èsåzÝpò@T1ä'ù^ÜÞàºçËÝWö ëIP�÷àºáWåLèsàpß9åJáMN�çËöËéÁë�èså?ÝWë^ÝWéWåz÷ÝdÜÞæ3éWÛNã{é�öÞÜÞæËåLîzàºçËöÞê¶äså�ã�êËàºè�éWåzêUP'äËç�é�éGÛËåLݾéÀã{éWÜÞîLù åzáWÜ S îJã{éWÜÞàºæà5NdéÁë�èsåzÝ�ß9àºçËöÞê�ÜÞæËîzçËá�ã�N�àºá¾÷ÜÞêNã�äËöÞå1ÜÞæ�îJá¾åJã�ÝGåQÜÞæ�îzàº÷èËöÞå*R^Ü éÁëWV�ã�æ�ê«äså¦æËàºæ�HÁêËåzîzÜÞêNã�äËöÞå¦ÜÞæk÷Uã�æ'ëUîJã�ÝWåJÝ�Xïò@Y1äsíuêËà^åzÝ�æËà�é�ÝGàºö ù å$éWÛËÜÞÝ�èËáWàºä�öÞåJ÷ZPäËç�é3áWã{éGÛËåzá3áWåzÝWè�àºæ�êËÝ(éWà�Ü éQä ë�ÝGÜÞ÷èËö ë�êËå*N�åzá¾ÜÞæ õ éWÛËå#ù åzáWÜ S îJã{éWÜÞàºæiéWà�éGÛ�åáWçËæ%H�éGÜÞ÷åQP=èËáWåïé¾éÁë�ß9åJöÞö�öÞÜÞâºå#÷àºÝWé$èËáWà õ áWã�÷÷ÜÞæ õ ö ã�æ õ çNã õ åzÝ(éWÛNã{éêËå*N�åzáQã{é¦öÞåJã�ݾéQÝGàº÷åQà5N9éWÛËå¶éÁë^è�å3ù åzáWÜ S îJã{éWÜÞàºæËÝQéGàwáWç�æ�H�éWÜÞ÷å[V�å ò õ òBö ã{éWåJæ é¦éÁë^è�å(ÝWë^ÝWéWåz÷Ý\P=ã�ݦÜÞæ�ñ^îÀÛËåz÷åQPBß�ÛËÜÞîGÛ�ã�á¾å#ÜÞæËê�åJåzê3]^ç�Ü éGå(êËÜ ^�åJá¾åzæ'éN�á¾àº÷ ç�æ'éÁë^èsåJê�ÝWë^ÝWéWåJ÷Ý�Xïò

OM_J�`Oba

Page 8: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

������������� ������������ �

Interface

+enabled : Boolean

ParameterComponent Operation

CallRelationship

Entity

Type

0..* 1..*

requires

1..*provides

0..*

1..* contains

0..*

client

0..*

supplier

0..*

requires

+required0..* 0..*

+provided

relies-onreturns

0..*

is-of

0..*

0..*+provided

0..*+required

0..*

clientsupplier

0..*

0..*

requires

0..*

returns

0..*

is-of

contains1..*

0..*

+provided

0..*

relies-on

+required

+required0..*

0..*+provided

0..*

requires

1..*

0..* 1..*provides

£ ���Brd}pfgh2e¦§Q�=vp��vzxueg~y�yf'�

 dÙ1 �81�^ y��9 Ø@; ¢ eg~y�y�����'qsvp��~���o#����qs�d�d�����'qNv{��~B��o¶vp~ge¿qs���=v{q����!vpbdf ! ~ZÃ9¯

Â#q�op���'qs����x�° / �10�~�*���@��S~&�?�Vqs}{f�egf^q���oUv{~!op��f�� ��²®x ! ~=Ã�}{f �=rd��}pf^egf'�=v{okqs�����^qs��q�©d������vp��f^o^¯ka#bdf�oJfioJ�;f^�'���;�'qNv{��~B��o��'qs�v{bdf'�5oJf^}p¬Bf�qBok©�q�op��ok²®~�}«qs���$vpb�f�}{f'e¿qs���d���d��egq���qs�Bf'egf'�=v«q�op��f��ºv{o�~�² ! ~=Ã9°9�d}{~N¬Z���df^�Dv{b�qNv�� ~B�=vp}�q��ºv�okq�}pfioJr��¿�'��f^�=vp��x�S�"~\+8�*��.�V�V�*�˯Qa#bd~=oJf�q�}pf�vpb�f�� ~�}{fVq�op��f��ºv�o#vpb�qsvUe�r�oJvw©;f��yf^q��¥vU¤��vpb�����q ! ~=Ã!� ~B�Bv{}{qB�ºv��qs�d�Br�qs�Bf�°dqs���!����vpbd��oU��qs�;f'}¤¶f�¤�����0}pf�ozv{}p���ºvk~�rd}�oJf^��¬Bf^o#v{~¿vpb���ok¬Z��op��~B�?°;��f�qˬ=���d�¿~�vpbdf^}we¿qs��q���f^eif^�=vkq�op��f��ºv�ovp~uvpbdf�rd���yf^}p��xZ����� ! ~=Ã�qs}���bd��vpf��ºvpr�}pf©dr�����v�~N¬�f^}�oJxyoJvpf^e�qs���_��f vz¤¶~�}{�ÊoJf^}p¬Z��� f�o'¯Wdw~N¤(f^¬�f^}^°�qD¤���yf¿¬Nqs}{��f vzxÊ~�² 2\�C�Y�4.��52W�$���Z�b�4+��@~ �8�4�i�^qs�5©;f¼r�opf^�·���5v{bdf¬Nqs}{��~�r�o�qBoJ�;f^� v{o^¯ #wf'��~�vp��qNv{��~B�?°?²®~B}�f tdqseg�d��f�°$�'q��·v{qs�Bfg���=vp~_q��'�'~�rd�=vV~�©d�zf^�ºv{��¬Bfg²®rd��� vp��~���o�vpb�qsv��y��¨;f^}V²®}p~Be r�opf'}�vp~r�opf'}�¯¦a#bdfVopq�egfk�Z�����u~�²�¬Nqs}{��q���� f��'q��u©;f«opf'f^�!����~svpb�f'}#e¿qs��q���f'egf^�Bv#q�op��f��ºv�o(¤b�f'}{fwv{bdf'xu�^qs�!©�f«eg~�}{fk~B}(��f^o{o#oJf^f'�qBo#eif'v{q���f^¬�f'�?�df^� ��op��~B��o'¯ £ ryvprd}{fVf tZv{f'��op��~B��o#~s²¦Ï�´´¶µ5¤�����?����� ��r��yf�opr���bDq�op��f��ºv�o'¯

cw�¿��eg�;~�}pv{qs�=v¦��opoprdf���¼oJ�;f^�'�����^qNv{��~B�i��o$v{bdfUqs©d�����¥vzx�vp~Vf^oJv{q�©d����opbg}pf��Br���}{f'egf'�=v�o¦qs���g�'q���qs©������¥v{��f�o¦���gq��¿qs�d�d�����'qNv{��~B�y±~B}p��f'�=vpf��¼¤#qËx ��hË� �À¯¦|Q}p~B��}�qsegegf'}�o(�^qs���yf^q��L¤�¥v{b!egf v{}p���'oq��d�d����f��¼v{~g�d}p~B��}�qse¿o3q����!r�oJf^}#��f^}{�'f'�yv{��~B�?°y©dryvUe�r���b!��f^o{o¤��vpb¿opxZoJvpf^ei±G~B}p��f'�=vpf��Vegf^qBoJrd}{f^o^¯�Äz�df^qs����x�° ! ~=Ã�qs}���bd��vpf��ºvpr�}pf�o�f^��oJr�}pf(vpbdf��f^� f�opo{qs}{x�vp}�qs��op��qNvp��~���©�f'vz¤(f^f'�gqs�d�d�����'qNv{��~B�y±~B}p��f'�=vpf���� ~B��ozv{}{q����=v�owqs����oJxyoJvpf^e�±À~�}{��f'�=vpf��!egf�q�oprd}pf�o'¯w§¦ty�d����� ��v«eif���b�qs����ope¿ovp~��y~¼v{bd��owe¿qs���d�����!qs}{f�~�²Ávpf'�Ê�df'f��yf^�op����� fV��v#��oUq���eg~BoJv��eg�;~Bo{oJ��©d��f�vp~¿�'qsvpf'}#²®~B}Uqs���L��~=opop��©d��fVq��d�d�����^qNvp��~��d±G~B}p��f'�=vpf��¼���=vpf'�=v{��~B��o'¯�cw�d~sv{bdf'}��eg��~B}Jv�qs�=vUq�op��f��ºv��o«vpb�fuqs©d�����¥vzxÊvp~�r�opf �=r�qs���¥v�qNv{��¬Bfgq���� �=r�qs�=vp��v{qsvp��¬�f¿op��f�� �����'qsvp��~���o«��� q�oJf�qseg��f^o{o�²¾q�opbd��~B�?¯¿Äï�5²¾q�� v^°0��~Z~y�·op�;f^� �����^qN±v{��~B����q��d��r�q���f�o¶²®~�} ! ~ZÃ�oJbd~Brd����qs����~N¤\�d}{~���}�qsegegf'}�o(vp~¼}{f ���dfVvpb�f'��}w}{f �=rd��}pf^eif^�=v{oqs�����'qs��qs©d������vp��f^oU²®}p~Be bd����bd±G��f'¬Bf'�q��d�d�����^qNvp��~��d±G~B}p��f'�=vpf�� �=r�q�����v{qsvp��¬�fU�'~���oJvp}�qs���=v{o$v{~V��~N¤#±À��f^¬�f^��oJxyoJvpf^e�±À~�}{��f'�=vpf�� �=r�q��Bv{�¥v�qNv{��¬Bf~��df�o'¯$a#bd��oQ}{f ���df^egf'�=vQ�d}{~s±�'f^o{oqs©d������vzx¼��o�����yf'f��D� f'�=v{}{q���v{~¿}pf�qs�Lo{�'qs��fVoJ~�²Ávz¤¶q�}pf«�yf�oJ�����?¯

h�i�� t�v�� | vZp]l�p_w{z�v_p9z�l}|9w.m§¦tZv{}{qs±W²®rd���ºvp��~���qs�¦� ~B�Bv{}{qB�ºv�owqs}{f�egf�qs�=vwv{~!�drdv«~B©d�����=qNvp��~���oU~��Êvpbdfg� ~y�yfi~�}��d}{~N¬Z���yf���oJf^}p¬Z��� f�o'¯Va0~!�y~DoJ~�°;vpbdf^x�¤�����qsvJv{qB��b·qBopopf'}pvp��~���oUv{~Dop�;f^� �����if'�=v{�¥v{��f�o'¯�+_fg�d~N¤ ���=v{}p~y�yr��'f�v{bdf¿�df�� f^o{o{qs}{xD�'~����'f'�yv�o��d}p~N¬Z���y���d��q�oprd�¥v�qs©d��fgeg~Z�df'�¦~s²�d}{~��B}{q�e rd��~B�ʤbd����b5� ~��=v{}{qB�ºv{o��'q��Ê©;f¿�yf ����f^�L¯�a#b�fi�B~Bq��0~�²(�yf^op�����d���d�Dq!�'~��=vp}�q�� vk��qs�d�Br�qs�Bf�qs���d��xZ���d�!vp~Dqu¤���yf¬Nqs}{��f vzxg~s²�eg~y�yf^�����d��q����¼��}p~B��}�qsegeg���d�V��qs����r�q���f^o(oJr�����f�ozv�o¦v{~��d}{~N¬Z���dfU�¥v¤��vpb�q�}{f ²®f'}{f'��� fweg~y�yf^�9q����¿e¿qs���d�����Bo3vp~bd~=ozv�o#��q��d��r�qs��f�o#oJr���bDq�o¸kª�µQ°��BqˬNqiqs����´Íu¯a0~��df ���df¶v{bd��o$}{f ²®f^}pf^��� f¶eg~y�yf'�G°�oJv{qs���dqs}��do1������f#lUªD±J³�»k|1°Ba#Ä$#9c�°sq����¿´³�lUÂ�c�°Nq�o1¤¶f'���dq�o0vpbdf¸kª�µ�eif'v{q�ei~y�yf^�

q�}pfg��qsvprd}�qs�$��r����yf�o'¯¿Â¶ryvV���·�Bf'�df^}{q��W°?q���qs}{��fi�Zrde�©;f'}V~�²¶�y��ozv{�����ºv�f'�=v{�¥v{��f�oV�'qs�·©;f¼oJrd©d�zf^�ºv«v{~D�'~��=vp}�q�� v{o^¯gÏ�´´¶µ ��o����op�d��}{f^�¼²®}p~BeÌvpbdf�oJf«ozv�qs����qs}��¿}pf'²®f'}{f'���'fweg~y�yf'��o^°=©�ryv¶��o#� rd}{}{f'�=vp��xg}pf�ozv{}p���ºv{f^�gv{~�� ~B�=vp}�q��ºv�o3��ryv¶~B�u� ~Beg��~B�df'�=v{o^¯¦a#bdf²®~B����~N¤�����i�'~���op���df'}�o(~B�d��x¿vpbdf«�df�� f�opo{qs}{x¿� ~���� f'�dv{o¶vp~¿oprd�d�;~�}pv#vpbd��o� rd}{}{f'�=v¶¬Z��oJ��~���¯ £ ryvpr�}pfVf't=v{f'��op��~���o¶~s²¦Ï�´´¶µ·¤������'~N¬�f'}#eg~�}{f«~s²0vpbdfV�;~sv{f'�=vp��qs���'~��=vp}�q�� v{q�©d��f��d}{~��B}{q�eÌf^�=vp��vp��f^o^¯ÃZ~�²Ávz¤¶q�}pf�opxyozv{f'e¿o¼qs}{fD©drd���¥v!²®}p~Be ���4��. �$�,2 �$���@�?�@�R��^°�����Bf�� ��q�o{oJf�o'°¶egf vpb�~Z��o'°¶²®~�}{e¿qs�U��qs}�qsegf v{f'}�o'°¶ozv�qNvpf^egf'�=v{o^°

¬Nqs}{��qs©d��f^o^°�qs����op~¿~���q�����oJ~g²®~B}Jv{b?¯3|3}p~B��}�qseÒf^�Bv{�¥v{��f�oUb�qˬBf«egq��d��²®f^oJv{qNv{��~B��oUqsvw}pr��y±Wv{��egf«v{b�qNvw¤¶fV¤������vpbdf^}pf'²®~�}{f��'qs�����)C�Y���@��2W�X�$���@�?�@�R��^¯¼|Q}{~��B}{q�e f'�=vp��vp��f^oV~B©�f^x_q +�� 'V�"~$C�~\+R��oJ�;f^�'���;�ivp~Df^qB��b_�Z�����·~s²#f'�=vp��vzx�¯ua#b�f¿����²®f^�'xZ�'��f¿~�²#q��_f^�=vp��vzx

�J�4æC���4���

Page 9: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

" �����/-*:��4 �4-* 5=������K:;�*3 � �$-*3/�<=������������������$1<35�4:

f'tZ��}pf�opopf^okoJf��Br�f'���'f^ok~s²Qf'¬Bf'�=v{okqs���_ozv�qNv{f^ov{bd}{~�rd�Bb�¤bd����b�vpbd��o�f'�=vp��vzx�qs�����¥v�ok}{rd�y±Gvp��egf�e¿qs���¥²®f�ozv�qNvp��~���ok�^qs��f^¬�~���¬�f~N¬Bf'}«vp��egf�¯ £ ~�}Vf'tyq�eg�d��fB°�~B©y�zf^� v{o�q�}pf¿� }{f^qsvpf��L°?���d�¥v{��q�����Ð'f��L°1}pf^��f�qNvpf��y��xÊq�� vp��¬Ëqsvpf��_©Zx_eif�opo{qs�Bf^o^°?qs���_v{bdf'�Ç�=qs}{©�qs�Bf�'~�����f��ºvpf��5¤bdf'� �d~���~��d�Bf'}V�df^f^�yf��L¯�ª�f v{bd~y�doiqs}{f¿}pf^��f�qNvpf��y��x_q�� vp��¬NqNvpf��L°¦ozv�qs}pvpf��L°$f tyf^�'ryvpf��L°1opr�op��f^���yf��L°¦}pf�oJr�eif��L°v{f'}{ei����qsvpf^�?°d}pf'vprd}{�df��¼²®}{~�eD¯´(~Bei�;~���f'�=v{o^°Nq�o0¤(f¶b�qˬ�f(oJf^f'�?°sq�}pfQ~B��q��=rdf(��eg�d��f'egf^�Bv�qNv{��~B��o�~�²d²®rd��� vp��~���q�����vzxV~s¨9f'}{���d�wopf'}{¬=��� f�oLv{bd}p~Brd��b�����2�"�V�S� �

�����I�$��'@�S~4�������¬�f^�uv{b�qNvU~�vpbdf^}UoJf^}p¬Z��� f�oqs}{fk²®r�}p�d��opbdf^�!vp~gv{bdf'e vpbd}{~�r���b �����)C�;�4� �����)�>�$��'@�S~4��,� � �À¯3Äï�=v{f'}p²¾q�� f�oqs}{fVoJf'v{o#~s²�<� ��$���@�R�"�5�^°;vpbdf^egopf'��¬�f�ok�df ���df���©Zx�q\�)�E2W�Ë°?qW��*� )C� � ��C2�b�¿qs���Êq!����ozv«~s²J���*��E2W�"�>�$�$�V¤�¥v{b�v{bdf'��}«}pf�oJ�;f^� vp��¬�f�vzxZ�;f^o^¯´(~Bei�;~���f'�=v{o¶e¿qËx¿~s¨9f'}¶vpb�f«o{qsegf���~B�����'q��;opf'}{¬Z���'fkr�op���d�i�d�¥¨9f'}{f'�=vUoJr�©�oJf'v{o¶~s²1�¥v�o¶�d}p~N¬Z���yf^�u���=v{f'}p²¾q�� f�o'°Zf�q���b¼~B�df«r�oJ���d���v{o¿~N¤�½oprd©�opf v¼~s²«}{f �=rd��}pf�� ���Bv{f'}p²¾q��'f^o^¯^c �yf'�;f'���df'���'f�}pf^��qsvp��~���opbd���?°(�^qs����f�������������� ��·���½~�rd}¿f^�Bv{�¥vzxÑeg~Z�df'�G°(��of�ozv�qs©d����opbdf��Ñ©;f vz¤¶f'f^�½�d}p~N¬Z���yf^�Ñ���Bv{f'}p²¾q��'f^o¿qs���Ñ��v{o¼}pf��Br���}{f^�Ñ~��df�o'¯Ea#bdf�oJf^e¿qs�=vp���'og~�²kv{bd��o¼}pf^��qsvp��~���opbd���Ñ��ogvpb�qNv!q�d}{~N¬Z���df^�g���Bv{f'}p²¾q��'fU��o3f'��q�©d��f^�¿��²�qs����~�²L�¥v�o3}{f �=rd��}pf��g���=v{f'}p²¾q�� fkqs}{ff'��q�©d��f��¿©Zxiq�� ~B�d�df^� vp��~��gv{~Vvpbdfk�d}{~N¬=���yf��g���=vpf^}J²¾qB� f~�²$op~�egf«~sv{bdf'}U�'~�eg��~B�df'�=v#vpb�}p~Brd��bDqg�'qs���L}{f'��qNvp��~���oJbd���?¯

cw��©;f'��v�~s²Ávpf^���d~�v�f'ty�d����� ��vp��x�egf'�=vp��~���f^�L°�� ~�eg�;~��df^�=v{o�~�©;f'x vp~ ~�E2a� �*�)�$��� 2\���S�Q+��^°w¤b�����b\�yf ����fÊv{bdf·opf vD~s²�'~�eg��~B�df'�=v�vzx=�;f^o^°1vpbdf^��}i���Bv{f'}p²¾q��'f^o�q����5vpb�f'��}�qs����~N¤(f��_��qNvJv{f'}{��o�~s²���=v{f'}�q��ºv{��~B�?¯�� �42a�b�"�)����D'8�$�,2W��� �"���S�gq�}pf¿v{bdf}{rd�y±Gvp��egf_opxZoJvpf^e¿ou�d}{~N¬Z���d���d�5v{bdf·�df^�'f^o{opq�}px oJf^}p¬Z��� f^o¿vp~Ñoprd�d�;~�}pv�q�����f^�y²®~�}�� fÊ�'~�eg�;~��df^�Bv�eg~Z�df'��o'¯Ì´(~Beg��~B�df'�=v²®}�qsegf'¤¶~�}{�yoVb�qˬBf¼��eg�d��f'egf^�Bv�qNv{��~B��o�~N¬Bf'}i�y�¥¨9f'}{f'�=v �6+ ���('V�*�\2X�^°Qqs���Çf^¬�f^�Bv{r�qs����x_}{rd� ~B� oJ�;f^�'���;� -Y�C�<���b�C��N°0f�q���bÇ~s²¤bd����b��'q�}p}{xZ���d���¥v�o~N¤�D� ~��=v{}p��©dryv{��~B�uv{~�v{bdfV~N¬�f^}{q����9f't=v{}{qs±W²®r����ºv{��~B��qs�9�d}{~��;f'}pvp��f^o#~�²�vpb�fV¤bd~���fVqs�d�d�����'qNv{��~B��o^¯

cw�d�d�����^qNvp��~���o�q�}pf!©drd���¥vivpbd}{~�r���b{��&��6+��V~U�?���*����������. ~�²w� ~�eg�;~��df^�=v{o^°¦�W¯ f�¯K~$�,+ +K�4�5+8�.�@�R�"�Y� -�� ���¿�'~��d�df��ºv{���d�_}pf��=rd��}{f^����=vpf'}p²¾q��'f^o(~s²�op~�egfw�'~�eg��~B�df'�=v�oQv{~\~�*� 'V�"��2\�*���1�d}p~N¬Z���yf^�g���=vpf^}J²¾qB� f^o3~s²?~�vpbdf^}{o^¯¦´(~B�y²®~�}{e¿qs���'fU���u� rd}{}{f'�=v¶�'~�eg��~B�df'�=veg~y�yf'��o¦~�²Ávpf'�i}{f^�yr��'f^o1v{~«opxZ�=v{q�� vp���#� ~��d²®~�}{egq���� f¶~s²9oJ������qNvpr�}pf�o1q�����vzxZ��f�o'°s¤b�����f#vpbdfU�'~�eg�;~��df^�Bv¦eg~y�yf'�y��v{opf'��²9��eg�d����� ±��vp��xi�^qNv{f'}�o1²®~�}¦e¿qs�Zx��df'�;f'���yf^��� ��f^oQ©=x���eg�;~Bop�����V�¥v�o¦~N¤�g}prd��f^o^¯�§QtZ������� ��v3©d�����y���d����oQqs��~svpb�f'}¦¬�f^}px���eg�;~�}pv{qs�=vQ� ~B��� f^�yv���Ê~Brd}k�'~��=vpf't=v�°Lq�o ! ~ZÃD��ow~�²Ávpf'�Ê}pf�� ~��B�d��Ð'f^��qBokq��Êq�op�;f^�ºv�~s²Q©d�����y���d�(��hË�Z°?� �G¯�´(~����df^� vp���d�u~B}w©d�����y���d�D� ~�eg�;~��df^�=v{o�^qs�u~y�^� rd}qNvopf'¬�f^}{q��;�d�¥¨9f'}{f'�=v��~B���=v�o(���!vpbdf^��}#���¥²®f'vp��eif2eQqs�d�������'qsvp��~��!�df^op���B�¼vp��egf�°d�'~Z�d���d��vp��egf�°d�yf^�d��~Nx=egf^�Bv¶vp��egf«~�}f^¬�f'�¿}{rd�y±Gvp��egf�­®¤bdf^�uqs���d�����'qsvp��~���o3qs}{f#�dx=��qseg���^qs����x�}pf�� ~B� ����r�}pf���¹º°B¤�¥v{bd���¿¤b�����b¿~B�dfU�'q��¼qs��oJ~V�y��ozv{������rd��oJb¿©������d���d�=ov{b�qNvQ��q�oJv¦vpbd}{~�r���bd~Bryv0v{bdfUf'tZf�� ryv{��~B�?°N²®}{~�eY©������d���d�=o$vpb�qNv3�'q���©;f}{f^�yf ���df^�i~y�'�^q�op��~B��qs����x«q�����²®}p~BeY©d�����y���d�Bo¦vpb�qsv3�'qs�©;f��y~���fV~��d��x¿²®~�}~B�dfV�'q����?q����!vpbdf^��¬Nq��d��opb?¯¦Â¶�����y�����gvp��eif�oqs}{fV� }{r�� ��qs�9v{~�v{bdf�opf'e¿qs�=vp���'o#~�²1�'~��=vp}�q�� v#f^�y²®~�}�� f^egf'�=v^¯a#bdf�����r�}pf�hk�d}{f^opf'�=v{oQvpbdfVÏ�´´¶µ�f^�Bv{�¥vzxgeg~y�yf'�9q�o(q�¸kª�µÊ�'��qBopo(�y��q���}�qse ²®~�}¶f'�=vp��vp��f^o(rd�;~��¼¤b�����bu�'~��=vp}�q�� v{o(�'qs�

�'rd}p}{f'�=v{��xD©;fg�df ���df��L¯6c � ~Beg��~B�df'�=vk��}p~N¬Z���yf^ok~��dfi~�}�eg~�}{f����=vpf^}J²¾qB� f^o^°Lqs���_qs��oJ~!}pf��=rd��}{f^ok~���f�~�}«eg~�}{f����=vpf^}J²¾qB� f^o^¯§3qB��b��d}{~N¬Z���yf������=vpf^}J²¾qB� f�e¿qËx�}pf^��x�~���quoJrd©�oJf'vk~s²$v{bdf��'~�eg��~B�df'�=v�}pf��Br���}{f^�����Bv{f'}p²¾q��'f^o^¯]cU�����=vpf'}p²¾q��'f�� ~B�=v{qs����ow~��df~B}�eg~�}{f¿~��;f'}�qNv{��~B��o'°1¤bd����bÇ���5v{rd}{� }pf��=rd��}{f^o«��qs}�qsegf v{f'}�o'¯�´(~�eg�;~��df^�Bv�o���q�}Jv{���'����qNvpfu��� �^qs���3}{f'��qNvp��~���oJbd����o¼­���������� ���������� ����! "�!#�¹1©Zx¿©�f^���d�gf^�¥v{bdf'}#v{bdf�oJr��d�d����f^}¶~B}� ����f^�BvU~�²0op~�egf«~��;f'}�qNvp��~��0­¾o�¹º¯�c �'qs���L}{f'��qNvp��~���oJbd���¼v{bdf'}{f ²®~B}pf������d�yoq}{f �=rd��}pf��u���=vpf^}J²¾qB� f«~s²$oJ~BeifV�'����f'�=vw� ~Beg��~B�df'�=v#vp~¼qi�d}{~N¬Z���yf��¼���=vpf'}p²¾q��'f«~s²¦oJ~BeifVoprd�d�d����f'}U� ~Beg��~B�df'�=v^¯a#bd��okei~y�yf^�0~�²3� ~B�Bv{}{qB�ºv�qs©d��f�f'�=v{�¥v{��f�ow��okq�©�oJvp}�q��ºv�oJ����� f��¥vV�y~Zf^ok�d~�v��yf^��f^����~B��qs�ZxD��qs}pvp��� rd��qs}wv{q�}p�Bf vw��qs�d�Br�qs�Bf�¯

a0~�� ~B�d�df��ºv3��vQvp~�q«����¬�f'�¿�'~��=vpf't=v�°�¤¶fU¤¶~�rd���i�df'f��ivp~��yf ���dfU©������d���d�=o¦²®}{~�eÌ~�rd}(qs©�oJvp}�q�� vQ�d~sv{��~B��o$vp~�� ~���� }{f vpf~B�df^oQ���v{bd��ov{qs}{��f'v#�'~��=vpf'tZv^¯ £ ~B}¶����oJv{q���� fB°y¤(fV� ~Brd���¼f'e�©�f��¼v{bd��oeg~Z�df'�L���Bv{~�v{bdf�¸wªÊµ_egf'v{qN±Àeg~y�yf'�G°yr�op���d�g¸wªÊµ5f tZvpf^��oJ��~��egf^��b�qs�d��oJe¿o�­¾�W¯ f�¯Ã=v{f'}{f'~svzxZ�;f^o�¹(vp~u�'~��d��f^�ºvU��vUv{~¿f ty��oJvp���d�¼egf'v{qN±Àeg~y�yf'���'��qBopopf^oV­Wq�� vpr�q�����x�°d¤¶f���bd~=oJf�v{bdf�� ��q�o{o��q�egf^o²®}{~�e vpbdfV¸wªÊµ ´(~�}{fkv{~gegq���f�vpb���oU�'~��d��f^�ºv{��~B�!��qs}pvp��� rd��qs}{��x¿f�q�opx¼���uv{bdf��'qBoJf«~s²¦¸wªÊµ0¹º¯

h�i%$ t�vZp9m2w.x�y�n�p_w |9x5v o x�y � � n�p]o z�vZp9z�l�|]w�ma0~¼�d}{~N¬Z���yf«egf^q���o#²®~B}wq�o{� f^}Jv�qs���d������v{bdf��'~�}{}pf��ºvp��f^o{o(~�²Q� ~�eg�;~��df^�=vw� ~�eg�;~Bop�¥v{��~B��o¤��vpb�}{f'�=qs}��do(vp~¿f tZv{}{qs±W²®rd���ºvp��~���qs�}{f �=rd��}pf^egf'�=v{o^°BqV�'~��=vp}�q�� v$��qs����r�q���f#e�r�oJv(�yf ���dfwq�~4�"� 'V�*�\2\�C��~�w}{f'��qNvp��~��i©;f vz¤¶f'f'�¿��}p~N¬Z���yf^�gqs����}{f �=rd��}{f^�g� ~B�Bv{}{qB�ºv�o'¯´(~B�y²®~�}{e¿qs���'f���oUq�����eg��~B}Jv�qs�=vU��f^�df'}�qs�L�'~����'f'�yvwop����� fV��vwf'��q�©d��f^o¶vpb�f�� ~Bei��qs}{��op~��!~s²¦� ~��=v{}{qB�ºv{o#©�q�opf^��~��D� ~B��ozv{}{q����=vo{qNv{��oJ²¾q�� vp��~���}{qsvpbdf^}(v{b�qs�Degf'}{f'��x¼~B�!f��Br�qs���¥vzx¼©;f vz¤¶f'f^��oJ�;f^�'������¬Nqs��rdf�o ��h��"�À¯´(~B��ozv{}{q����=v�o{qNv{��oJ²¾q�� vp��~��¿­®~N¬Bf'}?���=vpf'�Bf'}�oL~�}�}pf�qs��o{¹9b�q�oL©;f'f^��ozv{r��y��f^��²®~B}0�yf��'q��df^o?���«vpb�f3e¿qNv{bdf'e¿qNv{���^qs�s��}p~B��}�qsegeg���d�

q�����~B��f^}{qsvp��~���}{f^opf^qs}���b�� ~Bege�rd�d��vzx�¯Vª�~B}pf�}pf�� f^�Bv{��xB°�v{bdfg� ~���ozv{}{q����=vk��}p~B��}�qsegeg���d�¿��qs}�q��y����e b�q�o�©;f'f^�_�yf^¬�f'��~��;f^�¤��vpb!vpbdf«�B~Bqs�;v{~iop~���¬�fk�d}p~B��}�qsegeg�������d}{~�©d��f'e¿o(©Zx¼egf'}{f'��x¼ozv�qNvp���d�`HJ��-C=¶�'~���oJvp}�qs���=v{o¶oJ~B��ryv{��~B��o¶e�r�oJvopqsvp��oz²®xB°dqs���¼vp~��f^qˬBfkv{~ivpbdfVrd���yf'}{��xZ���d�g��q��d��r�qs��f���ei����f^eif^�=v{qNv{��~B�uv{bdf,���CH�v{bdf^opfVoJ~B��rdvp��~���o�^qs��©�f��'~�eg�dryv{f^�L¯´(~B��ozv{}{q����=vV�d}{~��B}{q�eieg���d�u��qs����r�q���f^o�b�qˬBfivz¤(~De¿qN�z~B}V��qs}pv{o&e�qDoJf'v�~s²#�d}p~B��}�qsegeg�������'~���oJvp}{r��ºv�oVqs����~N¤���d���d}{~s±

�B}{q�eiegf^}{okvp~��df ���df¼q����·q��d�5� ~B��oJvp}�qs���Bv�okvp~�op~D�^qs����f�� ~4�"�5�&�@��*����� �<�>�"�4��^°?qs���{~�*�5�&�@��*���)����4+?�"�$�$��vp~�oJ��eg�d���¥²®x·qs���������op~���ryv{��~B��oozv�qNv{��oJ²®xZ���d�iv{bdf�oJf'vU~s²$� ~��=v{}{q����=v{o���h&�"�À¯´(~B��ozv{}{q����=v3op~���¬�f^}{o¦q�}pfU�yf ���df��g²®~�}3op�;f^� �����a�S�42\�*���5�_�E' ~�42a��)5�?�.�V�8�*�¼qs���gf'ty�d}pf�opop��©d��f�~4�"�5�&�@��*�����V�^¯ £ ~�}3f'tdqseg�d��f�°

��²0v{bdfV�y~�e¿q�������o¶v{bdf«}pf�qs�9�Zrde�©;f'}�o#qs����� ~B��oJvp}�qs���Bv�o#�'qs�!r�opfkv{bdf«r�opr�qs�?q�}p��vpbdegf'vp���k~B��f^}{qsvp~B}{o'&�°)( qs���!�'~�eg��qs}{��oJ~B�~B��f^}{qsvp~�}�o+*�°-,�qs����.V°Lv{bdf'�·¤¶fi~B©yv{q����Êvpbdf¼�d~�e¿qs���Ê~�²¶qs}{��vpbdegf v{���i~N¬Bf'}�}pf�qs�$�Zrde�©;f'}�o'°L��~svpf��0/¶¯DÄÀ²(¤¶fg~�eg��v�v{bdf~B��f^}{qsvp~�}1(°�v{bdf'� ¤¶f¼�Bf vVvpb�f!�y~Begq����Ç~�²�����df^q�}�qs}{��vpbdegf v{���¼~N¬�f'}V}{f^q��3�Zrde�©�f^}{o^°0��~svpf��2/43�576Q°$q����5��²U¤(f¼~Beg�¥v�v{bdf~B��f^}{qsvp~�}�o8,�qs���9.V°1¤(fu~�©yv�qs���_v{bdfu�y~Be¿qs���Ç~s²#�����df^q�}�f �=r�qsvp��~���o�~N¬�f'}V}{f^q��Q�Zrde�©;f'}�oV�d~�vpf��2/ 3576�:<;=6 ¯�´(~B��ozv{}{q����=v

OM_J�`Oba

Page 10: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

������������� ������������ �

QualityAttribute

#name

+evalOn(e:Event)

Unit

+comparableTo(aUnit:Unit) : Boolean

BasicUnit

-power : int-name : String

+convertsToStandard() : Float

QualityAttributeType

ConstraintDomain

QoSType

#name : String

+conformsTo(qt:QoSType) : Boolean

Real FiniteDomain FiniteSet

BoolRealArith RealLin

Entity

ConstraintExp

see the contract model

see the entity model

Type

see entitymodel

is-defined-by1..* 0..*

expressed-in

0..10..*

0..1

0..*element-of

0..* is-of

0..*

qualifies

1..*

value-of

0..*

0..*0..*extends

1..* 0..*is-defined-by

0..*

expressed-in

0..1

£ ����r�}pf��.e c¶vpvp}{��©�ryvpfVeg~y�yf'�

op~���¬�f^}{o«b�qˬBf¿©�f^f'� �yf^¬�f^��~B��f��·²®~�}�opf'¬Bf'}�qs�Q�y~Begq�����o«vp~Ê��qNvpfB°$�����'��r��y�����������df�qs}�q���� �Br�q��y}�qNv{���¿q�}p��vpbdegf'vp���g²®~�}�}{f^q���o^°v{f'}{ego¶qs���¿}{qsvp��~���q��yvp}{f'f�o'°����d��vpf«�y~Begq�����o'°ZoJf^eg�¥±À}p���d�=oU­®����� ��r��y���d�i©�~Z~B��f�qs��o^°=q�������d��vpf«opf v{o(¤��vpb��Ê�'~���oJvp}�qs���=v{o�¹º°Bf v{��¯a#bdfk� ~���ozv{}{q����=v3op~���¬�f'}3r�oJf�oQqs�¼qsty��~Begqsvp��Ð^qsvp��~��g~s²Q­¾op~�egf˹$�d}{~��;f'}pvp��f^o¦~�²;v{bdfk�d~�e¿qs���¼qs���g����ei��v{qsvp��~���o3~��gv{bdfw� ��q�o{o

~�²1f'tZ��}pf�opop��©���f«� ~B��ozv{}{q����=v�o3v{~¿��eg�d��f'egf^�Bvv{bdf«vz¤¶~�²®~B����~N¤���d��v{f^oJv{o&e� ~4�"�5�U� �<�>�$��~ C5~B}]� ���@� ���Y��*��+;�?��C?°=�G¯ f�¯yv{bdf«²¾q�� vvpb�qsvwqiopf v~�²$�'~���oJvp}�qs���=v{o¶b�q�oqsv��f�q�oJvU~��df�²®f^qBoJ��©d��fVoJ~B��ryv{��~B�}f� ��2a�6+��@~�.�@�R�"�!~�}9�$���I�*��+ 2W�$���p°=�G¯ f�¯Zvpb�fw²¾qB�ºv#vpb�qsv#qi� ~B��oJvp}�qs���Bv¶��o¶��eg�d����f^�!©Zx¼qs�d~�vpbdf^}#~��df�qs���uvpbZr�o#�'q��u©;fk��f'����f^� vpf��L¯a0~��Bf vpb�f'}¤��vpb�eg~�}{f�oJ�;f^�'���;�V~��;f'}�qNv{��~B��o#~���� ~B��oJvp}�qs���Bv�o'°dop~���¬�f^}{o#��}p~y� f^f^��©Zx!op��eg�d����²®x=���d�¿v{bdf�opf vU~�²¦�'~���oJvp}�qs���=v{o

­W�yf'��f v{���d����eg�d����f��Ç� ~���ozv{}{q����=v{o«q����_�'~�e�©d�������d���'~���oJvp}�qs���=v{o�¹kq����Êvpbdf^�·©Zx_f'�Zrdegf'}�qNv{���d��v{bdf¼oJ~B��rdvp��~���o«~B}�}{f'�;~�}pvp���d�rd��opqsvp��o ��q�©d������vzx�¯´(~B��ozv{}{q����=vk�d~�e¿qs����owq�����op~���¬�f^}{o��}p~N¬Z���yf�qs��f'td� f'����f'�=vk�Bf'�df^}{q��L²®~�rd���dqNv{��~B��²®~�}wvpbdfgoJf^��f��ºv{��~B��~s²3q�o{opf'}pvp��~���o~N¬Bf'}

f't=v{}{qs±W²®r����ºv{��~B��qs�1�d}{~��;f'}pvp��f^oUf'ty�d}pf�opop��©d��f����·� ~B�Bv{}{qB�ºv�owqs����²®~�}kvpb�fi�yf ���d��vp��~��_~s²¦vpb�fiopf'e¿qs�=v{���^ow~�²(� ~B�y²®~�}{e¿qs���'f�©�f'±vz¤¶f'f^�½�'~��=vp}�q�� v{o^¯�ª�~�}{f'~N¬Bf'}�°3� ~B��ozv{}{q����=v¼op��eg�d�����;�'qNv{��~B� �^qs��qs��op~·©;f�r�opf^�Ñvp~ opxZ�=vpbdf�oJ��Ð'fD~N¬�f^}{q����#}{f �=rd��}pf^egf'�=v{oi~s²opxyozv{f'e¿o¼q�o¼x�f v¿v{~Ç©�f_opqsvp��o ��f��½� ~���ozv{}{q����=v{oi~B}¿vp~Ç�d}{~N¬Z���df�©;~�r����dog²®~B}¿vpbdfÊ�df'�B~Z�'��qsvp��~�� ~s²Vqs�d��}p~B�d}p��qNv{fD��f^¬�f'��og~s²! ~ZÃ9¯3a#bd��o¼�'q��Ñ©;fÊ�y~B�df�qNv¼©d�����y���d��±Wv{��egf�©Zx �d}{~���qs�Bqsvp���d�5qˬËq�����qs©���f�}pf�oJ~Brd}�� fD��f^¬�f^��oiv{~N¤¶q�}{�dog�'~��=vp}�q�� v{oi©�f'vz¤(f^f'��'~�eg��~B�df'�=v�o(~B}(©Zxg}{f vp}{~s±À�d}{~���q��Bqsvp���d�V� ~��=v{}{qB�ºv(}{f �=rd��}{f'egf'�=v{o(~��=v{~�vpb�fkb�q�}{�d¤¶q�}pfU���u~B}{�df'}(vp~��d��egf'��oJ��~��uvpbdf�~N¬�f^}{q����b�q�}{�d¤¶q�}pf��Nop~s²Ávz¤#qs}{fUoJxyoJvpf'e4~�}¶vp~¿�;f'}p²®~�}{e qB�yeg��o{oJ��~���� ~B�Bv{}p~B�?qs���!}{f^op~�rd}�� f«qs����~y�^qNvp��~���¯

�J�4æC���4���

Page 11: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

� �����/-*:��4 �4-* 5=������K:;�*3 � �$-*3/�<=������������������$1<35�4:

� ������� )���� ���

Ï���¬�f^�!v{bdf�qs©;~N¬�f«� ~B��� f^�yvpr�qs�L��qs���do{�'q���fB°y¤(f«�d~N¤E����oJvvpbdfV�Bf'x¼� ~B��� f^�yv{owoJrd����~B}Jv{f^�!©=x�Ï�´´¶µQ¯

��iUj � p_wSx5v��[�9z)w�nAv_p v ��� �9y ��n>w�s yJwSw.x5n�q[� w.l�m»k©;´ ���Z¬B~���¬�f^o1f��Br����d���d��q«�d}{~��B}{q�e�¤�¥v{b¼q�o{oJf^}Jv{��~B��o0vpb�qsv(�'q��g©�ff^�¥v{bdf'}3oJv{qsvp���'q�����x��d}{~N¬�f���~B}3�yxZ��qseg���'q�����x�eg~��d��vp~B}pf��L¯a0~�oprd�d�;~�}pvwv{b�qNv�°?� ~B��� f^�yv{ok~s² ! ~ZÃDe�r�ozv�©�f¿qs���d����f^��vp~��d}p~B��}�qse4f'�=vp��vp��f^o«qs���Êqs�_qs�d�d}{~���}p��qNv{f�q�o{oJf^}Jv{��~B����q��d��r�qs��fe�r�ozvU©;f��yf ���df^�!v{~i��}p~N¬Z���yfVq�eg~y�yf^�L²®~�} ! ~Züop��f�� �����'qsvp��~��?¯�+·fV�d~N¤����=vp}{~y�yr�� fVopr���bDq�eg~y�yf^�W¯£ ~�}(op�;f^� �����^qNvp��~��u�drd}{��~=oJf�o'°���)2�E+��V��CW�.�U�@� � � )��I�4�Uqs}{fwqNvpv{qB��bdf^�gv{~��d}{~��B}{q�e�f^�Bv{�¥v{��f�o<fZbdf^}pfB° �=r�q�����vzxgqNvJv{}p��©dryv{f^o(e�r�oJv

©;f¼rd���df'}�ozv{~=~y�·��� qD¬�f'}{xÊ�Bf'�df^}{q��¦e¿qs�d�df^}^¯!Äï�5vpbdf!� ~��=v{f tZv�~s²f tZv{}{qs±W²®rd���ºvp��~���qs�Qop��f�� �����'qsvp��~���o^° �=r�q�����vzx_qsvJvp}{��©dryvpf�o��qsvprd}�qs����x¿�����'��r��yf«�¥v{f'e¿o¶������f�}pf�oJ�;~���oJfkvp��egf�°dop��Ð^f�°dqˬNqs����q�©d������vzx�°Zqs���!oJ~i~���¯$a#b�f'xu�'~�}{}pf�oJ�;~����iv{~ ! ~=ü��b�qs}�q��ºv{f'}{��oJvp���'o���Çvp}�q��d�¥v{��~B��qs� ! ~=Ã_¬�~y�'q�©drd��qs}{x�¯D§¦tZvp}�qN±G²®rd��� vp��~���q�� �=r�q�����vzx_qsvJvp}{��©dryvpf�o�q�}pf¿r�oJf��5vp~Êop�;f^� ��²®x �=r�qs���¥vzx·~s²Uopf'}{¬Z���'f¼qs���}{f^op~�rd}�� f¦��f'f^��oL²®~�}0� ~�eg�;~��df^�=v{o�q����«qs�d�������'qsvp��~���o^¯0¶ryv�°Ëop����� fQ¤¶fQqs��e qNv�f't=v{f'���d���d�wei~B}pf$v{}{qB�y��vp��~���q���»w©9´_��q��d��r�q���f�o'°¤¶f�qs��oJ~g� ~B��op���yf^}#¬Ëq���r�f^o~�²0��q�}{q�eif'vpf^}{o#q�o#��eg�d�����'�¥v��=r�q�����vzxuqNvpvp}{��©�ryvpf�o'¯

! ~ZÃDeg�����df^� �Br�qs���¥vzx�qNvpvp}{��©�ryvpf�okb�qˬ�f �=r�q�����vzx�qNvpvp}{��©drdvpf�vzx=�;f^o«�'~�eg��~=oJf���~s²¶q¼vzxZ�;f�°L�G¯ fB¯�v{bdfgoJf'v�~�²3¬Nqs��rdf^okvpb�qNvv{bdf��Br�qs���¥vzxÇqNvpvp}{��©�ryvpfD�'q�� v{q���fB°Qqs���Ñqs� ~B�yvp��~���qs�¶eif�q�oprd}{f'egf'�=v�r��d�¥v�o�²®~�}g�Zrdegf'}{���^qs���Br�qs���¥vzxÇqNvpvp}{��©�ryvpf�o'¯��Qq���rdf�o²®~B} �=r�qs����vzx!qNvpvp}{��©�ryvpf�oU���ÊÏ�´´¶µ �'q���©;f�f^��f^egf'�=vU~s²Q� ~B��oJvp}�qs���Bvw�d~�e¿qs����o^°�¤bd����b�� rd}{}pf^�=vp��xu����� ��r��yf�}{f^q���qs}{��vpbdegf v{����°©;~Z~���f^qs�Ç�'~���oJvp}�qs���=v{o^°0qs���_r�oJf^}J±ï�yf ���df^� ���d��vpf!qs��� ���d��vpf�oJf'v��y~�e¿q�����o^¯�Ï�´´¶µ��'qs�5©;f¼f tZv{f'���yf��·vp~������ ��r��yfu~svpb�f'}�Z�����do~�²1� ~B��oJvp}�qs���BvU�y~Be¿qs����o'¯£ ~�}3f�q���b �=r�q�����vzx¿qNvJv{}p��©dryv{fkqBopop~y� ��qNvpf���vp~�op~�egfU��}p~B��}�qse�f^�=vp��vzx�°��4�E+ ) ��U�^qs�¿©;f �=r�q�������f^�¼©=x 2W�4���I)���Q2\���� )C���?�V�^¯

a#bdfioJf^e¿qs�=vp���'ow~s²¦egf^q�oprd}{f^o~B}w¬Nqs��rdf�ov{q���f�oU���Bv{~uq��^� ~Brd�=vvpbdf�oJf2\�<�C�%)C�4�52W�$���D)C�5�V�?��qNvpv{q���b�f^��vp~¼vpbdf^e�°9f�oJ�;f^�'��q�����x¤bdf^�Ñ�'~�eg��qs}{���d�ʬNqs��rdf�o�~�²k�y��¨;f^}pf^�Bv �=r�qs����vzx5qsvJv{}p��©dryv{fuvzxZ�;f^o^¯ ª�f^qBoJrd}{f'egf^�Bvird�d��v{oi����� ��r��yfD©�qBoJ���¼rd���¥v�o'°3opr���b q�oopf^�'~����do^°y©d��v{o^°df v��s¯�°�q�o#¤¶f'���?q�o�'~�eg�;~�rd���!rd�d��v{o^°�opr���b�q�o#©d��v{o �Nopf^�'~�����o'¯

+·fU�y~V�d~�v3�yf ����fUbdf'}{fqV� ~Bei����f'vpf����oJv3~s²9©�qBoJ���¶rd�d��v{o&f=opr���b¿q«����oJvQ��o¦��}p~y�yr��'f^��²®}{~�e����=vpf^}p��qsvp��~���q��dozv�qs����qs}��do'°�������fÄJÃ�³ ! r�qs�=v{�¥v{��f�o�q�����r��d�¥v�oVozv�qs����qs}��do'¯�ª�f^qBoJrd}{f^o �=r�qs������f^�Ê©=x��d�¥¨9f'}{f'�=vVrd�d��v{oV�^qs�Ê©;fg�d~�}{e¿qs����Ð^f^�Ê���=vp~Dq�ozv�qs���dq�}{�rd���¥v�o(op��q��'f�fZqN²Áv{f'}{¤¶q�}{�do1v{bdf'x¿�^qs�¿©;fw� ~Bei��qs}{f^�L°=q��d�yf��L°=f v{��¯¦ª�~�}{f�d}{f^� ��opf'��x�°=~�rd}Qeg~y�yf^�;�yf ���df�o3qVrd���¥v#q�oQq��¿~�©y�zf��ºv�'~�eg��~=oJf�� ~�²w©�q�op���¼rd�d��v¿~�©y�zf��ºv�o'°Qf�q���b r��d�¥v¿~B©y�zf^� vib�qˬZ���d�_q1# ��� �5qNvpvp}{��©drdvpf�f ty�d}{f^o{oJ���d��v{bdf���~N¤¶f'}g�y��eif^��op��~B�?¯§3qB��b!©�q�op���wrd�d��vU~�©y�zf��ºv#��o#qs©���fkvp~¿� ~B�Z¬�f'}pv3��v{opf'��²0���=vp~¿q�oJv{q����dq�}{�¿r��d�¥vUq���~B�d��v{bdfVopq�eif«�y��egf'��op��~B�?¯ £ ~B}¶f'tdqseg�d��f�°yqs�qB�'� f^��f^}{qsvp��~���f'ty�d}pf�opopf^������²®f'f v¦�;f'}¦o��Br�qs}{f(opf^� ~B������o1e¿q��yf¶~s²�q�� � ���~�©d�zf^�ºv$¤��vpbgqw¬Nqs��rdf¶~s²�h(²®~�}$��v{o1�;~N¤(f^}1qsvJvp}{��©dryvpfB°q����Dq ������ ����i~B©y�zf^� v#¤��vpb�qg¬Nqs��rdf«~s²1±z�V²®~B}�¥v�o��~N¤¶f'}qsvJvp}{��©dryvpf¼­Wq�o¶²®f^f v �soJf�� ~B��������ovpbdf�o{qsegfVq�o¶²®f^f v��{oJf�� ~��������'¹ ¯a#bdf����Brd}{f#�k�d}{~��;~Bopf^o$q�¸wª�µ��'��qBopo$�y��qs�B}{q�e oprdege¿qs}{��Ð^�����wv{bd��o �=r�q�����vzx�qsvJvp}{��©dryvpf#eg~y�yf'�dq������¥v�o$}pf^��qsvp��~���opbd����o0vp~

v{bdfk��}pf^¬=��~�r�oJ��xg�d}pf�oJf^�=vpf^�¼f'�=vp��vzx¿eg~Z�df'�¦­Áv{bdfwvz¤¶~��d��q���}�qse¿oQ�������gvpbd}{~�rd�Bb¿vpb�f��'��qBopo������������d¹º¯Jc�� ����������!��������#"$�����b�qBoq���#%��iqs���!b�q�oqg� f^}Jv�qs���&� �����������!��������#"������'���#��¯9a#b���o�� �����!����!��������#"������'���#�«o{qËxyo<e

hB¯svpb�qNv�vpbdfg¬Nqs��rdf^okv�qs��f^�Ê©ZxDvpb�f��=r�q�����vzx�qNvpvp}{��©�ryvpf¿qs}{f�~�²¶op~�egf('$��#��°L�yf �������d�!vpb�fgopf vV~�²3¬Nqs��rdf^okvpb�qNv«vpbdf �=r�q�����vzxqNvpvp}{��©drdvpf��'q��uv�qs�Bf�f�d¯�~��dvp��~���q�����x�°yv{b�qNvkvpbdf�oJf�¬Ëq���r�f^ow�^qs��©;f�f^��f^eif^�=vw~s²Qq �� ������������!����)� *%���!�9°B�yf ���d���d�u��}p~B��f^}Jv{��f�o~s²Q� ~B��oJvp}�qs���Bv�o#vpb�qNv�'q��!©;fVf ty�d}{f^o{oJf��u~B�uv{bdf'e f�q����

��¯Bqs�=qs���u~B�yvp��~���q�����x�°Zv{b�qNvUqgegf^qBoJr�}pf^eif^�=v,+��"���¿��o �=r�q�����²®xZ������v{bdfV¬Nqs��rdf^o^¯

cko�¤¶f¿¤�����¶opf'f¿��qNv{f'}u­.- ��¯ �=¹º°¦q �� ����������!����)� #%����!�ub�qBo�op��f�� �����¼q��dei��vJv{f^�5f'tZ��}pf�opop��~B��o^°��G¯ fB¯0q �� ������������!������/�#v{b�qNv��^qs�Çqs����f�qs}V��� � ~��=v{}{qB�ºv{oVq����_vpb�qsv�}{f^op��f��ºv{o�v{bdf¼}{f^oJvp}{��� vp��~��·��eg�;~Bopf^�5©Zx�v{bdfu�'~���oJvp}�qs���=vV�d~�e¿qs���5���5~�}��yf^}«vp~q��d�d��x�q«oJ�;f^�'���;�� ~��=v{}{q����=vQoJ~B��¬Bf'}1vp~«v{bdf^opf� ~B��ozv{}{q����=v�o'¯¦´(rd}p}{f'�=v{��xB°Nvpbdf�oJfU�d~�e¿qs����o$����� ��r��yf � �����d° �!�"�����)� *%���� ��qs�����!�"�!������� �;¯Ua#b�fi�y~Be¿qs��� � �����¼��o�r�opf^�����ʲ®~�} �Br�qs�=vp��v{qsvp��¬�f ! ~ZÃ�op��f�� �����'qsvp��~���okqs���Ê��ow²®rd}pvpbdf^}�}{f ���df^�����_�d~�e¿qs����o� ����� !������� u²®~�}�}{f^qs�$qs}{��vpbdegf v{����°?qs��� � �����10 �!�!²®~B}k}{f^q��0������f^qs}Vq�}p��vpbdegf'vp���s¯ £ �����¥v{fg�d~�e¿qs����o�qs��� ���d��vpf¿oJf'v«�d~�e¿qs����o�yf�qs�L¤��vpbDr�opf'}p±À�df ���df��!opf v�o#~s²$¬Nqs��rdf^o#f'tZ��}pf�opop��������f'¬Bf'��o#~s²��=r�q�����v{qsvp��¬�f ! ~=ÃL¯ £ ~�}f'tyq�eg�d��fB°y�df'¤ ���d��vpf�q���� ���d��vpf�opf v�y~Be¿qs����o�'q��!©;f��yf ���df^�!vp~¼�df^qs�L¤��vpbD��f'¬Bf'��o#~s²1opf^�'rd}{�¥vzxB¯bc ��}p��eg�¥v{��¬Bf�� ~���� }{f vpf ���d��vpf��d~�e¿qs���32 � �����owqs��oJ~g�yf ���df^�L¯

��i?h 4 p5�]l�xF�>s]n�p9o l _l�p_w � v��9l`�a0~!�yf ���df�¤b�f'�Êq����Dbd~N¤ egf^q�oprd}{f'egf'�=v�oUe�r�ozvw©;f�e¿qB�yf�°�vp~!f ty�d}{f^o{oU� ~B��ozv{}{q����=v�o~N¬�f^}vpbdf�oJf�eif�q�oprd}{f^�D¬Nqs��rdf^o^°;©dryvq���op~�vp~��d}{~N¬Z���yf¿�'~���oJvp}�qs���=v{o«¤��vpbÇqD�d}{f^� ��opfgopf'e¿q��Bv{���^o�²®~�}Vv{bdf¿}{rd�y±Gvp��eif¼��b�f^���yo«~s²� ~B��ozv{}{q����=v�o'°?¤¶f¿b�qˬBf�v{~�}pf^��qsvpf�=r�q�����vzx_qsvJvp}{��©dryvpfueif�q�oprd}{f^oVqs���Ç� ~���ozv{}{q����=v���bdf^���yo«v{~�¤b�qNv�b�qs�d�;f'��o�qNv�}{rd�y±Gvp��egf�¯ £ ~B}�oJ~Begf �Br�qs���¥vzx·qNvJv{}p��©dryv{f^o^°egf^qBoJr�}pf�o��'q��·©;fu�y~B�dfuqsv�oJ~Begf¼oJ�;f^�'�����¿vp��eifu����oJv{q��=v^°1²®~�}�~�vpbdf^}{oVvpbdf^x_¤�����(©�f!�y~��df¼²®~�}�op~�egf¿f'��qs��oJf��Êv{��egfB¯�a�~�yf ���df«�d}{f^�'��opf'��xg¤bdf'�Dqs���ubd~N¤ f�q���buegf�q�oprd}pfk��o(v�qs��f^�u©Zxgvpb�f�r����yf'}{��x=���d�i}pr��y±Wv{��egf«oJxyoJvpf^eÒqs��� ! ~=ÿq�}{��b��¥v{f^�ºv{rd}{f�°

OM_J�`Oba

Page 12: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

������������� ������������ �

v{bdfkÏ�´´¶µ��d}{~��B}{q�egeif^}$}pf'²®f'}�o$vp~«v{bdfU���¥²®f�� xy� ��fU~s²Lf^�Bv{�¥v{��f�oQqs���¿q«ei~y�yf^��~�²�v{bdf'��}3f'tZf�� ryv{��~B�¿q�o¦f^¬�f'�=v�o¦��~N¬Bf'}{�d�����wv{bdf'��}f^¬�~���ryv{��~B�uv{bd}p~Brd��bDoJv{qNv{f^o#����vpbd��o���¥²®f�� xy� ��f�¯¦a#bdf�oJf��'~����'f'�yv�oqs}{fk���=vp}{~Z�dr�� f��!©Zx¿v{bdf�Ï�´´¶µ·f'¬Bf'�=vei~y�yf^�W¯a#bdfgÏ�´´¶µÇf'¬Bf'�=vkeg~y�yf^�1qB�y~��yv�o'°;q��dq��yv{o�qs���D��f'��f'}�qs����Ð^f^o#v{bdf�²®~B����~N¤�����¿²®~�rd���dqNv{��~B��qs�0ei~y�yf^�1�drdf�v{~!¶��q���}kqs���

Ã=v{n ²¾q��d�d����v{bdf'��}¦�yf �����¥v{��~B�i~�² ! µQ°sqk��~������¶�yf^op���B�df^��vp~«f ty�d}{f^o{o ! ~=Ã�}pf��Br���}{f'egf'�=v�o����¿�y��oJvp}{��©dryvpf���e�rd��vp��eif��y��q�opxyozv{f'e¿o�Þ�"�À¯�J�*3. �L�-*=?@�* �-*:b���*�4 Y=_7X� L��<:µ�f v������".��&�¶}pf^�d}pf�oJf^�=v(v{bdf«vp��egf��y~�e¿qs���?°y¤bdf^}pf2e

� �\��oqs�D��� ���d��vpf�opf vU~s²1����ozv�qs�=v{o#¤��vpb�qieg���d��e¿qs�?f^��f^egf'�=v ��� qs���Dqie¿qNty��egq��Lf'��f'egf'�=v�� °� .E��owq�v{~sv�qs�L~�}��yf^}}pf^��qsvp��~��u~B�!����oJv{q��Bv�o'°�qs���� &���owq�©�����q�}px!q��d�y��vp��~���}{f'��qNvp��~���~�����¯µ��¥²®f�� xy� ��f^o¶~s²$�d}{~��B}{q�eÌf^�=vp��vp��f^oqs}{f«�yf ����f^�!©=x!oJf'v{o#~s² �"�*�$���_��C2�b��^°y}pf^�d}{f^opf'�=vp���d��vzx=�;f^o#~�²1oJv{qsvpf�vp}�qs��op��vp��~���o(vpb�qNv

�^qs�¼©;fw~B©�oJf^}p¬Bf^�g�yrd}{���d��v{bdfwf'tZf�� ryv{��~B�?¯$Äï���y��¬Z���yr�qs�;f'¬�f^�=vQvzxZ��f�o(q�}pfw�df'�d~�vpf^��� 5 qs���¿vpbdf����d��vpfkopf v¶~s²�q����;f'¬Bf'�=vQvzxZ��f�o� *���������� � ������� �!�"�!#���o¶v{bdfVrd�d��~��D~s²$qs���?f'¬Bf'�=v{o¶����vpbdfV���¥²®f�� xy� ��f^o#~�²$q����L��}p~B��}�qse�f'�=v{�¥v{��f�ooJrd©d�zf^�ºvv{~¿� ~��=v{}{qB�ºv^¯§Q¬Bf'�=v{o!qs}{f�}{rd�y±Gvp��eifÊegq��d��²®f^oJv{qNv{��~B��o¼~�²�f'¬Bf'�=v¼vzxZ��f�o'°Uq����½v{bdf'}{f ²®~B}pf�}{f'�d}{f^opf'�=vuop��f�� ������~y�^� rd}{}pf^��� f�o¿~s²�oJv{qsvpfv{}{q���oJ��vp��~���owq�� vpr�q�����xu~B©�opf'}{¬�f^�D�yr�}p���d�gvpb�f�f tyf�� ryv{��~B�?¯#Äï���y��¬=���yr�q��0f^¬�f^�Bv�oUqs}{f��yf^�d~sv{f^�%$ 5 q����%& *'��$����($ � �)$������"�!�!#���ov{bdfiopf v�~s²Qf^¬�f'�=v�ovpb�qNv«~Z�^� rd}{}{f^���yrd}{���d�uq¼��qs}pvp��� rd��qs}k}prd�Ê~s²¦vpb�f�qs���d�����'qsvp��~��?¯O+_fg�yf^�d~sv{f*$�5,+-�/.�vpbdf�²¾q��ºvkvpb�qsvkv{bdff^¬�f'�=v0$�5$��oU~s²0f^¬�f^�Bv#vzxZ�;f�� .�¯§Q¬Bf'�=v�bd��ozv{~�}{��f�o�qs}{f¿�y��op�'}pf'vpf¼opf �=rdf'��� f^o«~�²f'¬�f^�=v{o«~s²#v{bdf¼opq�egf¿f'¬�f^�=vVvzx=�;fgvpb�qNv�qB�ºvpr�qs����x_~Z�^� rd}{}{f^�·�yrd}{���d�Dv{bdf

�'rd}p}{f'�=v�f'tyf^� rdvp��~��?¯1a#bdf'x«qs}{f3�yf^�d~sv{f^��1�5�q����2 *���1 � �)1 � �)1 � � �!�"�3#¶��o?vpbdf¶oJf'v0~�²�qs����bd��ozv{~�}{��f�o?���Vvpb�f(� r�}p}{f'�=v?f tyf�� ryv{��~B�?¯dw��oJvp~B}p��f^o¶�'q��¿©�f����=v{f'}{�d}pf'vpf��¼q�oQ²®rd���ºv{��~B��o¶}pf^��qsvp���d�����=vpf'�Bf'}�o¦v{~�f'¬Bf'�=v{o^°=�W¯ f�¯-14+65879&¿°Z�d}{~N¬Z���y���d��q�egf^qs��o¦vp~iq��^� f^o{ov{bdf:9vpbD~y�'�'rd}p}{f'��� f�~s²¦qiop�;f^� ������vzxZ�;f�~�²1f^¬�f^�Bv�o'¯a#bdfVf^¬�f^�BvUeg~y�yf^��q�o{oJr�eif�o¶vpbdf�qˬËq�����qs©������¥vzxu~s²¦q¿�dqNv{���d�g²®r����ºv{��~B�?°��yf^�d~sv{f^�4;<+=&'79��°d}{f'��qNv{�����gq��Df'¬�f^�=v¶v{~¼qs�

����oJv{qs�=vkqsvw¤bd����b�vpbdf�f^¬�f^�Bvk~Z�^� rd}{}{f^�L°y�G¯ fB¯���v{oa� �.�>�˯#µ?f v�>?+@��7A2�©;f�qi²®rd��� vp��~���}{f v{rd}p�����d�gv{bdf�bd��oJvp~�}{xu~�²¦f'¬�f^�=v{oqBopop~y� ��qNvpf��¼v{~¿qs��f'¬�f^�=v¶vzxZ�;f�°yv{bdf'��v{bdf��dqNv{fV~s²0vpbdf:9v{b�~y�^� rd}{}pf^��� f�~s²¦qs��f'¬Bf'�=v~s²0vpbdfVf^¬�f'�=v#vzxZ��f�� 5 ��o����¬�f^�u©Zx�e

B *C;D�E>F�G� 5 H��:I������� ���"�< 5=V�6-* �LW���"�< 5=_=VE 05��Äï�¼Ï�´´¶µQ°B����²®f^�'xy� ��f^oQ�^qs�g©�fwf ty�d}{f^o{oJf���~N¬Bf'}QqVopf vQ~s²Lf^¬�f'�=v¦vzxZ�;f^oQq����gozv�qNvpf�o$²®~�}3f^q���bg�d}{~��B}{q�e�f'�=vp��vzx�¯bc����¥²®f�� xy� ��f

q���op~w����� ��r��yf�o$qvp}�qs��oJ��vp��~���}{f'��qNv{��~B���yf ���d���d�kb�~N¤5vpbdf(vzxZ��f¶~s²���}p~B��}�qse\f'�=vp��vzx«f'¬�~B��¬Bf^o�~N¬�f'}�vpbdf(vp��egf�¯¦ÃZr���b�vp}�qs��op�¥v{��~B��oq�}pf�vp}{������f^}pf��¼©Zx¼f^¬�f'�=v#vzxZ��f�o'¯ c¶vU}{rd�y±Gvp��egf�°yf^¬�f'�=v�oqs}{f�~B©�opf'}{¬�f^�u¤bdf'��f'�=v{�¥v{��f�o��q�o{o¶²®}{~�eÒ~B�dfVozv�qNvpf�v{~¼qs�d~�vpbdf^}^¯a#bdf¼opf v��Ò~s²#f'¬�f^�=v�vzxZ�;f^oV��o«v{bdf'}{f ²®~B}pfivpb�fuoJf'v�~s²qs���Q�;~Bo{oJ��©d��f¿f'¬�f^�=v�vzxZ�;f^o�q��d�;f^qs}{���d�D���·vpb�f¼����²®f^�'xy� ��f¿~s²#f^q���b

vzxZ�;fu~s²�d}{~��B}{q�e f^�Bv{�¥v{��f�o'°$�����y��¬Z���yr�qs����Ð^f^�Ç~N¬Bf'}Vf^qB��b oJ�;f^�'���;�¼�d}{~��B}{q�e�f'�=vp��vzx·~s²vpb�qNv�vzxZ�;fu���Çvpbdf!�d}{~���}�qseD¯Da#bdf�yf�oJ������qNvp��~���op��b�f'egf�²®~�}q���qs}pvp��� rd��qs}#f'¬Bf'�=v¶vzx=�;f«~y�'� r�}p}{������²®~B}#qiop��f�� �������d}p~B��}�qse f'�=v{�¥vzx¼f'tZvpf'���do¶vpbdfV�y~�v�d~sv�qNvp��~��©Zxi�����d�Z�����Vvpbdfw��qsegfU~�²;v{bdfw��}p~B��}�qse�f'�=v{�¥vzxD­®~B�yvp��~���q�����xg�y~svpvpf^�g��v{opf'��²{¹Q¤�¥v{b¿vpbdfw��qsegfU~�²;v{bdfwf^¬�f^�Bv¦vzxZ�;f�¯b+�bdf^�df'¬Bf'}rd��qse�©����Brd~�r�o#©Zx¿v{bdf�� ~B�=vpf tZv�°d�yf^op���B��qNv{~�}�o#�'qs��~�eg��vUr�opf'��f^o{o(��}pf �dtyf^o#~s²¦�y~�vJvpf�����qsegf^o^¯£ ~�}¶f tdqseg�d��f�°Z� ~B��oJ���yf^}3v{bdfkf^¬�f^�Bv(vzxZ��f �������J������� ���qs����f�qs}{���d�����uvpbdf�����²®f^�'xy� ��fw~s²0~��;f'}�qNvp��~���oQ���u���Bv{f'}p²¾q��'f^o^°�v{bdf'�

²®~B}�f�q���b ~B��f^}{qsvp��~��� �#���·��� f^qB��b ���Bv{f'}p²¾q��'f �!����� �5�'qs����f^� �!�������,K= �#���9°�q�� f'¬Bf'�=v�vzxZ�;f0�!����� �LK= �#� �LK=������/J�� ���� ��q��d��f�qs}�o#���%��¯�+��¥v{bd����v{bdfV���=v{f'}p²¾q�� f8�!�������9°� �#���,K=���� ��J�� ��� ���opr �¼� f�o¶vp~¼�yf�oJ������qsvpfkvpbd��of^¬�f'�=v#vzxZ��fB¯a#bdf¿��}p��eg�¥v{��¬Bf�²®r����ºv{��~B� ��� ���-M6N��df ���df��·~��·f'¬�f^�=v�vzxZ�;f^o«v�qs�Bf^oVqs�·���Bv{f'�Bf'}�qs���_}{f v{rd}{��o�vpbdf¼��qNvpfg~�²(v{bdf¼� ~B}p}{f ±

op��~B���y���d�Df'¬Bf'�=v^¯�§Q¬�f^�Bv�o«���ÇÏ�´´¶µ½qs}{f�����oJv{q���� f�o«~s²(f^¬�f^�Bv�vzxZ��f�o'°?vpbdf^egopf'��¬�f�o«�'qsr�opq�����x�}pf^��qsvpf���©Zx�vpb�fi����²®f^� xy�'��fg~s²q���f'�=vp��vzx�¯K+�bdf'�_� ~�eg�drdvp���d�gvpbdf�¬Ëq���r�f�~s²Qop~�egf �=r�qs���¥vzx�qNvpvp}{��©drdvpf^ow~�}U¤b�f'��f ty�d}{f^o{op���d�¿op~�egf�� ~B��oJvp}�qs���Bv�o#©�f'vz¤(f^f'��=r�q�����vzxÇqNvJv{}p��©dryv{fu¬Nqs��rdf�o��'~�eg�dryv{f^� qsvi�y��¨;f^}pf^�=vi�;~����=v{o����Çv{��egfB°Q�¥vg��o���eg��~B}Jv�qs�=v�vp~_©�fDqs©���fuvp~Ê�����d�5f'¬�f^�=v{o�©=xÇq�^qsr�o{qs�L�d}{f^�'f^�yf^��� f«}{f'��qNv{��~B��oJb����?¯£ ~�}uf'tdqseg�d��f�°U¤bdf^�E�'~�eg�dryv{���d� qs����� ~���ozv{}{q����d���d�Çv{bdfÊ}{f^op�;~���opf�vp��egf_~�²�qs� ~B��f^}{qsvp��~�� Ñr�op����� vpb�f ��� ���=M�N

²®rd���ºvp��~���°d¤(f«�df^f^�!vp~g}{f'��qNv{f«q�v{f'}{ei����qsvp��~���f'¬�f^�=v(²®~B} ivp~gv{bdfVq��ºv{��¬Nqsvp��~���f'¬�f^�=v¶v{b�qNvU���d��vp��qNv{f^�!vpbdf«f'tZf�� ryv{��~B�!¤b�����bv{f'}{ei����qsvp��~��D��oU©�f^���d�g~B©�oJf^}p¬Bf^�L¯(³k��f«�^qs�d��~svUoJ��eg�d��x¼v{q�����qs©;~�ryv�É qi�d}{f'¬Z��~Br�oq�� vp��¬NqNvp��~���f'¬Bf'�=v^É�°�op����� f«�����'~����'rd}{}pf^�Bvf'tZf�� ryv{��~B�?°yoJf^¬�f^}{q���q�� vp��¬NqNvp��~��uf'¬�f^�=v{oQe¿qËxg~y�'�'rd}(©;f ²®~B}pfwvpbdfkvpf^}peg����qNv{��~B�¼~s²�vpbdf ��}�ozv#q��ºv{��¬Nqsvp��~��?¯Q´¶qsr�o{qs�;�d}{f^�'f^�yf^��� f}{f'��qNv{��~B��oJb�����o(qseg~�����f'¬Bf'�=v3vzxZ�;f^o¶�yf'}{��¬Bf²®}{~�eÌvp}�qs��op��vp��~��¿��qsvpb�o(���¼vpbdf�����²®f^�'xy� ��fw~s²?f^�=vp��vp��f^o¶qs���¼�^qs�¼©;f«� ~�eg�drdvpf^�uq�of^¬�f'�=v�o¶vp}{���B��f'}oJv{qsvpfV��b�qs����f^o#qsvU}prd�d±Wv{��egf�¯Ï�´´¶µ �yf ���df^o«qu²®rd���ºv{��~B� #��������$���$�12��u~��Êf^¬�f^�Bv�oUv�qs�Z���d��q��Êf^¬�f'�=vkvzx=�;f*�uqs���Ê}pf'vprd}{�d���d�¼v{bdfgf'¬�f^�=vO$P+Q�¿vpb�qNv

�d}{f^�'f^�yf�oVqs���5op~�egf'b�~N¤ �'q�r�opf^�Êvpbdfu�'rd}{}pf^�BvVf^¬�f'�=v�°���²#opr���bÇqs�·f'¬Bf'�=v�f ty��ozv�o'¯ £ ~�}Vf'tyq�eg�d��fB°0q��d�d��x=���d� #��������$���$�12��~B� qDvpf^}peg����qNv{��~B�Çf'¬Bf'�=v*$�5U~�²op~�egf¼~B��f^}{qsvp��~��SR�qs���5²®~�}�vpbdf¼f^¬�f^�Bv�vzx=�;f �������J�� ���� ��D~�²�RD}pf'vprd}{��o�vpbdf¼f^¬�f^�BvT$�.v{b�qNvVozv�qs}pvpf���vpbdf�f tyf^�'ryvp��~���~�²URg}pf�oJr��¥v{���d�u����v{bdf ��� � % � �� ���� ��¼f^¬�f^�BvO$!5J¯wÄï�ʲ¾q��ºv�°�©;~sv{b�f'¬Bf'�=v{ok}{f'��qNvpf�vp~¼v{bdf�o{qsegf}{rd�y±Gvp��egf�e¿qs�d��²®f^oJv{qsvp��~���~�²¦vpbdf��d}{~���}�qse4f'�=vp��vzx%RZ¯kª�~B}pf��d}pf�� ��oJf^��xB°;��qNvpf�oU~�²Qf'¬�f^�=v{ov{~sv�qs����xD~�}��yf^}pf��u²®~B}kf�q���b�f^¬�f'�=vvzxZ�;f�°yv{~���f'vpbdf^}¤�¥v{b�vpbdfV~B}{�yf^}#~s²0f^¬�f^�BvvzxZ�;f^o#���D����²®f^�'xZ�'��f«~�²1f^�Bv{�¥v{��f�o�����yr��'f«qg��qs}pvp��qs�9~�}��yf'}oJvp}{r��ºv{rd}{fk²®~B}Uf'¬Bf'�=v{o^¯

�J�4æC���4���

Page 13: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

h�� �����/-*:��4 �4-* 5=������K:;�*3 � �$-*3/�<=������������������$1<35�4:

LifeCycleEntity

TransitionRelation

Transition

State

EventType

+dateOf(n:Integer) : Date

History

+eventByNo(n:Integer) : Event

Event

+precededBy(in et:EventType) : Event+notify()+check()Date

QualityAttribute

#name

+evalOn(e:Event)

QualityAttributeValue

#value

0..*

1..*

source0..*

destination

0..*

1..*

1..*

trigger

0..*

0..*

occurs-at

0..*

precedence

0..*

+successors0..*

+predecessors

1..*

eval-trigger

0..*

has

0..*observes

1..*

0..*

1..*

source

destination

0..* 1..*

trigger

0..*

1..*

observes

+successors

0..*

0..*

+predecessors

precedence

£ ���Brd}pf �5e1§3¬�f'�=vUeg~y�yf'�

§Q¬Bf'�=v{o3�d��qËx�vz¤¶~�q��d�y��vp��~���qs�d}{~���f^o¦���uÏ�´´¶µQ¯ ! r�qs����vzx�qNvpvp}{��©�ryvpfU¬Nq���rdf�oU­ � �����!����!��������#"������������*��=¹Lqs}{f~�©yv�qs���df^�f^�¥v{bdf'}�vpb�}p~Brd��b egf�q�oprd}pf^egf'�=v{o��y~���f_¤��vpbd��� v{bdf5}pr��y±Wv{��egf·oJxyoJvpf'e,~B}!©Zx �'~�eg�dryv{���d� vpbdf^e r�op����� ~sv{bdf'}��=r�q�����vzxqsvJvp}{��©dryvpfi¬Nqs��rdf^o�~B}k��~N¤#±G��f'¬Bf'�1oJxyoJvpf'e�opf'}{¬Z���'f^o^¯kÄï�5Ï�´´¶µQ°9¬Nqs��rdf^ow²®~�} �=r�q�����vzx�qNvJv{}p��©dryv{f^o«qs}{f�qBopop~y� ��qNv{f^��vp~�f'¬Bf'�=v{o^¯´(~Bei��ryv{qsvp��~��Ê��}p~y� f��yrd}{f^o�qs}{f�qsvJv{qB��bdf^��vp~ �Br�qs���¥vzx�qsvJvp}{��©dryvpfgqs����vpb�f'x��d}{~y�yr�� fi¬Nqs��rdf^ok¤bdf^�_f^¬�f'�=v�o'°9¤bd����bÊf^¬�f'�=vvzxZ�;f���o#q�v{}p�����Bf'}3²®~�}¶vpbdf �=r�qs����vzx¼qNvJv{}p��©dryv{fi­ ��J��������� ������� ��q�o{oJ~y�'��qsvp��~���¹ °B~y�'�'rd}�o'¯$a#bd��o#��o¶��ei����f^eif^�=vpf^�u©Zx¼q�op��eg�d��f�d~�vp�����'qsvp��~�����qNvpvpf^}p�?¯Qa#b�f�oJf�� ~����!qB�d�y��vp��~���q��L}p~B��f«� ~B��� f^}p��o#�'~���oJvp}�qs���=v��b�f^���Z�����iqBo#¤(f«¤������opf'fVopbd~�}pvp��x�¯

#w~svp��� f¿b�f'}{fgvpb�qsv�� ~�eg�drdv{qNv{��~B�5�d}p~y�'f^�yrd}{f^o�²®~B} �=r�qs����vzxÊqNvpvp}{��©drdvpf^o��'qs�5©;f¼r�opf^�_vp~���eg�d��f'egf'�=v�v{bdfgvp}�qs��op��qNvp��~��²®}{~�e4��~N¤#±À��f^¬�f^�9opxyozv{f'ei±À~�}{��f^�Bv{f^� ! ~=Ã��Br�qs�=vp��v{qsvp��¬�f«¬Nqs��rdf^o���=vp~gbd����by±À��f'¬�f^� �=r�qs���¥v�qNv{��¬Bf ! ~Zü¬Nq���rdf�o'°�qs���uvpbdf^}pf'²®~�}{f�vp~q�©�ozv{}{qB�ºvVv{bdf¼f'���Z±Gr�oJf^}«²®}p~Be opr���b5��~N¤#±À��f'¬�f^�Q� ~B��� f^}p��o^¯�Ãyr���bÇqs�Çqs©�oJvp}�q�� vp��~��5egf^��b�q��d��oJe���o�opf'f^�Çq�o�q��Ç��eg�;~�}pv{qs�=v}{f �=rd��}pf^egf'�=v�²®~�}i� ~B�Bv{}{qB�ºv���qs�d�Br�qs�Bf^o^°1op����� f¿v{bdf¼v{}{q���op��qsvp��~��·²®}p~Be�b����Bby±G��f'¬Bf'�¶qs�d�d�����'qNv{��~B�y±À~�}{��f^�Bv{f^� ! ~=÷qsvJvp}{��©dryvpf�oq�}pf«f^qBoJ��f'}¶v{~¼qs�d�d}{f'b�f'���uvpbdf^�D��~N¤#±À��f^¬�f^�9opxyozv{f'ei±À~�}{��f^�Bv{f^�ueif�q�oprd}{f^o«­¾opf'f(-��d¯ �B¹º¯a#bdf ����rd}{f]�V�d}{~��;~Bopf^o3q�¸wª�µÊ� ��q�o{oQ�y��qs��}�qseÌoJr�eie¿q�}p��Ð'���d�«vpb���o3f'¬�f^�=v3eg~Z�df'��q����g��v{o(}pf^��qsvp��~���opbd����o$vp~�vpbdfUf^�=vp��vzx

q���� �Br�qs���¥vzxuqsvJv{}p��©dryv{f�eg~y�yf^��o^¯

��i�� t�vZp_wSx5ybz)w�m y�p5� z�vZp9m2w.x�y�n�p_w�mÄïeg�;~Bop���d� ! ~=Ã�� ~B�Bv{}{qB�ºv�ouegf^q���o/~�"�Y�<�V�$�C�;������.�egf^qBoJrd}{f^o!~�}D¬Nqs��rdf�ou~�²�=r�qs����vzx½qsvJv{}p��©dryv{f^oDqNvpv{q���b�f^��v{~Ñ��}p~B��}�qsef^�Bv{�¥v{��f�o'¯�a#bd��o!��oD�y~B�dfÊ©Zx�qs�d����xZ���d�^~4�"�5�&�@��*�����V��vp~ �=r�qs����vzx qsvJvp}{��©dryvpf�o�~s²��d}{~��B}{q�e f^�Bv{�¥v{��f�o'¯ 0����@� � '@�.~&�@�R�"��~s²�q�'~���oJvp}�qs���=v!�'q�� ©�f �"��U� �)�"��qsv!}{rd�y±Gvp��egfÊr�op����� egf^qBoJrd}{f^ou~�}�¬Nqs��rdf^ou²®~�}uvpbdf �=r�qs���¥vzx�qsvJvp}{��©dryvpf�o'¯ÌÄÀv��'qs�Eqs��oJ~ ©;f�4�E+��V� �.�>� � �d}{��~B}�}{rd�y±Gvp��egfuv{bd}p~Brd��b vpf^oJvp���d��¯5Ãyqsvp��oz²¾qB�ºv{��~B� ~s²wqÊ}pf��=rd��}{f^� � ~���ozv{}{q����=v�� � �'qs� oJ~Begf vp��egf^o�©�fX���4�2�"�"�~B��� f�q����Ѳ®~�}uq����U¤b�f'����v¼��ou��eg�d����f�� ­®~�}uf'�=v{q�����f^��¹i©Zx½qs�d~�vpbdf^}¼� ~B��ozv{}{q����=v�� � ¯�� � ��o¿vpbdf^� opq����Ñvp~ ~4�"� 'V�*�\2 vp~v{bdf¼� ~B��ozv{}{q����=v� � ¯¼´(~���oJvp}�qs���=v{o��'qs�_}pf'²®f'}�vp~D�����y��¬Z���yr�qs�¦egf^qBoJrd}{f^o�~B}�¬Nq���rdf�o'°L©�ryv�qs��oJ~uvp~�opf v{o«~�²3¬Nqs��rdf^o^°Lv{bd}p~Brd��b�&�?���@� �<�V�@~�E+5���4�4�b�$� �@�R��k~s²1vpbdf�oJfVopf v�o�­®egf^q��?°y¬Nqs}{��q���� fB°yf v��s¯Þ¹º¯

OM_J�`Oba

Page 14: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

������������� ������������ h�h

GCCLConstraint

ContractType

-name : String

+conformsTo(aContract:ContractType) : Boolean+isVerified() : Boolean

EntityParameter

#name : String

GCCLExpression

RealArithExp

OCLExpression

QLExp

from UML

EventType

+dateOf(n:Integer) : Date

BoolExpRealLinExp

TemporalLogicExp

ConstraintExp

SymbolicParameter

see event model

shares-with

0..*

0..*1..*

applies-to

1..*

0..*1..*check-trigger

extends

0..*

0..*

is-parameterized-by

1..*

0..*

0..*

depends-on

0..*

see attribute model

QoSType

#name : String

of-type

0..*

see attributemodel

Typeof-type

0..*

see entitymodel

of-type

0..*

0..*

1..*

applies-to

0..*

0..*

0..*

0..*

0..*

is-parameterized-by

1..*

depends-on

1..*

extends

of-type

not currentlydefined in GCCL

shares-with

0..*

0..*

£ ���Brd}pf«�YeQ´(~B�=vp}�q��ºveg~y�yf'�

c ~�*�5�&�@��*���)� ��&����4�� ���R�"� ��ogqs�½q�o{opf'}pvp��~�� �yf ���df�� ~N¬Bf'} �=r�q�����vzx qNvpvp}{��©�ryvpf�og~s²w�d}{~��B}{q�e�f'�=vp��vp��f^o^¯ ´(rd}{}pf^�=vp��xÇ���Ï�´´¶µ3°Z�'~���oJvp}�qs���=v{oQ�^qs�¼©;f�¤}p��vJv{f'�¼r�op���d�g³V´¶µ?±G�����Bfwopx=�=v�q��ºv{���k� ~B��ozv{}pr��ºv{o9� �B� �À¯ £ ~�}3vp}�q��y��vp��~���qs�����Z¬Nqs}{��q��Bv�o'°=�d}{f ±$qs����;~BoJv{�'~����y��vp��~���o'°Bf ty�d}{f^o{oJ��~���o$r�oJfU��~��B���^qs�dq����¿� ~Bei��qs}{��op~��i~��;f'}�qNv{~�}�o¦q�o¦¤¶f'����q�oQ��~B�����'qs� �Br�qs�=vp����f'}�o­��L°��?¹º¯�cU��� �=r�q�����vzxqsvJvp}{��©dryvpfU�^qs�¿qs����f�qs}$���¿opr���bg��f^�df'}�qs�y� ~B��oJvp}�qs���Bv�o'¯J+�bdf'�g�d~��'~���oJvp}�qs���=v$�d~�e¿qs���i�^qs�g©;fUq�o{oJ~y� ��qNv{f^��¤�¥v{bgvpbdf �=r�q�����vzxqsvJvp}{��©dryvpf�vzxZ��fB°;vpbdf�Br�qs���¥vzx�qNvpvp}{��©�ryvpfi�'qs�_qs�d�;f^q�}w����vpbdf�oJf���f^�df'}�qs�0f ty�d}{f^o{oJ��~���o²®~�}�¤bd����b_� ~��d²®~�}{egq���� f���o��yf ���df^�qBo#��~B�����'qs�9��eg�d�����'qsvp��~���qs���¼v{bdf'}{f ²®~B}pf«�df^f^�do¶v{bdf«²®rd�����;~N¤(f^}¶~�²0��~��B���^qs�L�d}{~Z~s²¾o^¯£ ~�} ! ~=üei�����yf����=r�q�����vzx¼qNvpvp}{��©�ryvpf�o'°d�'~���oJvp}�qs���=v(f ty�d}{f^o{op��~B��o(�^qs�!}pf^��qsvpfkvp~¿� ~B��ozv{}{q����=v#�y~�e¿qs����o^¯¦a#bdfVq��y¬Nqs�=v�qs��f

~�²?r�oJ���d��op�;f^� �����k� ~���ozv{}{q����=v3�y~Begq�����o3qs���ivpbdf^}pf'²®~�}{fU}pf�ozv{}p���ºv{f^�g� ~B��oJvp}�qs���Bv(f ty�d}{f^o{oJ��~���o1²®}{~�eÌv{b�qNv(�'~���oJvp}�qs���=v(�y~Begq��������f�oU���Dvpbdf�r�opf�~s²Q� ~B��oJvp}�qs���Bv�d}{~��B}{q�egei���d�¿� ~B��� f^�yv{oUvp~u�df ���df�vpbdf��'~��y²®~B}pe¿q���� fV}{f'��qNv{��~B��oJb����D©;f vz¤¶f'f'���'~���oJvp}�qs���=v{oq����!vpbdf^�D�'~��=vp}�q�� v{o^¯Ï�´´¶µ �^qs�Çqs��op~�©�f¼f'tZvpf'���yf^�·v{~Ê�yf^q��Q¤��vpb }{f^oJvp}{��� vpf��·�'~���oJvp}�qs���=vVf ty�d}{f^o{oJ��~���o�v{b�qNvi�y~��d~�v�}pf^��qsvpfgv{~�oJr���b �d~s±

e¿qs����o^°L©Zx��yf �������d��op��f�� �����i� ~��d²®~�}{egq���� f�}pf^��qsvp��~���opbd����ok©�f'vz¤(f^f'�_vpbdf^e�¯�Äï�_~Brd}keg~y�yf^�W°?¤¶fif ty�d�����'�¥v{��x�egf'�=v{��~B� ! µf'tZ��}pf�opop��~B��o^°�²®}{~�e v{bdfg��~B������~s²¶Â(��qs��}«qs���·Ã=vpn'²¾qs�d�$²®~B}�¤b�����b·q¿vp}�q�� v{q�©d��f�vpb�f'~�}{xD~s²(�'~��y²®~B}pe¿q���� f�b�q�ok©�f^f'�5�yf ���df^��Þ�"�À¯ ! µ·���=vp}{~y�yr��'f���~i��f'¤ oJxZ�=v{qB�ºvp���«� ~B��ozv{}pr��ºv{o¶v{~ivpbd~=oJfVqs��}{f^q��dx¿f ty��oJvp���d�g����³V´¶µ3¯yÄÀvU}{qsvpbdf^}}pf�ozv{}p���ºv�o(vpbdf^eÒvp~Ye� ���=vpf^��f'}Uq������dqNv{f�� ~���ozv�qs�=v{o&f� ¬Nq�}p��qs©d��f^o¶~N¬Bf'}#f'¬Bf'�=v#vzx=�;f^o^°d���=vpf'�Bf'}�o#qs���D�yf^��qËxyo«­¾�y��¨9f'}{f'���'f^o#~s²¦�dqsvpf^o�¹f

�J�4æC���4���

Page 15: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

h� �����/-*:��4 �4-* 5=������K:;�*3 � �$-*3/�<=������������������$1<35�4:

� ²®r����ºv{��~B��o}{f^oJvp}{��� vpf^�uvp~g���=vpf'�Bf'}UqB�d�y��vp��~��?°y���=vpf'�Bf'}e�rd�¥v{���������'qsvp��~��D©Zxu� ~B��ozv�qs�=v{o^°y�yf'��qËxuqB�d�y��vp��~��?°���qNvp���d�i²®rd��� vp��~��}f� ��}pf��y���^qNv{f^ok}pf�ozv{}p���ºv{f^�Dv{~!f��Br�qs���¥vzxD~N¬�f^}w���=vpf'�Bf'}�o'°9f^¬�f'�=vkvzx=�;f^o^°Lf'¬Bf'�=v{o�qs���Ê�yf^��qËxyo^°9qBow¤¶f'���¦q�ok����f �=r�qs����vp��f^oi­ .V°��w¹~N¬Bf'}#���Bv{f'�Bf'}�o¶q����D�yf'��qËxyo<f

� ��~��B���^qs�L� ~B�d�df��ºvp~B}{oV­��¶°��¶° 7 °��¦¹#qs�����=r�q��Bv{����f'}�oV­ �1° ��¹º¯£ ����rd}{f�� oJr�eie¿q�}p��Ð'f�ogvpbdf_� rd}{}pf^�=vu� ~��=v{}{qB�ºvuqs��� �'~���oJvp}�qs���=v¼eg~Z�df'�U²®~B}!Ï�´´¶µQ¯(§3q���b �'~���oJvp}�qs���=vgvzx=�;f�b�qBouq

�'~���oJvp}�qs���=v(f ty�d}{f^o{op��~B�¿¤bd����b�oJxZ�=v{qst¿��o#� r�}p}{f'�=vp��x�vpbdf�³V´¶µÊopxZ�=v{qNt�­ M���0$��/�#��������� ���¹º¯�cko(¤¶f�b�qˬ�fwopf'f^�?°y� ~B��ozv{}{q����=v�y~Be¿qs����o�}{f^oJvp}{��� vVvpbdf!�Z������o�~s²U�'~���oJvp}�qs���=v�f ty�d}{f^o{oJ��~���o�vpb�qsvi�'q��5©�f��yf^q��¥v�¤��vpb ©=x_vpb�f!� ~B��oJvp}�qs���Bv�op~���¬�f^}^¯ dUf^��� fB°�'~���oJvp}�qs���=v?f ty�d}{f^o{oJ��~���o�qs}{f$²®rd}Jv{bdf'}0}pf ���df��«���=vp~w}pf�qs�Bq�}p��vpb�eif'vp���¦f ty�d}{f^o{op��~B��oQ­ � �����!������� ��$/�#�¹º°�}{f^q��s�����df�qs}�f'ty�d}pf�opop��~���o­ � �����10 � ����/�#�¹Qqs���!©;~Z~���f^q���f'ty�d}pf�opop��~���o«­ 2 � ���$/�#�¹º¯(³wv{bdf'}k� ~���� }{f vpfV�'~���oJvp}�qs���=v�d~�e¿qs����o¤�����0qs��oJ~gb�qˬBf«vpbdf^��}U~N¤�op��f�� �����«� ~B��ozv{}{q����=v¶f ty�d}{f^o{oJ��~���o^¯Jckoqs��}pf�q��yxiegf'�=vp��~���f^�L°y~�vpbdf^}¶�'~���oJvp}�qs���=v3vzxZ��f�o�'q��uqs��oJ~i©;f��yf ���df��L¯ £ ~B}¶f'tdqseg�d��f�°Ï�´´¶µ½�'q�������� ��r��yf ! µÑf ty�d}{f^o{oJ��~���o6� �*�U­ �10$�$/�#�¹º°9¤bd����b_q�}pf�}pf�ozv{}p���ºv{f^�_³V´¶µÑf ty�d}{f^o{op��~B��o'°9©drdv«q���op~u~�vpbdf^}��Z�����do�~s²v{f'eg��~B}{q��¦��~B������f'ty�d}pf�opop��~���o�¤bd����b·q�}pfi�d~�v«f'ty�d}pf�opop��©d��fi��� ³V´¶µÑ©;f^�'q�r�opfi~�²3v{bdf¿��qB����~s²(vpf'eg�;~�}�qs�¦��~��B����~��;f'}�qNv{~�}�o'¯´(~B�y²®~�}{e¿qs���'f�~�²¶� ~B��oJvp}�qs���Bv�oUv{b�qNv��y~Zf�ok��~svV}pf'²®f'}�vp~��'~���oJvp}�qs���=v��y~Begq�����o«��f^}«opfge�r�oJvV©�f¿�yf ���df��_op��f�� �����'q�����x ­Á²®~B}f'tyq�eg�d��fB° ! µ0¹ ¯9´(~B�y²®~�}{e¿qs���'f�©;f vz¤¶f'f^��� ~��=v{}{qB�ºv#vzxZ��f�oUqs�����'~��=vp}�q�� v{o¶��ow�yf ���df^�����Dvpf^}pe¿o~�²$�'~��y²®~B}pe¿qs��� f«©�f'vz¤(f^f'��'~���oJvp}�qs���=v{o^¯���$-*:D8 S�WH�8=R�[�< � 8TU�C 57X�4 Y=I-C:S0�-CTU-*7X�<=I�<T$�Äï��}pf�qs�?op�¥v{r�qNv{��~B��o^°d� ~���ozv{}{q����=v#f ty�d}{f^o{oJ��~���o(���Dqiop��f�� �����'qsvp��~���e�r�oJvU~s²Áv{f'��}pf'²®f'}#vp~g¬Nqs��rdf�o¶vpb�q��!©d}{~BqB�y��x¼oJ�;f^q��=���d�

�'~�egfu²®}{~�e v{bdf!f^�Z¬=��}{~��degf'�=v�~�²Uvpb�f�q��d�d�����^qNvp��~���¯·a#bd��oi����� ��r��yfDoJ�;f^�'�����u¬Nqs��rdf^og�yf^��qËxyo^°1����ei��v{oi~B}�eg~�}{fu�Bf'�df^}{q�����x}{f �=rd��}pf^egf'�=v{o!��eg�;~Bopf^��~���v{bdf·q��d�d�����^qNv{��~B� vp~Ñ��f^}J²®~B}pe-��v{oD�yryvzxB¯ £ ~B}!f'tyq�eg�d��fB°Uv{bd��oD�^qs��©;f_vpbdf_²®}pf��=rdf'���'x�qNv¤bd����b op~�egf�f tZvpf^}p��qs�U�d}{~y� f�opo¿�Bf'�df^}{qsvpf�og¬Ëq���r�f^o¼��eg��~=oJ���d� q5}{f^q��¥±Gvp��egf�����eg�¥v�~�� vpbdf_�d}{~Z�'f^o{oJ���d�5~s²«v{bdf^opf�¬Nqs��rdf^o^¯§Q�Z¬Z��}p~B�degf'�=v{q��¦��qs}�qsegf v{f'}�okq���op~������'��r��yfg��f^¬�f'��o«~s²¶}pf�oJ~Brd}�� f^o�op��f�� ������vp~�vpbdf¼�'rd}{}pf^�Bv«eg�¥t_~s²(}{rd�y±Gvp��egf¿oJxyoJvpf'e�qs���b�q�}{�d¤¶q�}pf�~N¬�f^}¶¤b�����b!vpbdf��'~�eg�;~��df^�Bv�o#f tyf^�'ryvpfB¯Äï��oJvpf�q��!~s²1f^qs}{��x¼� ~�egeg��vJvp���d�ivp~¿op��f�� �����«¬Nqs��rdf^o¶²®~B}¶vpbdf�oJfV��q�}{q�egf vpf^}{o^°Z� ~���ozv{}{q����=v#f ty�d}{f^o{oJ��~���o(¤¶~�rd���u}�qNv{bdf'}#r�opf

opxZe�©;~������¿¬Nq�}p��qs©d��f^oVvpb�qsv�oJb�~�rd���5©�fu©�~Brd���Ç��qNv{f'��x·q����5�d}{~���q��BqNv{f^�_��� �'~��=vp}�q�� v{oV©;f ²®~B}pf¼vpbdf^x·�^qs�Ç©;fu�yxZ��qseg���'q�����x��bdf�����f��L¯!Äï�d²®~�}{egq�����x�°1¤¶f¿¤¶q��Bv�vp~�f ty�d}{f^o{oV��� Ï�´´¶µ½vpb����d�=o������Bf�e�vpbdf!}pf�oJ�;~���opfivp��egfu~s²UqDegf v{bd~y�Ç��� qD�d}p~N¬Z���yf^����=vpf'}p²¾q��'fD¤�����U©;f�� � º°¶¤bdf^}pf����o¼q5opx=e�©�~B������¬Nqs}{��q�©d��f�}{f'�d}{f^opf'�=vp���d�_vpbdf���}p~y� f�opop���d�_�;~N¤¶f'}g~s²�vpbdf�r����yf'}{��x=���d��d}{~y� f�opop~�}qs�����_qs�Dqs���d}p~B�d}{��qsvpf�²®rd��� vp��~��Df^oJvp��e¿qNvpf���©=xuvpbdf��'~�eg�;~��df^�BvU��}p~N¬Z���yf'}�¯�cU�d~�vpbdf^}Uf tdqseg�d��fV��o#vp~gf ty�d}{f^o{ov{b�qNv¦��²�vpb�f(}{f^op��~B��opfQvp��egf¶²®~�}¦oJ~Begfk­®}{f �=rd��}{f^��¹�~��;f'}�qNv{��~B��R� �3��o0��f^o{o0vpb�q���q�� f^}Jv�qs����¬Nqs��rdf(���iei��������oJf�� ~B���do0}pf^�d}pf�oJf^�=vpf^�©Zxkvpbdf3opxZe�©;~������$¬Nq�}p��qs©d��f��Ì°^vpbdf^�Vvpbdf3}pf�oJ�;~���opf$vp��egf¦²®~�}0oJ~Beif¦~�vpbdf^}(­¾�d}p~N¬Z���yf^��¹;~��;f'}�qNvp��~��R� � ��o?��f�opo?vpb�q����������/$��N¯£ ~�}����ozv�qs���'f�°yv{bd��o� ~�r�����f ty�d}{f^o{o(vpbdf«²¾qB�ºvv{b�qNvv{bdf�vpbd}{~�rd�Bbd�dryvU~�¨;f^}pf��u©Zxuqie�rd�¥v{��egf��y��q¿�'~�eg�;~��df^�Bv���D�=r�e�©;f'}~s²¬Z���yf'~¿²®}�qsegf�oU�;f'}«oJf�� ~������yf'�;f'����owrd�;~���vpbdf�vpbd}{~�rd�Bbd�dryvk~s²¦vpb�f��df'vz¤(~B}p�!���=vpf^}J²¾qB� f�}{f �=rd��}{f^�D©Zxuv{bdf��'~�eg�;~��df^�Bvwvp~v{}{q���oJeg��vvpbdf�oJf«¬Z���yf'~i²®}�qsegf^o^¯£ }p~Be�q�vpb�f'~�}{f v{���^qs�¦�;~����=v�~s²#¬Z��f^¤V°�v{bdf^opfuopx=e�©�~B�����g¬Nqs}{��q�©d��f^oVopbd~�rd���·©�fu���=vpf^}p��}pf'vpf^�5qBoVrd�d��¬�f^}{o{qs����x �=r�q��=vp����f^�

¬Nqs}{��qs©d��f^oV��� �'~���oJvp}�qs���=v{o^¯�´(~B�y²®~�}{e¿qs���'fgvpbdf^}pf'²®~�}{fgv{q���f^o�vpbd��o����=vp~·q��'�'~�rd�=v�©Zx5q�o{� f'}pv{q��������d�Dv{b�qNvi� ~���ozv{}{q����=v{o�qs����'~��=vp}�q�� v{owq�}pf�� ~��d²®~�}{egq��=vU²®~�}«qs�����;~Bo{oJ��©d��f�¬Nqs��rdf�ow~�²¦vpbdf�oJfioJxZe�©;~�������¬Nqs}{��q�©d��f^o^°�~�}k��f^�df'}�qNv{f�� ~B��ozv{}{q����=v�ovpb�qNvwv{bdf^opf¬Nqs��rdf�o#e�r�oJvU~�©�opf'}{¬�fkvp~ge¿qs�BfVoJrd}{f�vpb�qsvvpbdf��'~��y²®~B}peg��vzx¿bd~����do^¯� �* 5�=VTU-C8 5= B �5�$B��C8 � -* �LW���"�< 5=V�»k�¥¨9f'}{f'�=v�vzxZ�;f^o�~s²U� ~B��oJvp}�qs���Bv�oVe�r�ozv�©;f!��b�f^����f��5qNv��y��¨9f'}{f'�=v�����ozv�qs�=v{o��yrd}{������vpbdf!f tyf^�'ryvp��~���¯Da0}�q��y��vp��~���q��Q���y±

¬Nqs}{��qs�=v{o^°B��}pf'±¦q����¿�;~BoJv{�'~����y��vp��~���o¶q�}pfwr�oJr�qs����x¼��bdf�����f��¿rd�;~��uegf'vpbd~y�uqB�ºv{��¬NqNv{��~B�uqs���¼}{f vpr�}p�?¯$§Q¬Z���yf'��� f«oJbd~N¤Uo3vpb�qNv���Z¬Ëq�}p��qs�=vkopbd~Brd���Êqs��oJ~¿©;fi��b�f^����f���¤bdf'�Ê�'~��=vp}{~��0��f�qˬ�f�oUqs����}pf'vprd}{��ov{~¼v{bdf�~B©y�zf^� v,� �"�G°;v{~!�yf�qs�0�'~�}{}pf��ºv{��x�¤�¥v{bÊ�'q�����±©�qB���yo'¯�Äï�5q�� ~���� rd}{}pf^�=vk�d}{~��B}{q�eieg���d�u�'~��=vpf't=v�°9vpbdfg~B�d��x�����qB� f^o�¤bdf^}pfgqs�_���Z¬Nqs}{��qs�=v«�'~�rd����©;fg©d}{~���f^�Êqs}{fg� }{�¥v{���^qs�opf^� vp��~���o^¯»kf �������d�Ê�d}pf�� ��oJf^��x�vpbdfuopf'e¿q��Bv{���^oV~s²� ~B��oJvp}�qs���Bv���bdf����Z���d����oV�Z�d~N¤�Çq�o�qDb�qs}��·�d}p~B©d��f'e � �"�À¯!§3�¥¨9f'�(b�q�o�qD¬Bf'}{x

�d}{f^�'��opf�opf v�~s²3}{rd��f^oUvp~D�yf^q��0¤��vpb����Z¬Nqs}{��q��Bv�°���}pf'±#q������;~BoJv{� ~B���y��vp��~���owvpb�qNvk�B~ue�r���b�²¾qs}pvpb�f'}kvpb�q��ÊoJ��eg�d��x���f'��f'}�qNvpf�'~Z�df«²®~�}#vpb�f���bdf^���¿~B��f^�=vp}{��f�o¶q�����f ty��v{o#~s²$egf v{bd~y�do'°�q�oop~�egf«�d}pf^�d}{~Z�'f^o{oJ~B}{oQ²®~�}U»k©;´ ���D~sv{bdf'}��qs����r�q���f^o#�y~�¯a#b�q��d�yo(vp~gvpb�f��Bf'�df^}{q�����vzx¿~s²1�¥v�o#f'¬Bf'�=vei~y�yf^�W°;Ï�´´¶µ_~�¨;f^}{o#q ��f'tZ��©d��fVqs���!�d}{f^� ��opf�¤#qËxgvp~¿�yf ���df�vpb�f�oJf^egq��=vp���'o

~�²��yxZ��q�ei������bdf^���Z���d��²®~B}��df^¤ ~4�"�5�&�@��*�����6��C2� �4�'¯½´(~���oJvp}�qs���=vi��bdf����·��o�vp}{���B��f^}pf��Ç©Zx5vpbdfD~y�'�'rd}p}{f'��� f¼~�²kf'¬Bf'�=v{o�~s²�d}{f^�df ���df��uf^¬�f^�Bv¶vzxZ��f�o'¯�+���vpbDqioJr �¼�'��f^�Bv{��x ���df ±À��}�qs���df��¿f'¬Bf'�=vei~y�yf^�W°y��v©�f�� ~Beif�o¶��~=opop��©���fkvp~¿op��f�� ��²®xuq�o¶�d}{f^�'��opf'��xqBo#~��df«¤#qs�=v{o#¤bdf^�Df^q���bD� ~B��oJvp}�qs���Bv#e�r�ozvU©;f���bdf^���Bf^�L¯� �* Y=VT -�B<=@�6-* �LWB$�* Y=VT -�B<=Z=?E 0��4�

� �*�)�V�$�.~&�?��q�}pf�opf v�o¼~s²��'~���oJvp}�qs���=v{og���=¬B~���¬Z���d�ÇqÇ�Zrde�©�f^}¼~s²V�d}{~��B}{q�e f'�=v{�¥v{��f�o¿vp~Ǥb�����b q�}pf�qsvJv{qB��bdf^�½op��f�� ������=r�q�����vzx�qsvJvp}{��©dryvpf�o'¯$¶f^�^qsr�opfUoJ��eg����qs}Q�'~��=vp}�q�� v{o¦�^qs�¿qs�d����x����¿opf'¬�f^}{q��d� ~B�Bv{f tZv{o^°��'~��=vp}�q�� v¦q�©�oJvp}�q��ºv{��~B��o^°sbdf'}{f'©Zx���qsegf^�~4�"���@��S~ �K��C2�b��^°dqs}{fV� ~��=v{}{qB�ºv{o¶��q�}{q�egf vpf^}p��Ð'f��¼©Zx¿v{bdf�� ~B��ozv{}{q�����f^�¼��}p~B��}�qse�f'�=v{�¥v{��f�o'¯

OM_J�`Oba

Page 16: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

������������� ������������ h&�

#��$"���$� �!����� �-N������ � � ��������J�� "������#$��"���$� J� �� � �!������������������� ����� ���8J� �#$��"���$� �����*%������ �� � ���� �������������

#��$"���$� �!����� �-N������9�� ����������� ����#$��"���$� J� �� � �!����������!���� ����*%������ ���2� ��� �!�����1/���#$��"���$� � ��� ������������#$��"���$� �����*%������ ��� ��� � ��� �!�����1/���

£ ����r�}pf��.e¦Äï�=v{f'}p²¾q�� f�o(²®~�}#vpb�fV}pf�oJ�;~���opf�vp��egfVf tdqseg�d��f

´(~B�Bv{}{qB�ºv(vzx=�;f^oq�}pfk��qs}�qsegf'vpf'}{��Ð'f^�¼©=x!oJxZe�©;~������w¬Nqs}{��qs©d��f^o^°B¤b�����b�}pf^�d}{f^opf'�=v¶�yf^��f^���yf^��� ��f^o#~N¬Bf'}¶¬Ëq���r�f^o(vpb�qsv¤�����©;fu�Z�d~N¤�5��qNvpf^}u­®¤b�f'� ©d�����y���d��v{bdf^opf¼¬Nqs}{��qs©d��f^o^°�f^¬�f'�=v{r�qs����x·qNv��df'�d��~NxZeif^�=v�~�}�qsv�}pr��y±Wv{��egfB°0©drdv�©;f ²®~�}{f¼��bdf����=���d�v{bdfV� ~���ozv{}{q����=v{o�¹º¯$¶f^�^qsr�opfkopr���b!opxZe�©;~������k¬Nqs}{��q�©d��f^o(e�r�oJv¶~�²Ávpf^�!©;f�opb�q�}pf��uqseg~B�d���'~���oJvp}�qs���=v{o¶qs�d�;f^q�}p���d������opf'¬Bf'}�qs��'~��=vp}�q�� v{o^°=�'~��=vp}�q�� v3vzxZ��f�o#qs}{fw��q�}{q�eif'vpf^}p��Ð'f��¿©Zx¼oJr���b�oJxZe�©�~B�����U¬Nqs}{��qs©d��f^o¶qs���!q��'~��=vp}�q�� v3vzxZ�;fwv{b�qNv#¤¶q��=v{o(vp~ir�opf�qopxZe�©;~������3¬Ëq�}p��qs©���f¶�yf ����f^������q��d~sv{bdf'}$� ~B�=vp}�q��ºv�vzx=�;f¶©�f�� ~�egf�o0qBopop~y� ��qNvpf���vp~kvpb�qsv1~�vpbdf^}1�'~��=vp}�q�� v^¯1´(~B�=vp}�q��ºv0vzxZ��f�o0q�}pfv{bdf'}{f ²®~B}pf�q���op~¿��q�}{q�eif'vpf^}p��Ð'f��u©Zx�~svpb�f'}w�'~��=vp}�q�� vvzx=�;f^oUvp~¼f'ty�d}pf�opovpbd��ow�Z�����D~s²¦}{f'��qNv{��~B��oJb�����o^°�q�����vp~uopxZ�=v{q�� vp���'q�����x�B��¬Bfkv{bdfV�;~Bo{oJ��©d������vzx¿vp~¿r�oJf«���Dqg�'~��=vp}�q�� v(vzxZ�;f ��v{bdf�oJxZe�©�~B��������qs}�qsegf v{f'}�o#�yf ����f^�����!vpb�f�� ~��=v{}{qB�ºv#vzxZ��f ���G¯ �

cw�d~sv{bdf'}#v{~sv{q�����xu�y��¨9f'}{f'�=v�=�����!~s²¦�yf'�;f'���yf'���'xuqs}{��oJf�©�f'vz¤(f^f'�D� ~B�Bv{}{qB�ºv�o(¤b�f'�D�y�¥¨9f'}{f'�=vw�'~��=vp}�q�� v{o¶q�o{oJ~y� ��qNv{f^�¼vp~�d}{~N¬Z���df^�5���Bv{f'}p²¾q��'f^o�}{f'��x·~�� �y��¨;f^}pf^�=v{oi� ~���ozv{}{qB�ºv{o�q�o{oJ~y� ��qNv{f^�_vp~_}pf��=rd��}{f^�5���=vpf^}J²¾qB� f^o^¯�Äï�y²®~B}pe¿qs����x�°$¤(fu¤¶q��Bv�vp~Ê©;fq�©d��f�vp~uf'ty�d}pf�opovpbd���d�Bow������f2e(��²¦vpb�f�� ~Beg��~B�df'�=vwb�qBowqB�'� f�opovp~¿v{bdf��df'vz¤(~B}p�!¤�¥v{b�q¼� f^}Jv�qs������f^¬�f^��~s²Qopf^�'rd}p��vzx5­¾opf^� r�}pfop~y����f v�o'°�²®~�}Uf'tdqseg�d��f�¹º°�vpb�f'����v��'q��D�d}p~N¬Z���yf�q¼opf^�'rd}pf«v{}{q���o{q��ºv{��~B�Deif���b�qs����opeD°�©dryv��¥²$v{bdf��'~��=vp}�q�� vU~��Dvpb�f�}pf��=rd��}{f^����=vpf'}p²¾q��'f¿�y~Zf^oV�d~�vV~s¨9f'}�qs�ZxÊopf^�'rd}{�¥vzx�egf���b�qs�d��ope�°?vpbdf^�5vpbdfgv{}{q���opqB�ºv{��~B�Êegf^��b�q��d��oJe�¤�����Q©�f¿r���oJf�� rd}{f�¯u´(~B�Bv{}{qB�ºvvzxZ�;f^o¶vpb�f'}{f ²®~�}{f«�yf ����f«�df'�;f'���yf^��� ��f^o#©;f vz¤¶f'f^�!�'~��=vp}�q�� v^¯¦a#bdf^opf«�yf'�;f'���df'���'��f�oqs}{fkr�opf^�u���!vpb�f�oJf^egq��=vp���'o(~s²$Ï�´´¶µ3°¤bd����b¿opqËxyo1v{b�qNv3��²?oJ~Begf¶}{f �=rd��}{f^�i� ~��=v{}{qB�ºv{o¦q�}pfo{qNv{��o ��f^�?°svpb�f'�¼qs���yv{bdf�d}{~N¬=���yf����'~��=vp}�q�� v{o1vpb�qNv(�yf^��f^���do¦r���~B�gvpbd~=oJfo{qNv{��o ��f^�!}{f �=rd��}pf��!�'~��=vp}�q�� v{o¶e�r�oJvU©;f�ozv�qNvp��o ��f^�!©Zx¿vpbdf��'~�eg�;~��df^�Bv�¯� �* Y=VT -�B<=_=?E 0��68 S�5�4T8=>-* �B$�´(~B�Bv{}{qB�ºv(vzx=�;f^o#�^qs�¼©;fV�yf ����f^�uqBo¶f tZvpf^��oJ��~���o3~�²�f ty��ozv{���d�i� ~B�Bv{}{qB�ºv(vzx=�;f^o^¯Qa#bdf��df'¤E� ~��=v{}{qB�ºv3vzxZ�;fwv{bdf'�!����bdf'}{�¥v�o

²®}{~�e4vpbdf�f tZvpf^���yf��D~��df�o#vpbdf^��}kf'�=vp��vzx���qs}�qsegf v{f'}�o'°dvpbdf^��}k}pf^��qsvp��¬�f�� ~B�=vp}�q��ºvvzxZ�;f^o^°dv{bdf'��}kopxZe�©;~������V��qs}�qsegf v{f'}�o'°Zv{bdf'��}�yf^��f^���yf^�Bv«� ~B�Bv{}{qB�ºv�oUqs��� ����qs����xuvpbdf^��}�� ~B��ozv{}{q����=v�o'¯¶§¦tZvpf^��oJ��~��Êe�r�oJvw©;f�rd���yf^}{oJvp~Z~y��q�okqg}pf ���df^eif^�=vw}pf^��qsvp��~���opbd���?¯a#bdfk�df'¤��'~��=vp}�q�� v¦vzx=�;fwe�r�oJv(� ~B�y²®~�}{e�v{~Vvpb�fwf tZv{f'���yf��¿~���f^o^°��G¯ fB¯B¤bdf^�df'¬Bf'}3�'~��=vp}�q�� v{o¦~�²9vpbdfk�df'¤�� ~B�=vp}�q��ºv3vzx=�;fwq�}pfo{qNv{��o ��f^�?°9�'~��=vp}�q�� v{o~�²¦vpbdf�f tZvpf^���yf��Ê� ~B�=vp}�q��ºvwvzx=�;f^ow¤(~Brd����qs��oJ~u©�fiopqsvp��o ��f��L¯[#wf'¤Y�'~���oJvp}�qs���=v{ow�^qs��v{bdf'}{f ²®~B}pf�~��d��xoJvp}{f'�d�Bb=vpf'�D� ~B��oJvp}�qs���Bv�o#qs�d�;f^q�}p���d�i����vpb�fVf tZvpf^���yf^�D�'~��=vp}�q�� v(vzxZ�;f^o^¯a#bdf ����rd}{f������� ��r��yf�o¦v{bdfw� r�}p}{f'�=v3� ~B�=vp}�q��ºvQeg~y�yf^�d²®~�}¶Ï�´´¶µQ¯2c �� �������������'���#�Ub�qBo¦f'�=v{�¥vzxi��qs}�qsegf'vpf'}�o^°��yf ���df^�

©Zx!qi��q�egf«q�����q �� ��1'�� #��°Zqs����oJxZe�©�~B��������qs}�qsegf v{f'}�o«­ �1� %�" ���$����� ���*% � �����y¹ ¯�cU��oJ~�°dq��� ������������'�� #���'qs��f tZv{f'���~�vpbdf^}i�'~��=vp}�q�� v�vzxZ��f�o'°Qopb�q�}pf�oJxZe�©;~������¼��q�}{q�eif'vpf^}{o�¤�¥v{b ~sv{bdf'}g� ~B�=vp}�q��ºv�vzx=�;f^ogq���� �yf^��f^��� r���~B� ~sv{bdf'}g� ~B�Bv{}{qB�ºvvzxZ�;f^o^¯ / �,0 ��C2�b���qs}{f����Bv{}p~y�yr�� f^��vp~DoJrd����~B}JvV� ~B�Bv{}{qB�ºvkvzx=�;f^o«qBok�'~��=vp}�q�� v�qs©�ozv{}{qB�ºvp��~���o'°;©Zx��'qNv{f'�B~�}{��Ð^���d�¿��}p~B��}�qsef^�Bv{�¥v{��f�o$����¬�f^�Vvpbdfopf v$~s² �Br�qs���¥vzxVqNvpvp}{��©�ryvpf�o¦qNvJv�q���bdf��«vp~�v{bdf'eD°�qBo0opbd~N¤����� £ ����r�}pf#�y¯ ! ~=Ã�vzxZ�;f^o$oJf^}p¬BfQvz¤¶~k��rd}p�;~Bopf^o&e���yf'�=v{�¥²®x¿v{bdf �=r�qs���¥vzx¼qsvJv{}p��©dryv{f^o(vpb�qsvU�'qs�!©�f«� ~B��oJvp}�qs���df^�¼²®~�}¶f^q���b!~s²?v{bdf«��qs}�qsegf'vpf'}�o(����q��'~��=vp}�q�� v¶qs©�ozv{}{qB�ºvp��~��!qs���¬Bf'}{�¥²®xÇv{bdf�� ~B�y²®~�}{e¿qs���'f!~�²k�d}{~��B}{q�e f^�=vp��vp��f^oivp~Ç�'~��=vp}�q�� viq�� vpr�q����qs}�qsegf'vpf'}�o�¤bdf'�½qs�d����xZ���d�·vpbdf�� ~B�=vp}�q��ºvivzxZ��fB¯ÃZ��eg����qs}{��xDvp~D� ~��=v{}{qB�ºvUvzxZ�;f^o^° ! ~=ÃDvzxZ�;f^o«�'q���©;fg�df ���df��ÊqBowf't=v{f'��op��~���o�~s²(f ty��oJvp���d� ! ~=Ã�vzxZ�;f^o&fLvpbdfg�df^¤ ! ~=ÃDvzx=�;f���dbdf^}p��v{oUq����L~�²0v{bdf �=r�qs����vzx¼qNvJv{}p��©dryv{f^oU�df ���df�������vpb�fVf tZvpf^���yf^�!~���f^o^¯

� �! ��+ �D% ��

cw� ��eg��~B}Jv�qs�=v¿}pf��=rd��}{f'egf^�Bvi²®~�}uÏ�´´¶µ\��oivpbdf�q�©d������vzxÇvp~5����� ��r��yfD��v¼¤�¥v{bd���½opf'¬Bf'}�qs�¶eg~Z�df'�����d�Çq���� ��}p~B��}�qsegeg���d���qs�d�Br�qs�Bf^o^¯$ÄÀv{oU�yf�oJ������e�r�ozvv{bdf'}{f ²®~B}pf«qˬ�~B����oJ�;f^�'���;���'~����'}pf'vpfVopx=�=v�qNtL°dqs����©;fV}{qsvpbdf^}#©�q�opf^��~��Dqs��q�©�ozv{}{qB�ºvoJxZ�=v{qstv{b�qNv(�^qs�g©;fv{q�}p�Bf vpf���vp~�op��f�� �����bd~=ozvQ��qs�d�Br�qs�Bf^o^¯�a#bdf²®~Brd}Q�d}{f^�'f^�y���d�Veg~y�yf'��oQ�yf ���dfwq��¿qs©�oJvp}�q�� v3oJxZ�=v{qst�²®~�}(Ï�´´¶µ3¯a1qs}{��f'vp���d� ����� ��r��yf�o¿vpb�f_�yf ���d��vp��~���~�²�q e¿qs�d�����d� ²®}p~Be v{bdf^opfÊeg~y�yf'��ouvp~ qÑ� ~���� }{f vpf�opxZ�=v{qNt½e¿qNv���bd�����Çvpbdf_bd~BoJv" a0æËà�éWÛËåzá�ß?ãzë3éWà$êËåJã�ö�ß�Ü éWÛ(ÝWçËîÀÛ(êËåzè�åzæËê�åJæ�îJÜÞåzÝ;ß9àºçËöÞê¶äså9éWà$èËç�é�ÜÞæ¶àºæ�åLîJàºæ éWáGã�îïé9è�áWàJù�ÜÞêËåzêã�æ�ê¶á¾å ]'çËÜÞá¾åzêîJàºæ�ÝWéWáGã�ÜÞæ éGÝ P^ã�Ý�ÜÞæ¶ú9ö ã�ÜÞá$# Ýdã�æ�êñ'é ô N�ã�æËÜ%# Ý?ã�èËè�áWà ã�îÀÛ'& �)(Áò+*�å1äsåzöÞÜÞåïù å0éWÛNã{é?àºçËá9îzàºæ éGáWã�îïé0ê�åJèsåzæËêËåzæËîïëw÷åzîÀÛNã�æËÜÞÝW÷5ß�ÜÞöÞöNèËáWàJù å1éWà(äså�÷àºáWå-,Nå*R�ÜÞä�öÞå P^÷à'êËçËö ã�á9ã�æ�êwå*R'éGåzæËÝWÜÞäËöÞåºò

�J�4æC���4���

Page 17: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

h^� �����/-*:��4 �4-* 5=������K:;�*3 � �$-*3/�<=������������������$1<35�4:

���N���� ������� �#����� ���� ���0 ��N���� � � ���������� ���� �� � % ������ �/����*��� �!� � ��6J��������!����#��2������/J�� ���� �� � ����� % �!������� �� ������� N��� *%��� �� %������ �� �������J������� �� �� �/����*��� �!� � �

N��� *% �1/����*����� � � �� ��� � % �!�� � �� �� �� �� �� %������ ��

�� ����������!�������$��#� #���� �� %�� �� � $��0 ��N���� ��� � � �! �������1� �#��# �� ���� ��J�� ��� �� ��� ����������!�������$��#� # �� �� %�� � $��0 ��N���� ������� �� �������$� �#��#� �� �������J������� �� ��� ����������!�������$��#� �!�-J������������ �� % � �� $�$0 ��N����*��� ��� �� �������$� � ��# �� ������/J�� ���� �� � ����� % �!������� �� �

£ ����rd}{fW"�eQ»kf ���d��vp��~��D~�²0~��;f'}�qNv{��~B�!����²®f^� xy�'��fVqs���uv{bdf«vpb�}pf^f�©�q�op���«� ~B��oJvp}�qs���Bv¶vzxZ��f�o

��qs�d�Br�qs�Bf�°�q�����vpb�f��yf ���d��vp��~���~�²¦q¼egq��d�d���d�¿©;f vz¤¶f'f'�_�yf^op���B��qNv{��~B��op��bdf^egf^oUq�����op�'~��d���d�¿}{rd��f^oU~�²3Ï�´´¶µ qs����vpbd~=oJf~�²0v{bdfVbd~BoJv��q��d��r�qs��fB¯0Äï��v{bd��owoJf��ºvp��~���°y¤(fVq��d~��yvUq¿�=qˬËqs±G������fkopxZ�=v{qNt�q�o#qgeg~Z���=±Àrd�!²®~�}Uopr���b�q�v�qs}{��f v{������~�²¦Ï�´´¶µ3¯

$]iUj � �9p9z)w�n�vZp]y �,|9ybx.w³krd}Uop��ei��������f^�Df'tdqseg�d��f«qBopoprdegf^o¶v{b�qNvwq���q��d�d�����^qNv{��~B�!����� ��r��yf�oUqg� ~Bei�;~���f'�=v ����vpb�qsvU�Bqsvpbdf^}{o¶��f^x=±G¬Nqs��rdf«��q���}�o#qs���v{bdf'�Ç�d}{~N¬Z���dfiq�}{f vp}{��f'¬Nqs�Qopf'}{¬Z���'f�²®~B}V¬Nqs��rdf^o«�B��¬Bf'�_vpbdf¼qBopop~y� ��qNvpf����Bf'x�¯¼È«f^xyoVqs}{fgqBopoprdegf^�Êvp~D©;f¼� ~Bei��qs}�qs©d��f�¯ ����d}{~N¬Z���df^oVv{bd��o�opf'}{¬Z���'f¼©Zx_�dr�©d����opbd������vpb�fu�d}{~N¬Z���yf��5���=v{f'}p²¾q�� f � � �������6J��"����!q��d�;f^qs}{���d����� £ ���Brd}pf��y¯Êa0~_oJvp~B}pf¿v{bdff^��f^eif^�=v{o^°�v{bd��ok�'~�eg��~B�df'�=vw}{f �=rd��}{f^o#vz¤¶~¼����ozv�qs���'f^ow~s²3qu�'~�����f��ºv{��~B��� ~�eg�;~��df^�=vw�d}{~N¬=���y���d�gvpb�}pf^f�opf'}{¬=��� f�o<e¶����oJf^}Jv{������°}{f v{rd}p�����d��vpb�f«op��Ð'f«~s²0vpbdfV� ~B����f^� vp��~���qs���u��f vpvp���d�¿qs�!f'��f'egf'�=v#²®}p~BeÒqs�������yf tu}�qs�������d��©;f vz¤¶f'f^�_h«qs���uvpb�f«op��Ð'f�~s²�v{bdf�'~�����f��ºvp��~���¯Qa#bdf«}pf��Br���}{f^�!���=v{f'}p²¾q�� f«��o�'q�����f^� �� ��������� �� ��¿qs���!�¥vwq���op~gqs�d�;f^q�}{o#��� £ ����r�}pf��y¯£ ~�}#vpb�qNv�drd}{��~=oJfB°dqi�d}p~y�'rd}pf^egf'�=v(v{f^q�eÒ��oU}pf��Br���}{f^�¼vp~������~��!vpb�f�e¿q�}p�Bf vUqg� ~�eg�;~��df^�=v#��}p~N¬Z���y������vpb�fV�df'f��yf^�

opf'}{¬Z���'f�¯Ça#bd��o�v{f^qse �����do�vz¤(~_~s¨;±Wv{bdf ±ïopbdf'��²k� ~Beg��~B�df'�=v{o����·qs��� ����°Q©;~sv{b �d}{~N¬Z���y���d��v{bdf����=vpf^}J²¾qB� f �� ������������� ��L¯cU²Ávpf'}«qu�^qs}{f ²®rd�0f tdqseg����qNv{��~B�D~s²¦vpb�f�� ~Begeif^}{�'��q��0�y~y�'rdegf'�=v{qsvp��~��D²®~�}wvpbdf�vz¤(~!� ~�eg�;~��df^�=v{o^°dvpb�f��d}{~y� rd}{f'egf^�Bvv{f^q�eqBop�'f'}pv{qs���gvpb�qNv3v{bdf'x¿q�}pfU©;~sv{buf'¨;f��ºvp��¬�f^��xi��ei����f^eif^�=vp���d��v{bdfk�df^op��}{f^�i²®rd���ºvp��~���qs���¥vzxB¯¦Ãy~�°Bvpbdf^x¼qs}{fw� ~Bei���d��©�q�����vp~�v{bdf�yf^¬�f^��~B�degf'�=vkv{f^q�e ²®~�}Vq!�df^� ��op��~B�?°?oJ�����'f�v{bdf'}{f���o«�d~�}pf�q�op~��Dv{~D��b�~=~=oJf�~��dfi~�}kvpb�fi~�vpbdf^}«©�f�oJ���yf^okv{bdf¿�y�¥¨9f'}{f'��� fi����'~BoJv^¯

$]i?h ���w.x�y���Q�9pOz)w�nAvZp9y��,|9x5v | l}x.w�nAlJm»kf'¬Bf'��~��;f'}�o#~s² ���V����²¾q��ºvkb�qˬ�f«��ei����f^eif^�=vpf^�!v{bdf � � ��������J�� "��������=vpf^}J²¾qB� f«©Zxu�Bf'f'�����d�¿�Bf'xyoop~�}pvpf^�!����~��df��'~�����f��ºvp��~��q����¿©Zx¿ozv{~�}{���d��vpbdf�� ~�}{}{f^op��~B���y���d�V¬Nqs��rdfkqsvQvpbdf«o{qsegfU�����yf t¿���¿vpb�f�opf^�'~����¿�'~�����f��ºvp��~���¯1a0~���~Z~���²®~�}#qs�¿f'��f'egf^�Bv�°=vpbdf^x�Bf v3v{bdfw�����yf't¿~s²Lvpb�fk�Bf'xir�oJ���d�iqV©d����qs}{xiopf^q�}{��b¿~B�gvpbdf ��}�ozv#� ~B����f^� vp��~��¼qs���gvpbdf^�¿vpb�f'xgr�opfUvpb���o(�����yf tgvp~�}pf'vp}{��f^¬�fv{bdf�'~�}{}pf�oJ�;~����d���d�if'��f'egf^�Bv����vpbdf�opf^�'~������ ~B����f^� vp��~��?¯

#w~N¤V°(� ~B��op���yf^}ivpb�qsv ���·��eg�d��f'egf'�=v{o¿vpbdf��'~�����f��ºvp��~��Ñr�op���d�Çq·¬�f��ºv{~�}g¤bd����f ���·r�opf^o¿q·�����df�qs}g����oJv^¯�§Q��f'egf^�Bv�qs}{x�Z�d~N¤��f^�y�Bf«~���qs����~B}p��vpbde¿o(vpf^����or�ovpb�qsvUr�oJ���d� ���g��o$�zr�oJvU�d��qs���D¤}p~B�d��¯Qa#bdfV©�q�op���«q�o{oprdeg�yvp��~��!vpb�qsvwe¿qs�Bf^o#qg©d����qs}{xopf^q�}{��b·���=v{f'}{f^oJvp���d��°1�W¯ f�¯0��~B�Dvp��egf�°$��oVvpb�qsv�q��^� f^o{op���d��q��Çf'��f'egf'�=vV²®}{~�e�qs�5�����yf t·v{q���f^o�� ~���ozv�qs�=vVvp��egfÊ­®©;f^op���df^oVv{bdf²¾qB�ºv�v{b�qNv��'~�eg�dryv{���d�Dv{bdf¼qs}{��vpbdegf v{���gegf�qs�5~s²¶vz¤(~D�����yf'tZf�oV��o�qs��oJ~��y~B�dfg��� �'~���oJv{q��=v�v{��egf˹º¯W+·f¼qs���Q�Z�d~N¤�vpb�qsv��¥²qB�'� f�opop���d�¿f'��f'egf'�=v�o#²®}p~Be4�����yf'tyf^o#v�qs��f�o�����df�qs}v{��egfB°�v{bdf'��©d����q�}px�oJf�qs}���b!¤������vprd}{�%:� ���� :Çqs����q¿op��ei����f�opf �=rdf^�=vp��qs�opf^q�}{��b!©�f�� ~�egf�oe�r���b�©;f vJv{f'}�¯ �¶ryvwb�~N¤E�'q��D¤(f�q��d�d��x¼vpb���owf'��f'egf'�=v{q�}pxu�=��~N¤��f��y��f�²®}{~�e ~Brd} ��}�oJvw� ~�r�}{opf^o¶����� ~�eg�drdvpf'}kop�'��f^��� fV��²Q� ~�eg�;~��df^�=v{o

��� qs��� ��� qs}{f!Å.�$0�-21435�(8790):;�<7��< 5=>-*=?@�* ���6�$3. )B<=?@�* )-C:D8=?ENÆ�� ³w²��'~�rd}�opf�°����vpbd��o�~N¬�f^}{op��eg�d������f^� f tdq�ei����fB°Ue¿qs�Zx�y��¨9f'}{f'�=v«op~���ryv{��~B��o«qs�d�;f^q�}w²®f�q�op��©d��f�ek�y~y� rdegf'�=v{���d�!vpb�fi��bd~B���'f�~�²3��eg�d��f'egf^�Bv�qNv{��~B�Ñ­®©�ryvVbd~N¤��˹º°?�y~B���d�!��f^}J²®~B}pe¿q���� fegf^qBoJr�}pf^eif^�=v{owq����Ê�d��o{� ~N¬Bf'}{���d�iv{bdf�©;f'b�qˬ=��~�}k~s²¦v{bdf�vz¤¶~u�'~�eg��~B�df'�=v�o�­¾¤bd����b·q�o{oJr�eif�ov{b�qNv�x�~�r_�'qs��vpf^oJvwv{bdf�vz¤(~�'~�eg��~B�df'�=v�o#©�f'²®~�}{fV©drdxZ������v{bdf'e¼¹ °?¯�¯�¯

� a0Ý9ÜÞæËîzá¾åJê�ÜÞäËöÞå¦ã�Ý;éWÛËÜÞÝL÷Ü õ Û é9ã�èËèsåJã�á$P�éWÛËÜÞÝLÝGîzåzæNã�á¾ÜÞà¶ÜÞÝ;ÜÞæ7N�ã�îïéLÜÞæËÝGè�ÜÞáWåzê N�áWàº÷ ã$éGá¾çËå$ݾéGàºá®ë P�ß�ÛËåzæUàºæËå1à5N=éGÛËå1ã�ç�éWÛËàºá9ß?ã�ÝLÜÞ÷èËöÞåz÷åzæ'éWÜÞæ õã�æ¼ÜÞæ'éWåzæËÝGÜ ù åkîJàº÷è�ç�éGÜÞæ õ ã�è�èËöÞÜÞîJã{éGÜÞàºæ=ògÚ�Û�ÜÞÝã�èËèËöÞÜÞîJã{éWÜÞàºæ¼ßLã�Ý#áWåzö ë^ÜÞæ õ àºæ¼ã�öÞÜÞäËáWã�á®ë N�àºá#èËÜÞåzîzåzß�ÜÞÝWåköÞÜÞæËåJã�áã�è�èËáWà R�ÜÞ÷Uã{éWÜÞàºæËÝà5N`N�ç�æËîïéGÜÞàºæËÝN�á¾àº÷ áWåJã�öÞÝ?éGà#á¾åJã�öÞÝ?ÜÞ÷èËöÞåz÷åJæ éWåJêUä ëkã(ÝGç�÷÷åJá;ÜÞæ'éWåzáWæ=ò *�å¦êËÜÞÝGîzàJù åJá¾åzê«àºæËö ëwã�N¥éGåzá?ÝGåïù åzáWã�ö=ßLåzåzâ^Ý PËß�ÛËÜÞöÞå0éWáGã�îGâ^ÜÞæ õ ÜÞæ�å��#îJÜÞåzæËîzÜÞåzÝ\P�éGÛNã{é?éWÛËåÝGçË÷÷åzá?ÜÞæ éGåzá¾æ«éGÛËàºç õ Û'é1Ü é0ßLàºç�öÞê«äsåQß�ÜÞÝWåQéWàÜÞ÷èËöÞåz÷åzæ'é?éWÛËå N�ç�æËîïéGÜÞàºæVöÞà'îJã{éGÜÞæ õ éWÛËåQèËÜÞåzîzå(îzàºæ éÀã�ÜÞæËÜÞæ õ éWÛËåQùºã�öÞçËå N�àºá�ß�ÛËÜÞîGÛ«éGÛËå N�çËæËîïéWÜÞàºæÛNã�ê«éWàkäså3åzù�ã�öÞçNã{éWåJê�çËÝWÜÞæ õ ã#äËÜÞæNã�á®ëVÝGåJã�á¾îÀÛUPBæËå õ öÞåzîzéWÜÞæ õ éGÛ�å�N�ã�îïé1éWÛNã{é¦ÛËå3çËÝGåzê�ãöÞÜÞæËåJã�á1öÞÜÞݾé0éWàUÝWéWàºáWå3éGÛ�å(èËÜÞåzîzåzÝpòÞòÞò0Ú?ÛËå(÷à'êËÜ S îJã{éWÜÞàºæ«à5NéGÛ�åQã�ö õ àºáWÜ éWÛË÷ éGàãQöÞÜÞæËåJã�á?ÝGåJã�á¾îÀÛ�à5^�åzáWåzê�ã õ ã�ÜÞæwà5NyàºæËå¦àºá¾êËåzá�à5NZ÷Uã õ æËÜ éGç�êËå$ÜÞæUå*R�åzîzç�éWÜÞàºæ�éGÜÞ÷å0à5NZéWÛËåQã�èËèËöÞÜÞîJã{éWÜÞàºæ�� *�å$ß9åJöÞîzàº÷å0áWåJã�êËåzá¾ÝéGàÝWåzæËê�çËÝ?à�éWÛËåzá0å*R�ã�÷èËöÞåzÝ0à5NdÝWçËîÀÛ��WÜÞæËîzáWåzêËÜÞä�öÞå��$ÝGÜ éWçNã{éWÜÞàºæËÝpò

OM_J�`Oba

Page 18: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

������������� ������������ h��

� ������#�9�����# �� ����J������ �� ��� � �������#"������ �����#� ������1' � %�����N��� �� � �!� ������ �������� �

� ������#� �� ������� "������!�=J� �������� ���� � � �������#"����������%�"�� � M�N�� �-J� ������ �� �����4N�� �� � � �

����������� � ����������J��"����UK=�� � ��1� ���8�� ��������� �� �� K ��� �� ����!# ������/J������ � 1��"���� ������N���� ��� ��� �#�� ��� ��� ���0 ��N���� �������

��� *%#������9�����# ������1'�� %��

�� ��� �� ����� % �!������� �������!� � � K.��� ���=M�N��� � #��������$���$�2���� ��� ���� ��J�� ��� �� FK.��� ���-M6N��� �

����������� �� ��������� �� �� K � ����� � ��� �� �������"�� ���!�-J� ���� ���� �� � �"���� ������N���� ��� ��� �#�� ��� ��� ���0 ��N���� ��������

�� *%#������ ���%�"��� M�N��!�=J� ���� ���� ������ ��� �� ��������J�� � �� �������!� � #��������$���$�12�������� �������J������� �� K �� ���� ������� �� K � ���� ���,K �$�%�"� �QM6N��!�@J� ������ �� ��� � ���

�� �������������������#�� �� ����������� � ���#� ������ '�� %�� � %�� �����# �� ����J������ �� $� �*� %�" ����$���!#�����*%�� ��� � � N��� �� � � ���

�#� ���� %0K �����#� ������1' � %���� � ���

�� �������������������#��9�� � � ���#� ������1' � %���� %�� �����#� �������J������ �� � 1������ �� �������"�����!�-J� ���� ���� �� � �*� %�" ����$���!#�����*%�� ��� � � N��� �� � � ��� � � �

�#� ���� %0K �����#� ������1' � %���� � ������� �� K=�� ���� �FK ���%�"���� M�N�� �-J� �������� �� � �� � � �

�� ������������ �� �������������' � %�������� � � �� ����������� � ���#� ������ '�� %�� � �� ���� ����� �� � K ������ �

�� ������������ �� ���0� � ���� �� ��� �� �� � ���# �� ���1'�� % ��� � ����������J��"� �UK �� � ��$� ��� �� ������������� �� K �!����� ��������#��������#��# �� �� �� ��������$'�� %������ ���

£ ����rd}{f �SeQlf�oJ�;~���oJf�vp��egfVf tdqseg�d��f

+·f!��}p~B��~=oJfuvpb�qsvif't=v{}{qs±W²®r����ºv{��~B��qs�#� ~B�Bv{}{qB�ºv�o��'q�� ©;f!r�oJf��Çvp~5op��f�� ��²®xÇvpbdf�oJf��d}{~��;f'}pvp��f^o^°$vp~·}pf�q�op~�� q�©�~Bryv�v{bdf�'~�}{}pf��ºvp��f^o{o¦~s²?� ~Beg��~=oJ���d�Vv{bdfUvz¤¶~�� ~Bei�;~���f'�=v{o^°=q����gf'¬Bf'�=vpr�qs����x�vp~���b�f^���gqNv3}{rd�y±Gvp��egfvpb�qsv3v{bdfw�d}{~��;f'}pvp��f^o3bd~����doQ²®~�}f�q���bD�'qs���9vp~ �� � ���� �9¯Äï�DÏ�´´¶µQ°Z¤bdf'�uv{q�}p�Bf vp���d�Vv{~�v{bdf�bd~BoJv¶��qs����r�q���f�°B����²®f^�'xy� ��f^o¶~s²Lv{bdfV�y�¥¨9f'}{f'�=v¶f'�=vp��vp��f^o¶¤¶~�rd���¼©;f��df ���df��¼~B��� f�qs���

²®~B}�q����¦q�ok��� £ ���Brd}{f"d¯«a#bdf�vpbd}{f'fi©�qBoJ���VvzxZ�;f^ok~s²(�'~���oJvp}�qs���=v{oU¤¶~�r�����q���op~u��}pf�oJrde¿q�©d��xD©;f���}pf��yf ����f^��~B��� fiqs����²®~�}q����G¯¦|Q}{~���}�qsegegf'}�oQ¤¶~�r����¼vpbdf^���yf ���df�vpb�f���f^� f�opo{qs}{x ! ~=ÿvzx=�;f^o#��f'f^�df^�uvp~if ty�d}{f^o{o3v{bdfV�yf^op��}pf��u� ~B��oJvp}�qs���Bv�o'¯1Äï�!vpbd��of'tyq�eg�d��fB°N¤(f¶�df^f^��q���qsvJvp}{��©dryvpf ����!# ������'�� %��#q�o{oJ~y�'��qsvpf^�Vvp~w~B��f^}{qsvp��~���o^¯0¶f��'qsr�oJf¶� ~��=v{}{qB�ºv?vzxZ�;f^o$�y~���É v¦b�qˬBf3q��^� f^o{ov{~D�'~�eg�;~��df^�BvV��eg�d��f^egf'�=v{qsvp��~���o^°?¤¶fi��f'f^�·qs��~svpb�f'}VqNvpvp}{��©drdvpfivp~�� ~Brd�=v«vpbdfg�Zrde�©;f'}V~�²(���Z¬�~y�'qsvp��~���ok~s²(vpbdf �!���������~B��f^}{qsvp��~���v{~«f^oJvp��egqsvpf¶vpb�fUoJ��Ð'f#~s²�vpbdf�'~�����f��ºvp��~���¯ £ ���Brd}{f �kopbd~N¤Çv{bdf ! ~=Ã�vzx=�;f�yf^�'��q�}{qsvp��~���o�²®~�})�����# �������J������ �� �;°�yf ���d���d�Êq �����# ������1'�� %����=r�qs���¥vzx·qNvpvp}{��©drdvpf¼~�²¶vzxZ�;fDN��� �� ��f'tZ��}pf�opopf^�·��� oJf�� ~����do'°$qs��� �� ������� "������!�=J� �������� ����y°�yf ���d���d�¼q ��� %�"� � M6N��!�-J� ���� ���� �� �y¯

#wf tZv^°df^�=vp��vp��f^o � � ��� ����J��"���UK �� � ��$� ���q���� �� ��������� �� �� K ��� ��q�}pf«�yf�� ��qs}{f^�!¤�¥v{b ! ~=üvzx=�;f+����!# ������/J������ � $�¤��vpb�vpbdf(����²®f^�'xZ�'��f(~s²d~B��f^}{qsvp��~���o^¯�a#bd��o0�df^� ��qs}�qNv{��~B�Vqs��oJ~wo{qËxyoLv{b�qNv0vpbdf¶qNvJv{}p��©dryv{f �����#� ������1' � %��(��o1� ~Beg�dryvpf��V¤bdf^��qs�f^¬�f'�=v �U~s²=vzx=�;f-��� � % �!�� ��� ��V­¾oJv{q����y���d�#²®~�} � � �������J��"�� �UK �� � ��� ��,K ����� % � ������� ��3~B} �� ������������� �� K ��� �,K ����� % �!���� � ���yf^��f^���y���d�D~��Êvpbdf¿� ~B�=vpf tZv«~s²(vpbdfg��f^�df'}�qNv{f^���'~�eg�dryv{�����!�d}{~y� f��yrd}{f�¹w~Z�^� rd}�o^°?qs����vpbd��oV� ~Bei��ryv{qsvp��~��_oprd©yv{}{qB�ºv�owv{bdf�dqsvpfV~�²�vpb�fVf'¬�f^�=v#~�²0vzxZ�;f ��������J�� � �� ���v{b�qNvU��}pf�� f^�df^o¶vpb�f�f^¬�f^�Bv �g²®}p~Be�vpbdf���qNvpf«~�² ��¯

�J�4æC���4���

Page 19: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

h�" �����/-*:��4 �4-* 5=������K:;�*3 � �$-*3/�<=������������������$1<35�4:

a#bdf«f^�Bv{�¥vzx �� ��������� �� �� K � ����� � �V��o¶vpb�f'���yf^�'��q�}pf��¿v{~i©;f«~s² ! ~=ÃgvzxZ�;f �� �������"�����!�-J� ������ �� ����=¯La#bd��oqNvpvp}{��©drdvpf��o� ~Bei��ryvpf��uqNvf�q���buqB�ºvp��¬NqNv{��~B�u©Zx¼}{f vp}{��f'¬Z������vpb�f��Zrde�©�f^}#~s²����Z¬�~y�'qsvp��~���o(~s²?v{bdf«�d}{f^� f��y���d� �������J������� ���f'¬Bf'�=vqs���qB�d�y���d�g~��dfB¯a0¤(~D� ~B�=vp}�q��ºvkvzxZ��f�o�q�}pf�vpbdf^�·�df^� ��qs}{f^�?¯�a#bdfg� ~��=v{}{qB�ºvwvzxZ�;f �� ����������� � ��!# �����1' � % �i�'~���oJvp}�qs����owvpbdfi}pf�oJ�;~���oJf

v{��egfQ~�²=��v{o�f'�=vp��vzxw��q�}{q�egf vpf^}�%«v{~©�fQ��f^o{o9v{b�qs�Vqopx=e�©�~B�����­¾�'~���oJv{q��=v�¹;��q�}{q�eif'vpf^} ���B¯�a#b�fQ� ~��=v{}{qB�ºvLvzxZ��f �� �� � ����# ��������'�� %��D� ~���ozv{}{q�����ok��v�v{~D©�fg��f^o{owv{b�qs��� � ���� �.� K ���%�"��� M�N��!�=J� �������� �����<&�� � ²®~B}«op~�egfgoJxZe�©�~B��������qs}�qsegf v{f'}�o�� � ��� � °¤bdf^}pf(�i��oq��� �������"�� ���!�-J� ���� � � �� �Uf'�=vp��vzxu��qs}�qsegf v{f'}�¯a#bdf·� ~Bei�;~���f'�=v ���·� }{f^qNv{f^ogvz¤¶~Ñ�'~��=vp}�q�� v{o^¯Ya#bdf_�'~��=vp}�q�� v �� �� ��������$'�� %������ �_��o!~�©yv�qs���df^� ©=x�q��d�d��x=���d�Çv{bdf

�'~��=vp}�q�� v3vzxZ��f �� �� �������� � ���# ������1' � %��v{~�v{bdf�f'�=vp��vzx �� ����������� �� K �����9¯9a#bdf«� ~��=v{}{qB�ºv'�� ���0� � ���� �V��o¶~�©dv{qs���df��¿©Zxq��d�d��x=���d�uvpbdfg� ~B�Bv{}{qB�ºvUvzxZ�;f8�� �� � ���# �� ���1'�� % ��vp~uvpbdfif'�=v{�¥v{��f�o � � ��� ����J��"���UK �� � ��$� ��gqs���1�� ������������� �� K �!����� � �9°¤bd����f�oJ�;f^�'�¥²®xZ���d�gvpb�qsv#vpbd��oU� ~B�=vp}�q��ºvU�yf^��f^���dor���~B�uv{bdf �� ������������'�� %������ ���'~��=vp}�q�� v^¯´(~Bei�;~���f'�=v{o ���iq���� ������rd©d����opb!�'~��=vp}�q�� v{o^°svpb�f���}�oJv3vp~i�yf^�'��q�}pfUvpb�qsv(��v{o ��� �i�d}{~N¬=���yf��¿~��;f'}�qNv{��~B�¿b�q�o(q�� ~B��oJv{qs�=v

v{��egf¿©;f'b�qˬZ��~�}�°?¤bd����fgv{bdf¼oJf�� ~B����v{~��yf^�'��q�}pfivpb�qNvV�¥v�oV~N¤�·��f vV~B��f^}{qsvp��~��·b�q�oVq������df�qs}«v{��egf¿©;f'b�qˬZ��~�}�¯glUf^q�op~������d�q�©�~Bryv¦vpbdfU�'~��y²®~B}pe¿q���� f¶~s²;vpbdf�oJfU�'~��=vp}�q�� v{o1¤��vpbgvpb�fU� ~��=v{}{qB�ºv �� ������������'�� % ����� �U~s²-���#¤������opqËxVv{b�qNv¦v{bdfU� ~B�=vp}�q��ºv$~s²���i��o� ~��d²®~�}{egq��=v^°=©dryv�d~sv#v{bdf«~��df�~s²'����¯$ÄÀ²0vpbd��o� ~B�y²®~�}{e¿qs���'fk�'q��d�d~�v¶©;fV�yf^�'���yf��uoJv{qsvp���'qs����x�°=vpf�ozv�o#¤�����Lf tybd��©d��v¶v{bdf�'~��y²®~B}pe¿qs��� fw~B}3v{bdf��d~��y±ï� ~B�y²®~�}{e¿qs���'fU~s²�vpbdf�}pf��=rd��}{f^�uqs���¿��}p~N¬Z���yf^�¼�'~��=vp}�q�� v{o(q�o#� ~B�Bv{}{qB�ºv�oQ���!»k©;´ ¤¶~�rd���¼f'tZb���©d��vv{bdf«²¾qs����r�}pf«~s²¦qi��~=ozv�� ~B���y��vp��~��?¯

$]i�� � mSm l�mSm � l�p_w+���vpb·vpb���oVf'tdqseg�d��f�°?¤¶fg¤¶q��Bv«v{~DoJvp}{f^o{okvpbdfg²¾qB�ºv«vpb�qNv�f tZv{}{qs±W²®rd���ºvp��~���qs�¦� ~B�Bv{}{qB�ºv�ow¤�����3�d}p~N¬Bf�r�opf ²®r��Q���Ç�'~�eg��~B�df'�=v�y~y�'rdegf'�=v{qsvp��~���qs���D¬Nq������dqNv{��~B�?°d©drdvkqs��oJ~¿����oJr��d��~B}Jv{�����¼� ~�eg�;~��df^�=vk� ~Bei�;~Bop��vp��~���©=xDoJv{qNv{���^qs����x¼vp}{x=���d�gv{~uq�o{� f^}Jv�qs���v{bdf¼� ~B}p}{f^� vp�df�opok~s²Qv{bdf¼�'q����$}{f'��qNv{��~B��oJb�����o�f�ozv�qs©d����opbdf���©;f vz¤¶f'f'�5� ~Beg��~B�df'�=v{o^¯iÄï�Êv{bd��o«f'tdqseg�d��f�°9²®}{~�e qDop��eg�d��fg©dryv}{f^q�����ozv{���Vo{� f^��qs}{��~����Dvpbdf«²®rdvprd}{f�� ~Beg��~B�df'�=vJ±À©�qBoJf��!op~s²Ávz¤#qs}{fV�yf'¬Bf'��~��degf'�=v�d}{~y� f^o{opf^o^°y¤(fVb�qˬBfVozv{}p��¬�f��¼v{~uoJb�~N¤ vpb�qNv�df^����f^� vp���d��f't=v{}{qs±W²®r����ºv{��~B��qs�d��}p~B��f^}Jv{��f�o3�'q��¼��f^q��¿vp~�²¾q��������d�Vvp~�egf'f v¦Åzr��Bv{~����¿}{f �=rd��}pf^eif^�=v{ozÆV­WoJr���b!q�o3vp��eif�qs���uoJ��qB� f�'~�eg�d��f ty�¥v{��f�o{¹ °�¤bd����fr�oJ���d�Vf't=v{}{qs±W²®r����ºv{��~B��qs�d�'~��=vp}�q�� v{o1b�qˬ�f¶v{bdf��~�vpf^�Bv{��q��yvp~V�����d�;~����=vQ�d}{~�©d��f'e¿oQqBo¦oJ~Z~��gq�oQ��~=opop��©���f²®}{~�e � ~�eg�;~��df^�=v�'~�eg�;~Bop�¥v{��~B�uv{��egf«vp~g}{rd�y±Gvp��egf�¯Äï�5v{bd��o�f tdq�ei����fB°1¤¶f¼b�qˬBf¼oJb�~N¤�Çbd~N¤�v{bdfu}{f^op�;~���opfgvp��egfu}{f �=rd��}pf^eif^�=v{o��^qs�Ç©;f!op��f�� ����f^�Çr�oJ���d�_Ï�´´¶µ3¯0a#bd��o

op��f�� �����'qsvp��~��D�'q��!©;fVr�opf^��q�o�y~y� r�eif^�=v{qNv{��~B�?°y©dryvUq���op~ivp~¿oJr��d��~B}JvUq�ryvp~Begqsvp���w}{f^qBoJ~B�d���d�iq�©�~Bryv#vpbdf��'~�eg�;~Bop�¥v{��~B�u~s²�'~�eg��~B�df'�=v�o'¯ £ ����qs����xB°y�d}p~N¬Z���yf^�¿vpb�qsv¶f�ozv{��e¿qNv{��~B��o#qs}{fwe¿q��dfw²®~B}(v{bdf«�y�¥¨9f'}{f'�=v#f'�Z¬Z��}{~���eif^�=v{qs�;��q�}{q�eif'vpf^}{o^°=�'~��=vp}�q�� v{o�^qs� ©;f��yxZ��qseg���'q�����x ��bdf^���Bf^�5v{~5}pf^¬�f^q��3���Z¬Ëq������ q�o{oJrdeg�yv{��~B��oiqs©;~�ryvgvpb�fD�'~�}{}pf��ºv{�df^o{o�~�²�� ~Beg��~B�df'�=v¿� ~�eg�;~Bop�¥v{��~B�?¯+���vpbd~Bryvuv{bd��o'°¶vp}�q����Z���d�·vpbd��o¼�Z�����½~s²«�d}{~�©d��f'e¿o¿¤�����U�d~sv!~��d��x ©;fÊq·vp��egf ±ï� ~B��oJr�ei���d�Ç�d}{~y� f�opo^°(©�ryv!qs��op~5q5e¿qs�z~�}��b�q�����f'����f�vp~ivpb�f �Br�qs���¥vzx¼~�²1~�¨�±Gvpb�f ±ïoJbdf^�¥²$� ~Bei�;~���f'�=vJ±À©�q�opf^�!oJ~�²Ávz¤¶q�}pfB¯³w²9� ~�r�}{opf�°Nv{bd��o¦����� rd}�o¦oJ~Begf#�'~�eg�d��f ty��vzx����g�yf ���d���d��°=� ~�eg�d�������d��°s�;~Bo{oJ��©d��x��d}{~N¬=���d�kvpbdfU�'~��y²®~B}pe¿q���� f¶~s²L� ~B�Bv{}{qB�ºv�o'°

qBo¤(f^���1q�of�ozv{��e¿qsvp���d�gvpbdf��y�¥¨9f'}{f'�=vwf^�Z¬=��}{~��degf'�=v�qs�L��q�}{q�eif'vpf^}{oq����D�yxZ��qseg���'qs����x!��bdf����=���d�gv{bdf�� ~B�=vp}�q��ºv�o'¯(Â(rdv^°;¤(f�'~����'rd}�¤��vpb vpbdfDÃZ§QÄ�q����Çq���qs}{��f¿�;~�}pvp��~�� ~�²vpbdf�´¶ÂÃZ§�� ~Bege�rd�d��vzx·vpb�qsv�v{bd��o��Z�����Ç~s²v{f^��bd�d~B��~B��x_��o��df'f��yf^�Çvp~f^��qs©d��fgvpb�f¿f'egf'}{��f^��� fi~s²q�}pf�qs�Q� ~Beg��~B�df'�=vVe¿qs}{��f v�°�qs���Ê��²¶��v{o�� ~�eg�d��f ty��vzx���o«vpbdf¿��}p��� fivp~D��qËxB°?v{bdf'�5¤¶fib�qˬ�f�vp~²¾qB� fg�¥v�¯uÏ�´´¶µQÉ oV��~=qs�$��o�vp~Dbdf'���Çqs���·oprd�d�;~�}pv�v{bdf¿�d}{~��B}{q�eiegf^}k���5f ty�d}{f^o{oJ���d�!vpbdfg}{f �=rd��}pf^eif^�=v{oVqs���_�^qs��q�©d������vp��f^o~�²¦�'~�eg�;~��df^�Bv�o'°�©Zx¼v{qB���Z�����d�gvpb�f�����bdf'}{f'�=vk�'~�eg�d��f ty�¥vzx!~s²1vpbd��ok�d}p~y�'f^o{o'¯¶a#bdf�� r�}p}{f'�=vwÏ�´´¶µÇ�d}{~��;~Bo{qs�G°d�d}{f^opf'�=vpf������v{bd��o���qs�;f'}�°���oV~���fi~�²(v{bdf ��}�oJv�v{b�qNvVv{}p��f^oVvp~�q��d�d}pf�opo�v{bdfg²®rd���(� ~Beg�d��f'ty�¥vzx�~�²¶f'tZvp}�qN±G²®rd���ºv{��~B��qs�¦�'~�eg��~B�df'�=v�o'¯ £ }p~Bev{bd��oVq���}{f^qB�yx�¤¶f'���¥±À©�qs��qs��� f^�Ê�yf^op���B�?°Leg~�}{f�f'ty��f^}p��egf'�=vV¤�����Q� f^}Jv�qs���d��x�oprd�B��f^oJv«��eg�d}{~N¬�f^eif^�=v{ok©dryv�Ï�´´¶µ ~s¨9f'}�owv{bdf�df�� f�opo{qs}{xg²®~�rd���dqNv{��~B��o¶vp~¿����� ��r��yfVopr���bD��eg�d}{~N¬�f^egf'�=v{o^¯

� � �%'�«/0�)����"�

£ f'¤½²®rd���¥± ��f��y��f��¼� ~B�Bv{}{qB�ºvQ��qs�d�Br�qs�Bf^o$²®~B} ! ~ZÃib�qˬ�f©;f'f^�!�yf�oJ�����df��ivp~���qNvpfB¯¦ª�~BoJv ! ~=Ãgq�}{��b��¥v{f^�ºv{rd}{f^o¦}{f'��x�~B�WcU|3Ä$vp~op��f�� ��²®x�vpb�fi}{f �=rd��}{f'egf'�=v{ok~�}kvpb�fg�^qs��q�©d������vp��f^o�~s²¶oJ~�²Ávz¤¶q�}pfiqs���_oJxyoJvpf'e¿o^¯�a(x=�����^qs����xB°;}{f �=rd��}{f'egf'�=v{o«q����Ê�^qs��q�©d������vp��f^oq�}pfgf ty�d}{f^o{opf^�·q�o«�d}{f^�'��opfg�����d��¬Z���yr�qs�Qv{qs}{��f'v�¬Nq���rdf�o'°0~�}�op~�egf v{��egf�oVq�o«}�qs�d�Bf^o�~s²#¬Nqs��rdf^o^¯uÃZ~�egf¼�'~��=vp}�q�� v���qs�d�Br�qs�Bf^o���=vp}{~Z�dr�� f#oJ�;f^�'���;�'qNv{��~B��o1q�o1� ~��=v{}{q����=v{o�~���}{f �=rd��}{f^��q������d}{~N¬Z���df^� ! ~=ÃL¯ ! ª�µ(� �"�dqs��� ! Äz»kµ/� �C�yq�}pf(�d~sv�qs©d��f3f'tdqseg�d��f^o~�²$opr���b���q��d��r�q���f�o'°Zx�f'v#vpbdf^x!qs}{f«ozv{�������=rd��vpfV����eg��vpf^�?¯a0~!~Brd}«�Z�d~N¤��f��y��fB° ! ª�µ � �C�Q}pf^�d}pf�oJf^�=v{ok~��dfi~s²(vpbdfgeg~BoJv�� ~�eg�d}{f'b�f'��op��¬Bf�f'¨;~B}Jv�owv{~��yf ����fgq!��qs�d�Br�qs�Bf�²®~B}kv{bdf

op��f�� �����'qsvp��~���~�² �=r�qs���¥vzx«~�²�oJf^}p¬Z��� f3�'~��=vp}�q�� v{o^°^f�oJ�;f^�'��q�����x«¤bdf'����v¦� ~�egf�oLvp~k��q��d��r�qs��f3��o{oJr�f^o^¯?Äï� ! ª�µ3° ! ~ZÃ���o0eg~y�yf'��f^�r�op���d��� ~B�Bv{}{qB�ºv¦vzxZ�;f^o^°B� ~B�=vp}�q��ºv�o¦qs���i�d}{~ ����f�o'¯$»w��¨9f'}{f'�=v3q�op��f��ºv�o¦~s² ! ~=Ãiq�}pf� ~B��op���yf^}pf���qBo¦�����yf'�;f'���yf'�=v¶�d��egf'��oJ��~���o^¯cY�'~��=vp}�q�� vvzxZ��f��df ���df�owq¿opf vw~�²Q�y��egf^��oJ��~���o¤�¥v{bDvpbdf^��}wvzxZ��f�~�²¦¬Ëq���r�f^o^¯´(~B�Bv{}{qB�ºv�oqs}{fV����oJv{q���� f�o~s²Q�'~��=vp}�qNv#vzxZ��f�o�yf ���d���d�5� ~���ozv{}{q����=v{o�~�� vpbdfD�y��¨;f^}pf^�Bv¿�y��egf'��op��~B��o^¯Ç|Q}p~�����f^o�©d����� � ~B�=vp}�q��ºv�o�v{~Êf^�Bv{�¥v{��f�oi��� ���=v{f'}p²¾q�� f�o'¯ ! ª�µE��ogqeg~y�yf'�����d�!��qs����r�q���f�°9qs����vpb�f'}{f ²®~�}{f�²®~y�'r�o�~���v{bdfg� ~��d²®~�}{egq���� f�}pf^��qsvp��~���©;f vz¤¶f'f^�_� ~B�=vp}�q��ºv�o�­¾©�~�vpb·qNvV� ~�eg�d����f�v{��egf

OM_J�`Oba

Page 20: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

������������� ������������ h �

~B}kqNv�}pr��y±Wv{��egfB°;opf'f'��h��"�Á¹ ¯ £ }�����rd����qs����Èk~���oJvp���df'���d}{~N¬Z���df^�!vpbdf�����oJ�d��}{���d�!����oJ����b=vUv{b�qNv«� ~��=v{}{qB�ºvk�'~��y²®~B}pe¿qs��� fV��okq�'~���oJvp}�qs���=vo{qNv{��oJ²¾q�� vp��~��!�d}p~B©d��f'eD¯

dw~N¤(f^¬�f'}�° ! ª�µ_qBo(q�vp~Z~B�9vp~iei~y�yf^� ! ~=Ãg��o#}�qNvpb�f'}#oJ��eg�d����oJvp���s¯Q»k��egf'��oJ��~���o¶�����'~��=vp}�q�� v{o¶qs}{fwr�opf ²®r��9vp~g�yf ����fkv{bdf�df�� f�opo{qs}{x¿�y~�e¿qs����~��=vp~B��~B��x�vp~iv{q����¼q�©�~Bryv ! ~=Ã9°Z©dryvv{bdf'x¼q�}pf�~�����xu�df ���df��u���D� ~��=v{}{qB�ºv3vzxZ�;f^o^¯Q¶f^�'q�r�opfUvpb�f'}{f���o¶�d~bd��f'}�qs}���bZxg~s²1�'~��=vp}�q�� v(vzxZ�;f^o^°doJf^¬�f^}{q��;�'~��=vp}�q�� v3vzxZ��f�o#r�op���d�iv{bdfVopq�eif«�y��egf'��op��~B�!e�r�oJv#}{f^�df ���df���v#�����yf^��f^���yf^�Bv{��xB¯Zcopf^�'~����¿����ei��v{qsvp��~��!~s² ! ª�µ·qs����f�qs}�oQ���¼vpb�f�opf'��q�}{qsvpf��yf �����¥v{��~B�u~s²1� ~��=v{}{qB�ºv{o(qs���u���=v{f'}p²¾q�� f�o'¯ £ }��s��rd���uqs���!Èw~B��oJvp���df'�}{���Bb=vp��x�����op��oJvQvpb�qNv(��v¶opbd~Brd���g©;fw�;~Bo{op��©d��fv{~�q�o{oJ~y�'��qsvpfU�y��¨;f^}pf^�=v ! ~=Ãg�'~��=vp}�q�� v{o$v{~Vvpbdf�opq�egfU���=v{f'}p²¾q�� fB°�xBf vQv{bdfw�d}{~ ����fegf^��b�qs�d��oJe v{bdf'x«�d}{~N¬Z���df(�y~Zf^o0�d~�v$q�����~N¤Ç�d}{~���}�qsegegf'}�o9v{~koJv{qNv{f¶�'~���oJvp}�qs���=v{o?vpb�qsv$�yf^��f^����r���~B��f'�=v{�¥v{��f�o0�������=vpf^}J²¾qB� f^o^¯³k�df��^qs�d��~svwoJv{qNv{fV��� ! ªÊµ·vpb�qsvvpbdf�}{f^op�;~���opf�vp��eif�~s²¦q¿oJ~B}Jvegf v{bd~y�D��oUqi²®r����ºv{��~B��~s²1vpbdf�op��Ð'fV~s²1vpb�f�� ~B����f^� vp��~��!vp~©;fiop~�}pvpf��L°;¤bd����bÊ��o�q¿��qsvprd}�qs�0vpbd���d�!~��df�¤¶~�r�����������f�v{~!op��f�� ��²®x�¯ £ ����q�����x�°;vpb�fi�'~���oJvp}�qs���=vU��q��d��r�q���f�~�² ! ª�µÇ��ow¬Bf'}{x����eg��vpf��L°�op����� f«~��dfV�^qs��~��d��xuf'tZ��}pf�opo¶©�qBoJ���«� ~���ozv{}{q����=v{o^¯bdUf'��� f�°�~��dfV�'q���o{qËx¿v{b�qNv e

�����#� ������1' � %���� ��� % �����

©drdvw~��dfV�^qs�d�d~�vUopqËxgv{b�qNv e

�����#� ������1' � %���� � ����� � ��� ���������=M�N�� � % �����

¤bdf^}pf �¿¤(~Brd���u©;fVvpb�f ��}{oJvU��q�}{q�eif'vpf^}¶~�²0v{bdf�egf v{bd~y�!²®~�}Uf'tyq�eg�d��fB¯Q¸wop�����gvpbdf�oJf�oJvp}{~��d�g}{f^oJvp}{��� vp��~���o^° ! ª�µ5��oUqs©���fv{~¿����¬�f«qi²®rd���0�yf �����¥v{��~B��~�²1�'~��y²®~B}pe¿qs��� f�©�f'vz¤(f^f'��� ~B�Bv{}{qB�ºv�o'¯Â¶f^���Bf'}«qs���5Ï�f'��b�o ! Äz»�µ!� �"�3qBo«¤(f^���¦qBo £ n^¬Z}p��f'}�°�#wqs�ze qs���·Ã=vpn'²¾qs�d�(� ~��=v{}{qB�ºv{ow²®~�}�³�»k| � �"�Q����op��ozvV~��·� ~B�Bv{}{qB�ºv

��bdf����Z���d�D©�qBoJf��·~��5~�©�opf'}{¬�f^}{o«qsvJv{qB��bdf^�Êvp~�©������d���d�=o'¯�´(~��=vp}�q�� v{o«���·vpbdf�oJf¿vz¤¶~D�d}{~��;~Bo{qs��oVqs}{f�v{bdf'}{f ²®~B}pf¿opf'f^�·���Çqs�~B��f^}{qsvp��~���q��¶¤#qËx�°¶qs��� vpb�f'}{f ²®~�}{f���f�opo¿q�eif^��qs©���f�vp~ÇopxZe�©;~�������}{f^q�op~������d��¯Ña0~·²®~�����~N¤�v{bdf^opf����yf^qBo'°(¤(f�� ~Brd��� f��Br����~Brd} ������� � ����� � �� ����� ��!#¿qs��� �!����� �=N������g~�©d�zf^�ºv�oU¤��vpb�egf�qs��owvp~uvp}�qs��f td��b�q��d��f�o©;f vz¤¶f'f'�_� ~�eg�;~��df^�=v{owq�������bdf�����'~��=vp}�q�� v{oqNv#v{b�qNvv{��egf�¯Z+_fV©;f'����f^¬�f«v{b�qNvv{bdf�Ï�´´¶µ5f'¬Bf'�=vJ±Gvp}{���B��f^}pf��¼� ~B��ozv{}{q����=vU��bdf����Zo¶��oe�r���b�eg~B}pf ��f'tZ��©d��fVqs����;~N¤(f^}J²®r���v{~¿�yf^q��;¤��vpb�q���q�}p�Bfkop��f��ºv{}prde ~s²1�d�¥¨9f'}{f'�=v¶vzx=�;f^o#~�²1�'~���oJvp}�qs���=v{o^¯¦³k�uvpbdf«~sv{bdf'}b�qs���L°=v{bdf^opfVqsryv{bd~�}�o¶~s¨9f'}���=vpf'}{f^oJvp���d�g��qsvpb�o#²®~B}#vpbdf��df ���d��vp��~���~s²¦qieg~�}{fk²®~B}pe¿q��?oJf^egq��=vp���'o(²®~�}wÏ�´´¶µ3¯Äï� ´(~�}{©�q!Äz»kµ!��h%""�(q����·a#Ä$#9cÒ³�»kµ!��h�h�À°���}p~N¬Z��oJ��~�����o«e¿q��yfi²®~B}Vf ty�d}{f^o{oJ���d�uf'ty�d����� ��v ! ~=ÃʬNqs��rdf^o«~B}�}�qs����f^ok~s²

¬Nqs��rdf�okqBo ! ~ZÃD��qs}�qsegf'vpf'}�o���Êegf^o{o{qs�����d�uopf'}{¬Z���'f^o^¯«³�»�µ^��h%�"�¦��okq���f tZv{f'��op��~B��~s²¦v{bdf¼³�ªÊÏÌÄz»kµÑ��qs�d�Br�qs�Bf��yf ���df^�©Zx¼v{bdf�a#Ä$#9cÌ´(~���op~�}pvp��rde�v{~goprd�d�;~�}pv²®f^qsvprd}{f^o¶v{b�qNvU¤¶f'}{f«�d~svw�'~N¬�f^}pf��uqNvv{bdf«vp��egf�©Zx¼Äz»�µQ¯Ycweg~��d�ivpb�f'eD° �=r�q�����vzx~�²�oJf^}p¬Z��� fU¤#q�o(qs�¼��eg��~B}Jv�qs�=v(��opoprdfB¯bdw~N¤(f^¬�f^}^° ! ~ZÃg����³�»kµÊ��o(}{f^oJvp}{��� vpf^�iv{~�e�rd�¥v{��egf��y��q�f'���Z±Wv{~s±Àf'���g�Br�qs}�qs�=v{f'f^o^¯Jcko���_~�vpbdf^}VoJ��eg����qs}Vqs���d}p~=q���bdf�o'°�vpb�fif'ty�d}pf�opop��¬�f��;~N¤¶f'}«~s²Qv{bdf'��}V��qs�d�Br�qs�Bf^oU��o«e�r���bÊeg~�}{f�����ei��vpf��_vpb�q��Ê~�r�}«q��d�d}{~BqB��b©�qBoJf��D~���� ~B��oJvp}�qs���Bv�o'¯¶lf^�'f'�=vkqB�d�y��vp��~���oUvp~!´³�lUÂ�c�Äz»�µ5²®~�} ! ~=Ã�qs}{f �=rd�¥v{f�op��eg����q�}U������qNvpr�}pfVv{~gvpbd~=oJf�~�}{���B����q�����x�d}{~��;~Bopf^�!©Zx�³�»�µ ��h�""�G¯

! r;³u��h��&�Q��o�q!²®}{q�eif^¤(~B}p��²®~B} ! ~=Ã5³k©y�zf^� v{o«���_v{bdf¿� ~B�Bv{f tZvV~s²�y��ozv{}p��©dryv{f^�5� ~Bei��ryvp���d�D¤bdf'}{fivpbdfg²®~y�'r�o«��o��dryv~B�Êq��dq��yv{qsvp��~���~�²3qs�d�d�����'qNv{��~B��ov{~!��b�q��d��f�o~s² ! ~ZÃ!²®}p~Be vpbdf�f'�Z¬Z��}{~��degf^�Bv�¯w»kf^op�d�¥v{f���v{o�©d}{~BqB�yf'}U�;f'}�op��f��ºvp��¬�fB° ! r9³r�opf^o ! r�qs���¥vzx�~�²(oJf^}p¬Z��� fg»wf�op�'}p���yv{��~B�Ê��qs�d�Br�qs�Bf^oi­ ! »�µ0¹wvpb�qsv^°�qBo ! Äz»kµ½qs���_q�©�~N¬Bf�� ~B�=vp}�q��ºv�oU²®~B}�³�»w|$°�q�}pf�bd���Bbd��x~B��f^}{qsvp��~���q��1���5��qNv{rd}{f�¯ga#bdf¿��~=qs�$��o�v{~�� ~�eg�d����fgqDop��f�� �����'qsvp��~��·~s²#q��dq��yv{qsvp��~��·©�f^b�qˬZ��~B}{ok���=v{~�~�©�opf'}{¬�f^}{oUvpb�qsv�¤������y~iv{bdfk}{f^qB�ºv{��~B�!qNv#}{rd�y±Gvp��eifB¯ ! »kµ5qs����~N¤UoQv{~i�yf ���df ! ~=ü}pf^����~���o^°=�W¯ f�¯yoprd©�op��q��'f^o¶~s²�¬Nq���rdf�o(²®~�} ! ~=ÃuqNvJv{}p��©dryv{f^o^°yqs���qsvJv{qB��b�vp~¿v{}{q���oJ��vp��~���oUqseg~�����v{bdf^opf�}{f'�B��~B��oq��dq��yv{qsvp��~��D©;f'b�qˬZ��~�}�o'¯¶´(~Beg��qs}{f^�!vp~�Ï�´´¶µQ° ! »�µÇ��o��=rd��vpfV����eg��vpf^�������v{o#qs©������¥vzx�vp~�f ty�d}{f^o{o ! ~Zÿ� ~B��ozv{}{q����=v�o'°=qs��vpbd~Brd��bgv{bdfU²®}�qsegf'¤¶~�}{�gq��d�y}{f^o{opf^o¦�B~Bqs��o$v{b�qNvqs}{fw� ~Beg�d��f^egf'�=v{q�}px�vp~�vpbd~=oJf~�²¦Ï�´´¶µ3¯

� ������2(% 6���'���!�

£ ~�����~N¤���d��qD��~B�d���;f'}{��~y�·¤bdf'� �=r�q�����vzxÊ~�²#opf'}{¬Z���'fi¤#q�o�f^o{oJf^�Bv{��q�����x�¬Z��f'¤¶f^�5q�oVqD�d}{~��;f'}pvzx�~�²#�y��oJvp}{��©drdvpf^�5e�rd��vp��eif'±�y��q�oJxyoJvpf'e¿o^°9f tZvp}�qN±G²®rd��� vp��~���q��0�d}{~��;f'}pvp��f^ok~s²3op~s²Ávz¤#qs}{f�qsvJvp}�q�� v�eg~B}pfiqs����eg~B}pfiqNvJv{f'�=vp��~��·q�owvpbdfgop~s²Ávz¤#qs}{f������yr�oJvp}{xoJvp}{rd���B��f�o¶vp~¼qB��bd��f^¬�f��¥v�o}{f'¬�~B��rdvp��~��!vp~N¤#qs}��do#ozv�qs���dq�}{�d��Ð^f^�L°y~�¨�±Gvpbdf'±Àopbdf^�¥²¦� ~Bei�;~���f'�=v{o^¯ cU�d�������'qsvp��~���o����vpbdf ��f'���do~s²�y��oJvp}{��©drdvpf^�?°�f'e�©�f��d�yf��iq����ieg~�©d����f�'~�eg�dryv{���d�Ve�r�oJv¦o{qNv{��oJ²®x�oJvp}{������f'�=v¦}{f �=rd��}pf^eif^�=v{o$~��if tZv{}{qs±W²®rd���ºvp��~���qs�Z�d}{~��;f'}pvp��f^oopr���b�q�o#�;f'}p²®~�}{e¿qs���'f�°y}{f^op��~B��oJfkvp��egf�°�o{qN²®f'vzx!q����!opf^�'rd}{�¥vzxB¯Qa�~¿q����y}pf�opo¶v{bdf^opf«��o{oprdf^o^°d� ~Bei�;~���f'�=v{oe�r�oJv#©;f�©dr����������opr���bÊqu¤¶qËx!vpb�qsvwv{bdf'��}kf'tZvp}�qN±G²®rd���ºv{��~B��qs�0�d}{~��;f'}pvp��f^owq�}pfioJ�;f^�'����f^�L°9�drd©�����oJb�f^��q�����e¿qs�d���drd��qs©���f����Êopr���bÊqu¤¶qËx!vpb�qNv~N¬Bf'}�qs���d�d}{~��;f'}pvp��f^o¦~�²�oJxyoJvpf'e¿o(�'qs�u©�fk�d}pf��y���ºvpf��i²®}p~BeÌvpbdfk�d}p~B��f^}Jv{��f�o¦~s²Lv{bdfk�'~�eg�;~��df^�Bv�o¦²®}{~�e̤bd����b¿vpbdf^x¿qs}{f©drd���¥v�¯´(~B�Bv{}{qB�ºv�oUqs���Ê�yf^op���B��©Zx��'~��=vp}�q�� v{okqs}{f�¬Z��f^¤(f���q�oUf�opopf'�=v{��q��?vpf���bd�d���=rdf^o�qs���Ê� ~���� f'�dv{ov{~!qB�d�y}{f^o{ovpb�f^opf���opoprdf^o^°

xBf v¿vpb�fD�'rd}{}pf^�Bvgv{f^��bd�d~B��~B��xÇb�qBoivp~5©;f�f tZvpf^���yf^�Ñv{~N¤¶q�}{�do�f tZv{}{qs±W²®rd���ºvp��~���qs��d}{~��;f'}pvp��f^o^¯ÑÄï� v{bd��o¼��qs�;f'}�°3¤¶fDb�qˬ�frd���yf'}pv{q���f'� q5©�}p~=q��½qNvpvpf'eg�yv!vp~ }{f^op�;~����Ñvp~ vpbd��o!��b�qs����f^�d��fD©Zx �df^op���B�d����� Ï�´´¶µQ°#q5��f'��f'}�qs�w�'~�egeg~���� ~B�Bv{}{qB�ºv��qs�d�Br�qs�Bf�¯$Ï�´´¶µD��o¦�Bf'�df^}{q��y���gv{bdfUopf'��opf#vpb�qsvQ�¥v(��o¦©�q�opf^�i~��¿qs�g~B��f^�y±Gf^���yf���eg~y�yf^�d~s²L� ~B�Bv{}{qB�ºv�qs©d��f#f'�=vp��vp��f^o^°��=r�q�����vzxqsvJvp}{��©dryvpf�o$qs����� ~���ozv{}{q����=v{o^°Ë¤bd����b��'q���©;f¶f'tZvpf'���yf^��vp~«�yf^q��B¤��vpbgqs���B�Z�����do1~s²�f tZvp}�qN±G²®rd��� vp��~���q��B}{f �=rd��}pf^egf'�=v{o^¯0Ï�´´¶µ

�J�4æC���4���

Page 21: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

h�� �����/-*:��4 �4-* 5=������K:;�*3 � �$-*3/�<=������������������$1<35�4:

��oQqV� ~Begei~B�g��q��d��r�q���f¶���gv{bdfUopf'��opf#vpb�qsvQ�¥v(��o¦egf�qs�=v¦vp~V©;fU� ~Bei��qNvp��©d��f¤�¥v{b¿f ty��ozv{���d��»k©;´ ��q��d��r�qs��f�o'°sopr���b¿q�o¶³V´¶µQ°©drdvwqs��oJ~�©�f��'qsr�oJf��¥vU�y~Zf�o#�d~sv� ~Beieg��v�¥v�oJf^�¥²0vp~¿qs�Zx¿bd~=ozv#��q��d��r�qs��fB¯0ÄÀv�o¶²®~�rd���dqNv{��~B��qs�;eg~Z�df'��oq�o¶¤(f^���LqBo(��v{o�'~����'}pf'vpfopxZ�Bv�qNt��'q���©;f¶qB�dqs�dvpf^�Vvp~«qU��qs}{��f3op��f��ºv{}prde�~�²���qs�d�Br�qs�Bf^o^°'²®}{~�e�eg~y�yf'�����d�w��qs�d�Br�qs�Bf^o0oJr���biq�o1¸wª�µ3°�vp~w��}p~B��}�qsegeg���d���qs�d�Br�qs�Bf^o#opr���b�qBo�BqˬNq�°d´Íu°d§3�¥¨9f'�1qs����oJ~g~B�?¯Ï�´´¶µ �d}p~B��~=oJf�okopf'¬Bf'}�qs�?���d�d~N¬Nqsvp��~���o�� ~Bei��qs}{f^��vp~�f ty��ozv{�����!»k©;´ qs��� ! ~=Ã�oJ�;f^�'�����^qNv{��~B����q��d��r�qs��f�o'¯«Ï�´´¶µ ��o

©�qBoJf��g~��uq�ei~y�yf^��~�²?� ~��=v{}{qB�ºv{q�©d��ff'�=vp��vp��f^o¶qs���¿q��¿f'¬Bf'�=v3eg~y�yf'�9�yf ���df^�¿r���~B�¿vpbdfk����²®f^�'xy� ��fU~s²?f^�Bv{�¥v{��f�o'°=�G¯ fB¯=opf �=rdf^��� f~�²Qf'¬�f^�=v{oU�B~N¬�f^}p�d���d�gv{bdf'��}kf^¬�~B��ryv{��~B�D²®}p~Be oJv{qsvpf�vp~!oJv{qsvpfiqNvw}{rd�y±Gvp��egf�¯ka#b�f�f'�=v{�¥vzxDeg~y�yf'�1��owvpb�f'�Êq�rd��egf'�=v{f^��¤��vpbq �=r�q�����vzxDqNvJv{}p��©dryv{f�eg~y�yf'�1q�o{oJ~y�'��qsvp���d�¼qNvpvp}{��©drdvpf^oUvp~�� ~��=v{}{qB�ºv{q�©d��fVf'�=vp��vp��f^o^°�²®~B}peg���d� ! ~=Ã!vzxZ�;f^o^¯wa#bdf�f^¬�f^�Bvkei~y�yf^�q�����~N¤Uo«r�o«v{~D�df ���df¿��}pf�� ��oJf^��x�v{bdf¼�yxZ��q�ei���¿opf'e¿qs�=vp���'o�²®~B}«vpbdf¼�'~�eg�dryv�qNv{��~B�·~�²��=r�q�����vzxÊqsvJvp}{��©dryvpf¿¬Nq���rdf�o'°0¤bd����b_��ov{}p�����Bf'}{f^�¿©Zxgvpb�fk~y�'�'rd}{}pf^��� fk~s²�f^¬�f'�=v�o3���uv{bdf�����²®f^�'xZ�'��f�~s²�vpbdf�oJf�f'�=vp��vp��f^o^¯(´(~���ozv{}{q����=v{o¶qs}{fw��eg��~=oJf��¼~B�¼vpb�f^opf �=r�q�����vzxqsvJvp}{��©dryvpf�o'¯D´(~���oJvp}�qs���=vkvzxZ�;f^o�q���op~Dr�oJfgf^¬�f'�=v�o�vp~��yf ���dfgvpb�f¼oJf^egq��=vp���'o«~s²#�yxZ��qseg���¿��bdf^���Z���d��~s²� ~���ozv{}{q����=v{o«op����� ff^¬�f'�=v�o#~Z�^� rd}{���d�g���!vpbdfVf^¬�~B��ryv{��~B�!~�²1��}p~B��}�qse f'�=vp��vp��f^ovp}{���B��f'}¶v{bdf���bdf^���¿~�²$�'~���oJvp}�qs���=v{o^¯a#bdf�oJfi���d�d~N¬NqNv{��~B��okq�}pf��d~svV~B�d��x��'}pr�� ��qs�0²®~�}�vpbdf¿�yf ���d��vp��~��_~s²(q!�d}{f^� ��opfiopf'e¿qs�=v{���^oU²®~B}VÏ�´´¶µÑf tZv{}{qs±W²®rd���ºvp��~���qs�

�'~��=vp}�q�� v{o^°�©dryvV�'q���qs��oJ~!oJf^}p¬Bf�q�o�q¿©�q�op��o²®~�}wvpbdfg�yf ���d��vp��~���~�²¦q!oJf^e¿qs�=vp���'ow~s²Qf ty��ozv{�����u� ~B�Bv{}{qB�ºvw��qs����r�q���f�°�oJr���b_q�o³V´¶µ3¯Ï�´´¶µÇq���op~¿���=v{}p~y�yr��'f^oUopf'¬Bf'}�qs�L�df^¤E�;~N¤¶f'}p²®rd�?��qs�d�Br�qs�Bf«�'~����'f'�yv�o#vpb�qNvkq�}pf«r�opf ²®rd��vp~¿v�q����Z��f«vpbdfV²®r����1� ~�eg�d��f ty��vzx

~�²0f tZv{}{qs±W²®rd���ºvp��~���qs�9� ~��=v{}{qB�ºv{o^¯Q´(~��y²®~B}pe¿qs��� fU²®~B} �Br�qs�=vp��v{qsvp��¬�fkqsvJv{}p��©dryv{f^o#r�opf��'~���oJvp}�qs���=v(�d}{~��B}{q�egei���d���'~����'f'�yv�o(vp~�d}{~N¬Z���dfuÏ�´´¶µ�¤�¥v{b q�oJv{qsvp���¼oJf^e¿qs�=vp���'o«v{~��d}{~N¬�fivpb�f!� ~B}p}{f^� vp�df�opo«~�²U� ~�eg�;~��df^�=v�q�o{oJf^e�©d����f^oV©ZxÊf�ozv�qs©d����oJbd���d��v{bdf�'~��y²®~B}pe¿qs��� fQ~�²d}pf��Br���}{f^��q����V�d}{~N¬Z���df^�V� ~B�=vp}�q��ºv�o'°�¤bdf^�df'¬Bf'}���v$��o0��~=opop��©d��fB¯$´(~B��ozv{}{q����=v���}p~B��}�qsegeg���d�#v{f^��bd�����=rdf�o0q�}pfq���op~�r�opf^�gv{~��yf�qs��¤�¥v{b¿vpbdf��d}{~���q��Bqsvp��~��i~s²�� ~B��oJvp}�qs���Bv�o$²®}{~�e ~�}3vp~N¤#qs}��doU­Áv{~��y��egf'��op��~��¿��v�¹Qvpbdfkrd���yf^}p��xZ���d��}prd�d±Wv{��egfopxyozv{f'e¿o'¯_´(~B�=vp}�q��ºvVvzxZ�;f^o�qs}{fuq��;~N¤(f^}J²®rd�(qs©�oJvp}�q�� vp��~��5egf^��b�q��d��ope�vp~�f'tZ��}pf�opo«v{bdfu��qs}�qsegf v{f'}{��Ð�qNvp��~��·~s²w�'~��=vp}�q�� v{o~N¬Bf'}k�'~���oJvp}�qs���df���f'�=vp��vp��f^o^°9©dryv�qs��op~¿vp~DoJb�qs}{f�f'�Z¬Z��}p~B�degf'�=v{q�����q�}{q�eif'vpf^}{owf ty�d}{f^o{oJ���d�¼}{f �=rd��}pf^egf'�=v{owf tZvpf^}p��q���v{~uv{bdfq��d�d�����^qNvp��~��Dqs���!f'ty�d}pf�opo#�yf^��f^���yf^��� ��f^o©;f vz¤¶f'f^��opf v�o#~s²$�d}{~N¬=���yf��uqs���!}{f �=rd��}{f^�u�'~��=vp}�q�� v{o^¯´(rd}{}{f'�=vp��x�°QÏ�´´¶µE��o�}pf�ozv{}p���ºv{f^�5v{~_�'~��=vp}�q�� v{oV²®~B}i�'~�eg�;~��df^�Bv�o'°¦¤b�����b f'ty�d}pf�opoi� ~B��oJvp}�qs���Bv�o��drdvi~B� �=r�qs���¥vzxÇqsvJ±

v{}p��©dryv{f^o~�²0f'�=v{�¥v{��f�o#}pf^��qsvpf^�uvp~¿�'~�eg��~B�df'�=v�o<e¦� ~Beg��~B�df'�=v#vpbdf^e¿oJf^��¬Bf^o^°y���=vpf^}J²¾qB� f�o'°Z~��;f'}�qNv{��~B��o¶���D���=vpf'}p²¾q��'f^o#qs���¼v{bdf'��}��q�}{q�egf vpf^}{o^¯ £ rdvprd}{fgf tZvpf^��oJ��~���ok~�²#Ï�´´¶µÑ¤�����Q� ~N¬Bf'}�eg~�}{f�~�²Qvpbdfg�;~sv{f'�=vp��qs�Q�'~��=vp}�q�� v{qs©���f�f'�=vp��vp��f^o^¯,cÌ��~sv«~s²(¤¶~�}{�b�qBo#ozv{�����;vp~�©;f«�y~��dfkvp~�²®rd����x¿f'ty�d��~B�¥v(vpbdf��;~Bo{oJ��©d������vp��f^o¶~s²1� ~���ozv{}{q����=v3�d}{~��B}{q�egei���d�����¼v{bdf«ozv�qNvp����oJf^egq��=vp���'oQ~�²1Ï�´´¶µq�������v{o�r�opf����Ç´(~Beg��~B�df'�=vJ±ïÂ#q�opf^��ÃZ~�²Ávz¤¶q�}pf�§Q�d�����df^f'}{���d�·­¾oJv{qsvp������bdf����Z���d��°�v{f^oJv^°?�y��egf'��op��~��d���d��°$¯�¯�¯Þ¹º¯ac ²®rd���1²®~�}{e¿qs�opf'e¿qs�=v{���^oQ²®~B}¶©;~sv{b!oJv{qsvp���kq����¼�yxZ��q�ei����q�op��f��ºv{o(~s²$Ï�´´¶µÊ��o#� rd}{}pf^�=vp��x�rd���yf'}�yf ���d��vp��~��?¯ £ ryvprd}{f�¤(~B}p�gqs��oJ~������ ��r��yff't=v{f'��op��~���o�vp~·Ï�´´¶µ ��� ~B}{�df'}Vv{~Ê�d}{~N¬Z���yf¿��}p~B��}�qsegegf'}�o«¤�¥v{bÇvpbdf��'q���qs©d�����¥vzxÊvp~_�'~��=vp}{~��3ei~B}pfu~s²#vpbdfuvp}�q��y��vp��~���qs�! ~ZÃue¿q���qs�Bf'egf'�=vwq�op�;f^�ºv�o'¯ £ ~B}Uf tdq�ei����fB°d¤(f�¤(~Brd���������Bf«vp~¼f'tZvpf'����Ï�´´¶µ5����~B}{�yf^}vp~¼�df ���df�qs���D}{f �=rd��}pfVop��f�� �����e¿qs��qs��f^egf'�=v��~B����� ��f^o¶²®~B}�df'�B~svp��qNv{��~B�?°y}{f'�df^��~sv{��qsvp��~��?°yqB�dqs�yv�qNv{��~B�!qs���!e¿q����=vpf^��qs��� f�¯

� ��N�#"1���2¶��

��h<��´k¯Ccwrd}{}pf�� ~Zf^��bdf�qd°*c�¯B´¶q�eg�d©�f^���G°�q�����µ3¯*dwqsrZ¤V¯�c½lf^¬=��f'¤Ñ~s² ! r�qs���¥vzxV~�²;ÃZf^}p¬Z��� f�cU}���bd�¥v{f^� vprd}{f^o^¯��,�������C0�T8 � �4T�)�4T:;-&� � 3.:D=?87X� LC@-��)E"�=I�<76�W�.�*3.T �-*: °F"�­@�=¹e�h&�1���;hË�yh�°=ª�qËx�h^�B�1��¯

� �*� £ ¯9Â#q���bde¿qs���?°;µ3¯;Â#qBopo^°L´k¯9¶rdbde¿qs��°LÃL¯L´(~Beif^����qN±ï»k~�}��dqd° £ ¯9µ?~B�d��°9��¯;l~B©�f^}Jv�°LlV¯9Ãyf^q��'~�}��L°9qs����Èg¯)+·q�������q�r?¯a0f^��b��d���^qs�Q´(~����'f'�yv�ow~�²#´(~�eg�;~��df^�=vJ±ï¶qBoJf���ÃZ~s²Ávz¤#qs}{f�§3�d�����df'f^}p���d��°��¦~B��r�eifiÄJĺ¯Va0f^��bd�����^qs�$lf'�;~�}pv�´¶ªÊ¸ �sÃy§QÄÀ±�����B�N±ïal#±À�B�1��°=ÃZ~�²Ávz¤¶q�}pf�§Q�d�B���df^f'}{�����iÄï��ozv{�¥v{ryvpfB°;´¶qs}{�df'�B��f'±Àª�f'����~B�u¸U�d��¬�f^}{op��vzx�°dª�qËx!�����B�d¯

� �C��´k¯0Â(f�����f^}�qs���5Èg¯0Ï�f^��b�o^¯!Ï�f^�df'}{��� ! ~ZÃ_Ãy��f�� �����'qsvp��~���o«²®~B}i´³�lUÂ�c�¯uÄï�?�TU�&B$�$�$L*8 S�*�'�����*7�7,3. Y ��-C=V@�C 8 �)�4T=>�48:�=I�< ��YE"�=>�47X�< G�� ������ ���MN°?h����B�d¯

� ��� c�¯�¶f'rd�B��qs}��L°?��¯ ±ïªÇ¯L�Bn'Ð'n��=rdf'�G°`#�¯�|Q��~BrdÐ'f�qsr?°0qs���·»�¯�+5qNv{�Z����o^¯¿ª�qs�Z���d�D� ~�eg�;~��df^�=v{oV� ~B�=vp}�q��ºvVqˤ#qs}{f�¯� ������� �C7]0�3.=I�<Tº°5�B��­ ��¹e �1���Z�=�d°B�Brd��x_h^�B���d¯

� �*��Ïi¯�Â(��qs��}qs���D��¯ ±ïÂ�¯�Ã=vpn'²¾qs�d�G¯��J0��< '�6 �=VT@P<3.=I�$L KTU� B �4�$�8 �`-* )L � 3.:D=V87X�$L*@-s¯Zc�d�y��oJ~B�y±I+_f�oJ��f'xB°Lh^��� �d¯� "C�V»�¯?´(b�qs��egf'}�owqs����ªÇ¯LÃZ��~Be¿qs�?¯]cÌÃZrd}{¬�f'x�~s² ! r�qs���¥vzx�~s²(ÃZf^}p¬Z��� f����ʪ�~B©d����fi´(~Beg�dryvp���d�!§Q�Z¬=��}{~��degf'�=v�o'¯� ������

� �C7,7�3. 5@B$-*=?@�* 5���Y3.TH�*�4E"�º°d��q���f�o#���;h��d°dÃZf^�'~���� ! r�q�}Jv{f'}«h^�B���d¯� �"� c�¯ £ n^¬Z}p��f'}�°N§U¯,#wqs�zeD°sqs������¯ ±ÀÂ�¯NÃ=vpn'²¾qs�d�G¯�´(~��=v{}{qB�ºv{o�²®~�}Q³�»k|U¯yÄï� KT �&B$�$�$L*8 �C�9�A��=R���,���C3.T=8���Z������� ���CT �"�U���$0

�C "!9�$-C:��&��87��#�YE"�=>�47,�5�]���C )B<3.TTU�< 5=�� -C )L,�a �=?T@P43.=>�$L������$=VHZ-CTU��$ �Y�*HZ-CTUL"�6-X7X-*=R���<7X-*=?@B -C:�=?TU-* 5�R�4�*T7X-*=?@�* F�P$-*�4�$L�L����"�<:;�$0)7X�4 Y=W°¦¬B~���rdegf�h��C��hg~s²O���$B<=V3.T �3�6�C=I�4�X8 � �C7]0�3.=I�<T���B<@�< )B$� °$��q���f�o��yh%"��y���B�y¯?ÃZ��}p���d��f^}J± �¦f'}{��qs��°ªÊqËx�h^�B� �Z¯

OM_J�`Oba

Page 22: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

������������� ������������ h^�

� �C�Vl�¯ £ �����y��f'}qs���uªÇ¯ £ f'����f^��opf'��¯1´(~��=vp}�q�� v¶ÃZ~Brd���y�df�opo3²®~�}U³k©y�zf��ºvJ±J³k}{��f^�Bv{f^�¿µ0qs�d�Br�qs�Bf^o^¯ KT �&B$�$�$L*8 �C�a�A����� � � �������� � �,��� �Y��0):�-* �6�*=?@B$��º°5� "�­Jh�h�¹4e�h �;hË�y° #w~N¬�f^e�©;f'}U�s�B�dh�¯

� �C��ÃL¯ £ }�����rd���Çqs��� ��¯0Èk~���oJvp���df'�?¯ ! ªÊµ eJc4µ�q��d��r�q���fg²®~B} ! r�q�����vzxÊ~�²kÃZf'}{¬Z���'f!ÃZ�;f^� �����^qNvp��~���¯�a�f���bd�d���'qs�¶lf'�;~�}pvdw|3µL±ï�1�s±{h��d°dÃZ~�²Ávz¤¶q�}pf«a�f���bd�d~B��~B��x¼µ�q�©�~B}{qsvp~B}pxB° dwf'¤��f vJvp±G|¦qB���Ëq�}{�?° £ f'©d}{r�q�}px�h���� �d¯

��h^�C��ÃL¯ £ }��s��rd����q�������¯�Èk~���ozv{���df^�?¯ ! r�qs���¥vzx!~s²3ÃZf^}p¬Z��� fac$¤#qs}{f�»w��ozv{}p��©dryv{f^�_³k©d�zf^�ºvkÃyxZoJvpf^e¿o'¯#Äï� KTU� B$�$� LC8 �C���A�6=8�5�� =8�� ��� �� � � �* &�4�<TU�< )B$���* �]P@Q<�$B4= � ��T@�4 Y=I�$L/�Y�$B �. )�*:��U��@���-* )L��YE"�=>�47,�5�]� ���6��� � � �s°�ª�qËxÊh^���B�d¯

��h�h<�Va«¯Sdwq�e¿q��dq�°yÃL¯ dw~�����°=��¯ZlUqN�Jq�b�qs��egf�°d´k¯=µ����^� ��qs}��y�W°ZµQ¯yÈ«}{��oJvp��qs��oJf^�?°Bq����¼|$¯.dwq���oJf^�?¯0ÃZf^}p¬Z��� f ! r�qs���¥vzxg���!a#Ä$#9c6e! r�qs���¥vzxk~s²�ÃZf'}{¬Z���'f3a0}{qB�y���������³k�;f'�3#wf vz¤¶~�}{�Ocw}{��bd��vpf��ºv{rd}pfB¯� ��� �^� �C7,7�3. 5@B$-*=?@�* 5���/-<� -%�<8 �� °C� "�­(�=¹e�h��B� �;h ����°cwrd��r�ozv�h����1��¯

��h��*��³�¯�dkqs��o{opf'�?¯ £ ��f'ty��#wf vU± ! ~ZüÄï�Z¬�f�ozv{���=qNv{��~B�?¯1a0f^��b��d���^qs�?lf^��~B}Jv]cw|3ªÇ¯�h^� � �Z¯ �dhB¯ �B�d°ScU|3ªÇ°���rd��f¿h^��� �Z¯��h&�C�V��¯#�Bqs¨9q�}!qs��� ªÇ¯#ª�qsbdf^}^¯ ´(~���oJvp}�qs���=v!µ?~B������|Q}{~���}�qsegeg���d�5e c Ãyrd}p¬Bf'x9¯ �.�*3.T �-*:��A�`�J� �C@B KT �U��TU-*7�7�8 ��°h�� ���s��eÞ�s�2���d�,�dhB°sª�qËx �N�Brd��x�h^������¯

��h'���Vª ¯�È«��f'���Dq�����lV¯;ÈVqsÐ'e¿q��?¯Zc¶vJv{}p��©dryv{f ±ïÂ#q�opf^� cU}���bd��vpf^� vprd}�qs�1Ã=vzxZ��f�o'¯#a�f���bd�d���'q���lf'�;~�}pv�´¶ª�¸ �sÃZ§QÄÀ±ï���s±Àal±À�=���y°Ãy~s²Ávz¤#qs}{fk§Q�������df'f^}p���d�gÄï��oJvp��vpryv{f�°;´¶q�}p�df^����f ±ïª�f'����~��!¸w�d��¬�f'}�op�¥vzxB°�³��ºvp~B©�f^}«h^���B�d¯

��h��*�VÂ�¯dª�f^x�f^}^¯��]PRQ<�$B<= ��T@�< 5=>�$L������$=VHZ-CTU�'���C ��=?T35B4=?@�* �¯1|3}pf^�Bv{���'fadwq����G°��N���uf��y�¥v{��~B�?°?h���� �y¯��h%"C��³k©d�zf^�ºviª�qs��q���f^eif^�=v�Ï�}p~Brd�?¯ ������� �*7�7X�* �]PRQ<�$B<= !O�$1435�4�= �]TU� �2�4T�� �OTUB$�S8=>� B<=?3.TU�'-C )L �C05�$B4 �KB$-*=?@�* �� � ���N°»kf^�'f'e�©�f^}w�s����h�¯

��h �"�«|$¯L|¦qs�G°?��¯;µ�~NxBqs���G°9l�¯LÃd��b�qs�=vpÐB°L��¯��;���d�Zx�°?lV¯?ÃZb�qs�d��}p~�°Lqs���_��¯Lª�f^���=rd��f'}�¯«¸koJ���d� ! »kµ vp~�ÃZ�;f^�'�¥²®x ! ³«Ã[c$¤¶q�}pf»k��ozv{}p��©dryv{f^� ­ ! r;³«¹ cU���d�����'qsvp��~�� ´(~B� ���Brd}{qsvp��~��?¯�Äï� KT �&B$�$�$L*8 �C�'�A�W=8�5� �)�.8TUL� Y=I�<T )-C=V@�C )-C:��YE*7905�"�83.7 �* �]P@Q<�$B4= � ��T@�4 Y=I�$L#!O� -C:��&��87��#�YE"�=>�47,�5� � � !,��� ��� ¯dÄï§Q§Q§w°�ª�q�}{��b��s�B���d¯

��h%�C� c�¯d|¦qs}{b�qs}�°Zf^�y��vp~B}^¯6� ��� �]P@Q<� B<= ����� 58=?@�* ��-C ��35-<� �W�/-C 535-*:I� � ���s¯(a#Ä$#Oc±J´(~���op~�}pvp��rdeD°y��r���x_h^��� "d¯��h^�C��ÃL¯�ÃZ��cw��bd��}�¯����'� 8 �-\ 53.=V�U���<:8: ¯(³�É lUf'������x��Ìq�o{oJ~y� ��qNv{f^o^°�h���� �d¯�Þ�s�C��´k¯;ÃZÐ'xZ�;f'}�oJ�Z�G¯�� �C7]05�* ��4 Y= ���A�$=?HZ-*TU�����O�4E��C )L �]PRQ<�$B<=�� ��T@�< 5=>� L KTU� �CT -*7�7,8 S�s¯ c�d�d��op~��y±I+·f^op��f^x�°Lh^�B�1��¯�Þ�yh<��Ïi¯�+5qs���Dq�����c�¯�ª�qB�'µ�f^qs��¯iÃZ~�²Ávz¤¶q�}pf¼´(~�eg�;~��df^�Bv�o«��� ´(~��=v{f tZv{o«qs���·ÃZf^}p¬Z��� f #Uf^��~y� ��qNv{��~B��o^¯�Äï�?KTU� B �$�$L*8 S�*�

��� =8�5� � ����� Y=I�<T )-C=V@�C )-C:����*T �*�U���$0 �C � �*790��C )�< 5= ���9-*�4�$L �����$=VHZ-CTU�"�K S�C8 ��$�4T8 S�s°#��q���f^o �2�����1�d¯QÃZ~�²Ávz¤¶q�}pf§3�d�����df'f^}p���d�gÄï��oJvp��vpryv{f�°;´¶q�}p��f'����f ±ïª�f^����~���¸U�d��¬�f^}{op�¥vzxB°9h^���B�d¯

�Þ���*�V��¯ +·q�}pegf'}iqs��� c�¯$È«��f^�d��fB¯ ����� � P@Q<�$B4=�� �* 5�=VTU-C8 5=O�J-* S�C35-&�2��$ �TU�$B4 �<� �/�&L2�4:�8 � H�8=R���`�'�$¯�c�d�y��oJ~B�y±+·f^op��f'x�°�h^���B�d¯

�J�4æC���4���

Page 23: The Design of GCCL: a Generalized Common Contract Language · The Design of GCCL: a Generalized Common Contract Language Jacques Malenfant, No el Plouzeau, Jean-Marc J ez equel To

Unité de recherche INRIA RennesIRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France)

Unité de recherche INRIA Lorraine : LORIA, Technopôle de Nancy-Brabois - Campus scientifique615, rue du Jardin Botanique - BP 101 - 54602 Villers-lès-Nancy Cedex (France)

Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38330 Montbonnot-St-Martin (France)Unité de recherche INRIA Rocquencourt : Domaine de Voluceau - Rocquencourt - BP 105 - 78153 Le Chesnay Cedex (France)

Unité de recherche INRIA Sophia Antipolis : 2004, route des Lucioles - BP 93 - 06902 Sophia Antipolis Cedex (France)

ÉditeurINRIA - Domaine de Voluceau - Rocquencourt, BP 105 - 78153 Le Chesnay Cedex (France)��������� ���� ���������� ��� ���

ISSN 0249-6399