!! "#$%&"#’()) ! ! * + ,#* & -. # / 001 + ! (2 3 4 5("$ 6 3 #- 47*$##( " )(8($"4 (9(" 3 :;! :(<(=7() (2 9+ )( &"$>
��������������
������
���������
������� �������������������
������������
���������������������������� �������������������
�����������������������
���
��������������
��� �����!!��������"�#$%&"�#'())�
!������!�����������������
*�� ����������+�������������,#�*�
&������������-.�����
������������������������������������������������
#�������������/����001���+�������!������������(2�����
������������ �� �����
�3��� 4�������� 5("�$�� 6���������
��3��� #�� -����� 47*$##(� "� �������� � �
�������� )(8($"4� �
��������� �(9("�
��3��� :���;���!�� :(<(=7()�� (2�����������
9+���� � )(�&"$>��
�
������������
:���������������������?������!����9+���)��&��������+������!�����!������-.��@����������+����
��������� ��-���������� �!��!� ��+����������+���������!-��!-�������������!���������������3�:��
�����!��� :���;���!� :�A������ ������+���� ����� ?� ������� !���!���!�� ���� !�� ���+���� �����!����
��������!����2���������3�
:�� �����!���4������5������ �������� ����� ��-������� ��� �������� ��� /���@� ������ ����������
)������@�������������������#�� -����4�!��������������!!� ������+������!�����+���@�������������
����������������������������� ��!����3�
:�������!�������������)������������@�9+���)���!-�@����8������#����� ���������!-������
����!-������������������+�����������!��������!������+��23�
:�� ���-��������� ������ �����!���� ����� !��2� ���� ����� ���� ���"�#$� ���� ��� �������� �B� /����
����!���.������� � ��!��� ��� ���+������3� ,���!C� ���� ��� �����@� ��� ���������� ��� D��@� ���
����!����� ��� �������� ���� ������� ���� !-����� �2��E������� ������� ������ �� ���������3�*����������
��!�����������������������+��������+�!��������������� ������������@�&�D��C�����+����!������/��
+��2� ����@� )�F!� ���� �+���� �� ����� ���� !������ ��� ������� ���� �������� ��� ����� ��������� �����
������ ��&���C���3����!��������?�*-��������@������;��G���@����.��@�$��������@������2�����������
���!����3�
:�������!���9����!�)��,�������+������������������!-������-.������������������� �������������
+���� ����#�������������������� �����+�����������-�������!������-.��������H��������������3�
(����@� /�� �����!��� ����� !��2� ���������� ������ ��� ��� ��� ���!����� ��� !I��� ���!��� ��� ���
�-.��������������������+���!������������������/������!��������E������ ���������3�:�������!��������
�������� #�������@� ���� ��� !����� �����!�� ���-����� ���� �� �!!�� ����� ��� ����!����� ��� !��
�������3� :�� �����!���*�����@�*�������@� :��I��@�$������@�$���;8�G���@����D���@� :�-����@�
,���H�������*�!�������+���� ����������+������!��������!���������������@� ��!������/��!�����?����
!�-����!����� �����H�@� ��� !�� ���+���� �2����� ������ ��J!��?� ��23� :�� �����!��� :���;)�����#�!-��@�
���-���� #�����@� '��D��� "�����@� ���!-� K��!-�D�C�@� :�-�� *���@� :�-�� *�������@� *�!���
&�����@�>��+����������������8L�����)�����������������������������/������!!�� �������������?�
�+��!��3�
:�� �����!������� �����; .���)��� ������� ������@� �������+���� �������� ����� ��� ����� ���
!������-.��@���� �����+����������������+�����2�!����������3�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(2������������������������� �����!"#�@���0�������$�%������� � #�����$&�$%��' # 3�>��+������������@�MN�O3�
�
�
� �
������������ ���������������������������������������������������������
�������������� ����������������������������������������������������������
()�� ���%� %�����"��*��� +++++++++++++++++++++++++++++++++++++++++++++,�3M3M� )�������!��������PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP��3M3� ���������������!����������������/�� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP�3M31� )�������������������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPM0�3M3�� *��!������ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPM�
()(� ��'!�$% �������$"%�%�"$� ���-"#�����%� %�����"��*��� ��� ++++++++++�.�33M� 4������������!������ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPM1�33� Q�������������������������������������!������������PPPPPPPPPPPPMR�
().� �'%/"�"�"����-"#��#$��*"$*�-%�"$�%� %�0�� ++++++++++++++++++++++�,�313M� )��!��!� ����� ���!������PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPMO�313� )���!�����������7�)��������������>*) PPPPPPPPPPPPPPPPPPPPPPPPM�3131� )���!�� �������������������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPMN�313�� *��!������ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPM�
()1� ����'$'��%�"$��#%"!�%�2#�����*� ����%� % ++++++++++++++++++++++++((�3�3M� &�!-����������!���������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP�3�3� &�!-�����������!��������PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP1�
()3� �"$*�-%�"$�-���*"$%��%��%�%� %++++++++++++++++++++++++++++++++++(3�
(),� �� %�0���%'��%�!� #�� �-"#���� ��"��*��� ��� ++++++++++++++++++++++(4�
()4� �"$*�# �"$ +++++++++++++++++++++++++++++++++++++++++++++++++(5�
��������������������������������������������������� ��������������������
.)�� ��-%�%�"$�������$��6 �����!#%�%�"$�-"#�����2#���&�*�%�"$����*"!-" �$% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++.(�
13M3M� )�� ��!������������ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP11�13M3� )����!��� ������������������������� PPPPPPPPPPPPPPPPPPPPPPPPPP1��13M31� ������������+������ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP1��13M3�� > ������������������������������ ��������������!����������!�� ������ 1O�13M3R� >����� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP1�13M3�� $������������������� ��������!����������������.��PPPPPPPPPPPPPP1N�13M3O� > ��������������������������������������������� PPPPPPPPPPPPPPPP�M�
.)(� ��"��%/!���'$'%�2#��-"#����"-%�!� �%�"$����*� ����%� % ++++++++++++1(�133M� )����������-�������������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP��133� &�2���������������-��PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP���1331� )�� ����.��������� ��������������!����������PPPPPPPPPPPPPPPPPPPP���
.).� �%#�� ����*� �-"#��#$����"��%/!���'$'%�2#�++++++++++++++++++++++3��
� � �
�
� �
�
1313M� > ��������������!���������������������������2�� ������(�����PPPPPPPP RM�1313� > ��������������!���������������.��������2�� ��������!�� ������3�(&
� R1�13131� "����������������������!�����������.������������ PPPPPPPPPPPPPPP R��
.)1� $���--�"*/�����-%�%�7����#$��8����"��%/!��0�*%'��"�"��2#��9 ++++++ 34�13�3M� )�����.�����!������������ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP RO�13�3� 4�����+���2���������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP �M�13�31� 4��!����������+����������������.�����!������������PPPPPPPPPPPPPP ��
.)3� ����!'%������� �!"�:�� +++++++++++++++++++++++++++++++++++++ ,1�13R3M� 6�����������������.�����!������������ PPPPPPPPPPPPPPPPPPPPPPP ���13R3� "�!-��!-��������������-����������������PPPPPPPPPPPPPPPPPPPPPP ���
.),� �"$*�# �"$ +++++++++++++++++++++++++++++++++++++++++++++++++ ,;�
���������������������������������������������������������������������
���������������������������������������������������������������������� !�
1)�� �"$*�-%�"$�-���*"$%��%��%�'��0"��%�"$���#$��!� #�� ++++++++++++++ 4<��3M3M� )���!�������� ��������������������������������������PPPPPPPPPPPPPPP O0��3M3� (����������������������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP OM�
1)(� �� #����������"0# %� � ++++++++++++++++++++++++++++++++++++++ 4(��33M� 4����������PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP O��33� $2������������ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP O���331� 5� ��-.����������.������-�������� PPPPPPPPPPPPPPPPPPPPPPPPP O���33�� 4������������������2����� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP OO��33R� (2 �����!��� ���� ����������������.�� PPPPPPPPPPPPPPPPPPPPPPP ��33�� $ ��!���������������������������������.����������������������PPPPPPP O��33O� *��������������.������������PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP N�
1).� $��!� #�������������$" �0���%'++++++++++++++++++++++++++++++++ 5���313M� $���������� ����.��PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP NM��313� 4����������PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP N1��3131� )�������������������������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP N���313�� "������������!��!������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP NN�
1)1� �"$*�# �"$ +++++++++++++++++++++++++++++++++++++++++++++++++ 55�
��"���#������������������������������������������������������ ������������ �$��
3)�� ��' �$%�%�"$�������-�"0�'!�%�2#� +++++++++++++++++++++++++++++ �<��
3)(� �� %�0���%'���#$����*/�%�*%#��������'&�$�%�"$ ��%�!'%/"�"�"���+++++ �<1�R33M� &���������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP M0��R33� 7������-��������� �������!��!� ������������.������������� PPPPPP M0R�
�
�
� �
R331� (2�� �� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPM0��
3).� ���%:������%� %��%��$%�=-�%%��$ �-"#���� ���*/�%�*%#�� ���++++++++++�<4�R313M� $��������������������������; ���������������������� PPPPPPPPPPPPPPM0O�R313� *�� ��2��������S-������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPM0N�R3131� *���.����������� ������������.����>> PPPPPPPPPPPPPPPPPPPPPPPPMM0�R313�� (2�� ��� ������������������������� PPPPPPPPPPPPPPPPPPPPPPPPPPMM1�
3)1� �"�'�� �%�"$��� ��$%�=-�%%��$ ++++++++++++++++++++++++++++++++��,�R3�3M� *������!������������� -��?� �������S����������������!��������S7�)
� MM��R3�3� 4���!������������; ��������?� ���������84* PPPPPPPPPPPPPPPPPPPPMM�R3�31� *�� ��2������������; ������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPMMN�R3�3�� �������������!�� ��2������������; ��������������.�������������������+���
� MM�
3)3� !'��"��%�"$�������%� %�0���%'��#�!"�:�� ++++++++++++++++++++++++�((�
3),� �>�!-�� ��?�--��*�%�"$ ++++++++++++++++++++++++++++++++++++++�(1�R3�3M� )��������������������+��� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPM��R3�3� #��+����4��"�������Q�������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPMR�R3�31� 7�����!-���!��������!�� ������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPMO�
3)4� �� ��$���%%��$ �-"#�����%� %�0���%'��#�!"�:��++++++++++++++++++++�(5�R3O3M� *��!�+���� ���!������������������ ������� PPPPPPPPPPPPPPPPPPPPPPMN�R3O3� $ ��!���������������� �������#����� ���������������������������� PPPM1M�
3);� $��6 �����%� %�0���%'��� ��� ��$�-�%%��$ +++++++++++++++++++++++�.1�R33M� $�������������������������#���� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPM1��R33� $�����������������������S$�����!��,�!����PPPPPPPPPPPPPPPPPPPPPPM1R�R331� 4�����������!�������������������������������+��������PPPPPPPPPPPPPM1��R33�� )����������������������������������� ������� PPPPPPPPPPPPPPPPPPPPPM1�
3)5� �"$*�# �"$ ++++++++++++++++++++++++++++++++++++++++++++++++�1<�
�%��������������������&�� ���������������������������������������������
,)�� �"$%��0#%�"$ �!�@�#�� ++++++++++++++++++++++++++++++++++++++�1���3M3M� Q�������������!�� ������ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPM�M��3M3� &������������������������������!�� ������ PPPPPPPPPPPPPPPPPPPM�1�
,)(� ��� -�*%�7� +++++++++++++++++++++++++++++++++++++++++++++++�1.��33M� )��������������������� ����������������!PPPPPPPPPPPPPPPPPPPPPPPM�1��33� )���!��������!��������!���������� PPPPPPPPPPPPPPPPPPPPPPPPPPPM����331� &��������������������.���� ������������������PPPPPPPPPPPPPPPPPPM����33�� 4������ ��������������� PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPM���
� � �
�
� �
�
"���'�� ���������������������������������������������������������� ����
"���'��"� ��������������������������������(��)���**����������������� ��+�
"���'��,� ����������������-�����������������������������&��� ������������ ����
� +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ �3��
( +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ �3(�
��AB��C����D�B��CE ++++++++++++++++++++++++++++++++++++++++++ �3.�
��������� ��������������������������������������������������������� ����
,���������.�������������������������������������������������������� ��!��
�������!�����
�
� M�
��
�����������
)�������������������� ���T����/�����-���!�������������� ���!� ��� �������+����������
������!���������������� ���������U���A��SSN0V�������SSNNW3������ ������/�!�������2�������
��� ���2�!����� ��� ��������� ����� ��� ���� ���� ��+����� ���� �������3� ��� ���� ���+���� �������
!�������������� ������������������������������� ��������������!��������?�!������������
� �!����3�)��!��+������� ������������� �������� ����������������!�!������+������ ����!���@����
��������������!-������� �������������+�������������������������� ��������+��� �����3�
6�����������@� ��������������� ����!���� ���������/�����-�����������.������� ������� ����
!�� ��2���V������+��������!�!��!���������!�������������+���;������������� �������3�)����+���;
������ ���� ���������� ����� ��� ������ ��� ��!������ ��� ��� ���-���������� ���� ��� �������� ���
��/���� ����!����� ��� ��� ��� �������������� ��� ���������� � ���+���� ��� ��+���� ��� ���
!��!� ����� ��J!�@� ��� ����!�����@� ?� ��� ������� ��� ������� ����� ��� U8����SSNRW3� )��
��+��� ������ ��� �������� ������������� XY������D��C��Z[� ��� ��� ����������� ����������
!������������������� ������?���������������������!��������� �������������� ���������3�
)�� ������������������������/����X>>[����������������������������������+��� ������
��� !�� ������� �������������� !����� ������ ��� �� ��������� U#A� ���C�SSNW3� (���� ������ ���
����!���������� �������������S��!� �������������������������S���������������� ����������
�S�������� ���� ��������� �+�!� ���� !�� ������� ���������@� ��� ��� ������� �S��� ��������� ����
���������������� ������� ������3�*���� ����� ��������������������������������������
�������� ���� ���������@� ���!��!� �������� ��� ��������������������������.�����������������3�
)���� ����� ���� ��������� ��������� ��/���� ������ �!!�� ������ ��� ���������!�� ��7�)�
X7������� ��������� )�������[� !����� �������� ��������� ��� ������������3� *�� ��������
������������!�� ���������������������� �!����������!���@����������!�� ���������!��������������
!�� ��������� ���������� ��� ��������� /�����?� ��� ����������� ���� !��� ��� ����� ��� ���
����+���������������� ��������3�
)���� �������������������� �����������/��@���������������!-������������!-����� �������
��+��� ������ ��� ����!���� ����� �������� ��� ��!������� ������-����� ��� ����� ���� ��� �����
� ������������������������������������������������������������������������������������������������������������!������ �
�
� �
�
U������SSNNW3� (�� �����@� ��� ������� ��� ���������� ��� ��� ����������� ���� ���� !�� ������� ����
��������� ���� ������ ���� !��2;!�� +���� E���� ����������� ����� ��� �������2� !����2����
����������3� )���!� ��������� ���� �������� ����� ���� !������@� ��� �� ��������� ��� !����I��� ?�
���+���� ��� ����.��@���� ��� ������������������ ����� ���������� � �!���!������������+���� E����
���������!�� ��� ���������!-�������������-������������� �� �����3�6�����������@�����������
������������ ��� ����� !��� ���-����� ���� 7�)� !����� �������� ��� ������������� ����
����!����3�
*���������� ���+������� ��� ��� �����@� ��� �2�������� ��.���������2� ���+��2����� ��� �����
����������� ��� ����� ��� ����!����� ��������� ��/��@� ������� ��� ����� ��������� ���� ���������
/�������2� ��!����������������� �������+�����������������.����!�� ��2��3�*�!����������
����@� ��� �2�� ��@� ?� ���� ���������������� ��� ����� ��� !�����@� ?� ���+���� ��� � ������������
����������������������D��C�� ������+������������������������/���� �����\�����U��!CSS0MV�
*����SS0W3�*��������D��C�� �����������!�� ����������!����� ����!���.������� ����������
>>� ���� ���!������@� ���2�!������ ��� ��� !����!��� ���� ������������� ����� ���� ���� !�����3� 6���
��������@� ��� ��� �E��� ����.��� ���� ���� ������� �������� ��� ���� !�� ������� ���������� ���
������������������!-���!������������!���@�����2��������� ��������������������!����� �������?�
���������������� �������������� �������� ����� ������ !������ ����� ���� ��+���� E���� ������������
����������������� ��!������3�
)��� ���+��2� ��������� ����� !����� �-.��� ������!������ ������� ��� ������ !�������������
��/���������� �����!��+��������� ���!��������������� �������� ����!���������������/��� ���� ���
��+��� ���������!�� �����������!������������3��
*�����������������������!��������� ��������� ���!� ��� ���� ���+��������������� ����������
�����!�� �����@������������������!���������������!�!���������� ����.����� ������3�>�@������
���� ��������������������� ������������!�����������!��+������������������������������������
��������@�������������������!������������ �������������������!�!����������������!�������
��.�� !�]������ ?� ��� ����� ��� ��� �� ��� ��� ������3� ��"-%�!� �%�"$� �#%"!�%�2#�� ��#$�
�$ �!0������*� ����%� %�� %��"$*����-��!�:���*"$%��0#%�"$����*�%%��%/: �3�*�����+������!�������� ?� �������� ��� ���� ��!��� �"�"��#$�@� ��� ?� �������� ���� ���+����� !���������
���������-���� �+�������������@� � ����� ���� ��!��� ����" ������#$�@� ���� ����������
��������������������������������������������!����������� �������!�� �����3�*����� �!��
��� ���� ���+��2� �� ���� ������ ����� U������SS00�V� ������SS00�V� ������SS00!V� ������SS0�V�
������SS0!V�������SS0�W3�
4���� ��� �����@� ����� ��������� ���� ����.���� ��� ����� ���� ��+���� � ���T���� ����� ���
������������� ��� !�� ������3� *����� -���� ����!���.��� ��� ����� ���� � ����� �����
�����������������!��������?�������� ���� ������!������������ ����!�� ��������������.��3�$�!��
��+���@� ���2� �� ��� ��������� ��+���� � ���T������ ���� �������� ����� ��� ����������� ����
�������!������������!�-����!���������������.��������?������!�����������������!����I��3��
)�� ��������� ����������� ���������T�����������+����������������������!�� ������ ���
��������3�6�����+�����!����������@����� �!���!�����������������!��������E������� ����!�� �.���
�������!�����
�
� 1�
�������3�*������ �!���!������ ��+����E�����2 ��������������������!����������������!�����
>>@� ��� �*"$���*"$%��0#%�"$�!�@�#���-�' �$%'����$ � *�%%�� %/: �� *"$ � %��F�'%#�����
���!-�*%� �� � *"$%��% � #�� ��#>� &�*%�#� � ��� 2#���%'� ��#$� �"��*������ ��� �"0# %� ��X!� �!�������������!����?�����!����������������������[��%��������$" �0���%'�X��!������ ���������!����������������������[�U������SS0M�V�)��&����SS01W3�
)����!���� �� ����������� ��+���� ��� �������� �������� �������������������]����!����I���
���������� �� ����� ?� ���+���� ��� ����.��� ����� ���� ����!����� ��������� ��/��3� (�� �����@�
�������������� �� �������� ��� !����������!�������� ��/���� ����� ���� ��� ������ -����� ��� ���
����������@� �����T��� �S�� ���� ����� ������ ������� ����/���� ���� �2�!����� ����
���!����������3� 4���� !�� !��@� ���� �������� ��+���� ��� �������� ����� ��� �������������� ���
!�������� ��/���� ��������� ��� ����.��� ��� �����������/���3���� %�"� �:!��-"�$%��0"��'� �#�
*"#� ����*�%%��%/: ��� %��"$*���'%#�����#$�*��%:������%� %�-"#��� #�������$%'���%�"$�
��#$� � �!0����� ��� *"!-" �$% D� ��$ �� 2#�#$��!� #��� ��� *"!-��>�%'� � "*�'�� F� *��*��%:��� -��!�%%�$%� ��� -�'7"��� ��� %� %�0���%'� ��#$� � �!0����3� )��� ������� ��� ���
������������ ��� ����.���� ��������� ��/��� ���� ���� �������� ����� U������SS0M�V� ������SS0�V�
������SS01W3�
*���������!������������� ��+����E����!�����������+�������2���������������� ���������
��� !�� �������������� ����� ����� ���� ��� �!��+�� !��!� ����%+���������@� ����� ��� ���
��!�� ����!�� �����%��������������!�� ������3��
)�� ������� �� �!�� X!��!� ����%+���������[� !�������� ?� �� ������ ���� ���+��2� ������ !��2�
���� ������������ ���+����������X!I���Y�!�������Z[����!��2����� ������������ ���!��!� �����X!I���
Y� ��+������Z[3�4���������� ������������+����!����� �!�@� �������2� ����.����!�������������
��+����E���������� ������������!���������+���������@� ������������!��!�������������������
������������$������������X� ��!-�� ����������� ��!������������ ������ ��&���C���[3�)��
������.��� !�����������@� !��!����� �������� ��� �� ������� ����� ����.��� ���� ��+���� E����
�����+����������� ����.���� -�����������!��!� �����X!I���Y� ��+������Z[3�
)�� ��!���� �� �!�� X!�� �����%����������[� �� ����� ���� ���+��2� ������ !��2� ���� ���
!��!�������� ���� ��� !�� ������ ��������� ��� !��2� ���� ��������� ��� !�� ��������� �����
����������� ��� !�� ������3� $+�!� !����� ��!����� �� ��������@� ��� ����.��� !������������
� ���T�������@� �����������!��!������������������������� ��������������������������!������
����� ���� ��� !�� ������ �����3� 6��� ��������@� ���� ���2� ������� !������������� !��!�������
�������� ��� !�� ��������� ����� ����������� ��� !�� ������� +��;?;+��� ��� ����@� ����� ������
������ �������+����!����� �!�3�
$����@� ��� � ���T�� ���@��E��� ��� !��� !������������� ����� !���������� ������ ��!�����������
�E��� ����.��@������� ��+����E���� �������������+��������������� ���������+��@� ��������
������!�����������!����!������ ������������!���3�4������������@�����������������E������� ����
��!��� �������@���������������@������!�������@���������������� ������������!��������!������2�
�� �!��3�
�� ������������������������������������������������������������������������������������������������������������!������ �
�
� �
�
)�����������!����!������������������������������.������+�������
)�� !-� ����� � �� ����� ���� ���!� ��� �������2� ���� ��� ����� ��� ����!���@� ���� ��������
������������������������ �������� ���������������������/��3�$��!��������!��!-� ����@������
��������������������������-���� �������!��!� ��������!�� �����������!��������������� ����
!�� ��������������������3�(����@������������������������+��2��2��������������� ������ ��!���
�������������!������-.��������������������������������������@���������������� ���������������
����!���������������������3��
)�� !-� ����� 1� ��� !��!������ ���� �������� ����� �������-��� ���������� ���� ��������� ���
����.��� ��� ��� ����������� ��� ��� ����������� ������������ ��� !��� ��� ����3� )��� ����������
�2 ���������2��������������!��+�����!����� ������@�������!�������@������ �� ���������
�������-��� ��������@�����2� ��� ��� ?� ��� ����������� ����� ��������� ��� !��� ��� ����3������
� ������ !��� �������-��� ��� �������-��� ��!������������@� ��� +�������� ���� ����!�!����
�2 ��������������3�
)�� !-� ����� �� !��!����� �������� ����� ������ �� �!�� ��� ������-������ ��� !��!� ����� ���
!������� X������� �%� ���� ���[3� ����� ��������� �!�� ���� �!�� ��� !����� ��!-������ ���� ���
����!�������������!������������������3�)���������������������������������������������������
��������� �����+������!����� �!�@����������!�������������H����!����������������!�������� ���
����������2 �����!��3�)��� ����������+�������� ?� ��� ����� ��� ��!-�� ���!���������� �������E��
����!�� ��������������������� �����������������!������!����������!�� �����3�
)�� !-� ����� R� �������� ��� �������� ����� ������� ����� !����� �-.����� ��� ������������ �����
����������� ��� !�� ������3� ����� �� ������ ��� !���.��� ��� ����� ���� ��� !��+�������
��������!��������������/���@������������������������!�� ��2��������!���3�*��!���.��� ����
E�����+�������������������������!������@���� ���������������+��������������� ����!��+��
���������������������� ���������3������ �����������������������-���� �������������������
��� ��� ������������ ����� ��������� ?� ������ ��� ������������� !������3�(����@� ��� !����� ���
!����� ������ ����� ����� !��!�������� ���� ���� ������� �������� !����� ��� ����;���������
!�-��������������������������� !������� ���� ������������� ������������ ?������+���� ��!��3�
����� �� ������ ���� �������� ���������� ��� ��� ������������ ��� ��� ��!������ ��� ��������
��������V������� ����.����!������������������������� ��+����E�����������@�������������������
���+���2� ������!�� ��2��� �����������3�
�(����@����!-� �������!��!����!������-.���������!����� ������������ ���!� ����� ���������
��!-��!-����� ��� �!��+�������������������?� ���������!������+��23�
�
�
�
��
�������������
)�� ������������������������/����������������������+����������!�������������+����E����
���������!�� ��� �������������������!����3�)���!� ������������������������������!������@�
��-�������@���� ������ -����@����������������������!������!�������������������?��� ���������
����� ��� ����!����� ��������� ��/��X>>[3� 4�� ���� ��� !������!����� ���� ����!����� >>� ����� ���
��!�� �������-��������������� -���������������������;�����������;����.�������� ��������
�����/����� ����������!��3�6����2�� ��@�!����������������������������.����������� �������
���� ���� ��2� ������� ���� ��+���� E���� �������� �� �������@� ��� ��� ���� !���������� ���
!������!��������������.���?���/����!�����������!!������������ ����������������3�
4� ���� ��2� ���@� ��� �������2� ���+��2� ��� ����� ����������� ��� ����� ��� ����!�����>>@� ���
��!������� �����������+�����������������!����/���������������������U#�����SSN�V�������SSNNV�
�!8�����SS0MW3� )��� �������� ���+��2� ���� !�������� ?� � ������� ���� ��!-������� ��� ����� ���
����!����� ��!������2� ��� ����� ��� ����!����� >>� ��� ��� ������� ���� ��������� ���.����
������!������� X ��� �2�� ��� ��� ������� ��� !������ !����� ������ ��� ����� ��� ���� ���� ���
��!�����%���-���[3� $+�!� ��� �������� ��� ���������� ���-������������ X������� ���
!�����!�@� ��������� ��!���@� !��������^[� ��� ��� ��������� X7�)[� ���� ��� !������!����� ���
����!����� >>@� ��� ��!-��!-�� ���� ��� ����� ��� ����!����� >>� �� ���� ��� !�� ��� !���������
� �!���!�������� ��� �������������>>�������� ��!-������������������������ �����3�#��!���
���+��2� ���� ����� !�� ��� ��.�� �I�� ��� ������ -����� ��� ��� ��������������
������������%!�������� ���� ��� ����@� ��� !-��2� ��� ��� ��������� 7�)� X7������� ���������
)�������[� !����� �� ���� ��� ����������� ��� ����� ���� ������+������ ��!���� ��� ���������� ���
��!������ �E��� ��� !��!� ����� >>� ��� +��� ��� ����� X ������� ��� !��!� ����@� !����I���
���������[������������������2�������3��
��
�
(������������
�
)���������!��!-� ����������������������������������������@�������������� ��������+���
�������@� ��������������������� ������ ����!�������!����� ���������2�������!����������������
!������-.��3������!�����H���� �������������� �����������!��+�������������������!����������
+�!��������� ����!��@� ���� ����� ���������� ���� ���+��2� � �!�������� ��� ����� ��� ����!�����
��������� ��/��@� ������ ����� ���������� ��� ����.��� ��!����� �+�!� ��� ������������ ������
��!-���������+�������������!�������������.������������������������!������������+��2���!�����
�����!������-.��������������������������3������ ������������������������������������������
���������7�)���������� �����������@����!�����������+�!����������!��������������-���� ����
��� !��!� ����� ��� !�� ������� ����!����� �������3� (����@� ���� ������ �����.���� ��!������
���������� � ���� ������ ��� ������ ���������� ��������� ��2� ������ ������ �������� ����� ��� ������ ���
!����� �-.����� ��� ����������� ������������ ��� !��� ��� ����@� ���� �!�� ��� ��� !��!� ����� ���
!������� ��������������������������������������!����3�
2.1 Le test de logiciel 4���� !����� ����.��� ��!����@� ����� ���������� ��� ��!-�� ��������� ���� ��� ����� ���
����!����@� ���������������������������+��2� ����!����������������������!����������������/��3�
(����@� ����� ������������� ���������� ��� ��������@� ���� ��!-������ ����!���.��� ���� ���
+������������������������������!�������������������������������������!-� �����1�����3�
2.1.1 Le test classique
)��������������!������ ���������������!������������������������ ��������3�)����������
��� �����@� ������� ��� ���������!�� ���� ���� �������� ��!�������� ����� U)� ���SSNRW3� 7��� &�$���
�����������!�����������������@������ �$ �������� �������������.��������������!� ���������
��!���!-��� ���� ���������!�@� ��� ���� �"&��������� !����� ���� ?� ��� �+�������� ���+������
��������������+�!������+�����+���������!!�� �������������������!������������.��3�4�������
���������!��!-� �������������������������������������������� ���������������������������3�
&�.�� �!-������������@� ��� ����� ���������� ��� ����!���� !�������� ?� �2�!����� ���
����������+�!���������������������������������@����?�!�� ���������������������������
�+�!�����������������������3�#��������������������.����@����������������������!���@��������!��@�
��� ����� ��!������� !����� ������� ��� ��� !�������3� =����� ��������� ���� !�������@� ��� !��+����� ���
������������ ��������� ��������������������!����!����������������������������� ��������3�
(����@� ����E����!�� �.��@����!��+�������������� �����������������������Y�!���.��������E��Z@�
����� �!�������������� ���������������������������������3�
$� !-�!������� !��� ��� ��� ���� ��� ����� !����� ������� ������ ����!�����3� 6���� ��2��� ���
������������@������������ ���������U\���-�C��SSNW@����!�����.���������� �������������������
� ����� �� �������$�������������������"����������������������������������������������
��������� ����� ����@� ��� ������ ���� ��� ����� �������� ��� ��������� !-����� ���2�!����� ���
��������������������+�!�������������������� ����!���.��3�)��!��������������!-�����������
������������� ��������������������������������� �� ����?����2�!�������+�!�������������
�����������������3�6����2�� ��@� ����������������������������+�������������������-.���@����
)��������������!����
�
� O�
����� �������� �� ������� ��� ��+��3� $�� !����� ��� !-� ����� 1@� ����� ����� ������������ ���
����.�������������������������������������������������������!�!��3�)�����!�!�������!���
�������������+��������J!��?� ������%�������$��������������� �������������� ������������!��
!-� ����3�
$ �.�� ���2�!��������� !-�����!������ ����@� ��� ����� !�� ����� ��� ��������� ��������+�!� ���
��������� �������3� *�� ����!��� ���� ������ ��� ����������� ��� ��� ��������� ���� ��!����!�� ����
� �������� ������������&���������� ����3�*�� ����!��� ����E�����2 ��!�������������!������
����@� E���� ������� ������!������� ��� ���� ����������� ��� ���������������� X ��� �2�� ��@� ���
�����;!-�!C���[���@���������!������ ���@�E������ ��!��������� �����������+����!��-�����3����
����!��������������!��� ����E���� �������������� �!�������?������������������@���� ���������
�������!��������������3�6���!�����@�������������������!�����E����!����!�@�!����;?;�����������
�����������!���������������!�� ���������!����!�3�)����!����������!����������@� �������
������!�� ���@�����2�!������@�������� �!���!�����3�
)��������� !��� ��� ����� �!-���@� ��� ����� ��!������� ��� ����!�� ��� ��� ���������!�� ����� ���
��������� ���� ��+���� !�������� ��� �����3� *����� ��� �� ��� ��!���������� ���� � ����� ���
�!�����������������3�)������������������������������!��������?������!��@���������.������ ��
��� �����!��������?��������������� ����!������ �������������������� ������������� ��������������
����!���3�6����!���@��������������������� ��' �������������� ��' ���� (�����+���������������!���
��� ����� �������� +��������� ��� ���� !�� !���.��3� )��� ��!-������� ��� ����������� +������ ���!�
���+���� ?� +�������� ��� !���.��� �����E�� ����!������ X ���I�� ���?� !-��!-��� ?� ����!���� ����
�������[3�6����������������!������ �����������!����������!���.����������@� ������� �����������
�������� ���� ��)����&�� ��� ����3� 6��� �2�� ��@� ��� ��� !���.��� �2���� ���2�!������ ��� ������� ����
������!��������� ������������!������������@�Y�!��+������������!�����MM�Z����������/�!�������
����� �������3� ��� ����� �������� �!����� ��� !��� ��� ����� ���� +������� !��� ��/�!���3�*����� �������
����/�!��������������� ����������������������2��� �!�������!�������X!��+����������!���[@�
�������������2��� �!���!�� ����������2�X�����+�����������!��������!-�����������������
U6�!C��SS0W[3� )�� !-� ����� R� �������� ��� !���.��� ��� ����� ���� ���� ����!�����>>@� ��� ����� �����
!������� ���� ���������������� ����!��+����� ���������������+������?��������� ������������
����3�
)��� ��!-������� ���� ��� ����������� ��� !��� ��� ����� ����� ��� ���2� �� ����� ��� �����
&����������� ��� ��� ����� �� $��$ ��� U���A��SSN0W3� #�� ��� ��������� ����� ����� ���� !���������
!�����������T���������X������������ ���!�� �������������!���������������� ��������[@����
����������������!�������3�4����!��!��@� �����������������!�������������������?� ������������
� �!���!��������� ������������� �����������!�� ������������ ��������3�*�������!-������
�� �����+����������������������!�������������������������������������E���������� ����������
!-�����V������������������!� ������� ��������������� �����������������!��+���� �������!���
�������3��
)�����������!��������� ���������������!���������������� ��������� ����������������!���
��� ����3�)��� ��!-���������� ����� ����!������ ����������������������� �������� �� ������������
�
�
(������������
�
���������� ��� !����� ����!����� �������@� ������'��� ��� ��������@� ��.�� ���+���� ��� ��� -��
X��� -�� ����� ��� !����I��� U���A��SSN0W@� ��� -�� ����� ��� �������� U"� �SSRW[3� *�����
�� ������������ ���������������������!���.�������!��+����������� ������������� ���������
����!�������� !��+������� ��� ����� ���� ��!�� ��� ��� -�@� ����� ���� �_���@� ����� ��� ������ ����
!-�����^� )�� ����� ����!������ �� ���� �+������� ��� ��������� ��� +������� ���� !��� ��� �����
�������@�������!����������������2����!��+����������!���.��3�
)�� ����� �� ����� ?������������������������� ��� !�!��������+��� ��������� ����!���@� ����
��������������� ����������������������������������+��������
�� ��� ����� ��������� �� ���� ������ ���� ��� ���� ������ ������ ��������� �S��� ��������@� !S����
���+�������� ��!�������������!��������������� ����������?���/��3�
�� ���������S��������������!��������?����������� �������������������?��������������������������
��2�������!������������!����������X����+�������������?�����!���������������������������
��������!����������+������������[3�
�� ������������.����� ������ �������.����������������������� ���������� �������������;���� ���
�S����������������������������S�����������3���������������+����?������������ �!������������
���� ��������!��@������������!-����^�
2.1.2 le test de logiciels orientés objet
)��� ��!�������� �� ���� ��2� ��������� ��������� ��/��� ��� ���� ���-����� ���������� ���
!��!� ����� ��� ��� ��+��� ������ ����!����@� ���� �����T��� ��� ��!������� ��� ���+������
��!-��������������� ������������!����������������!������������������-����3�7��� ����.���
������!���������������!-������������!-����� ��������������������3�(�������@�!����� ���������
����� ��� !��!�������� ���� ���� ��!������� ����� ��� !����� ���� ��������� ��!������2@� ������
��������������������?�����!��������������!���������������/��3�
��� �2����� ��� �������2� ���+��2� ���� ��� ����� ��� ������@� !��!������� ���� �����������
����.���� ���� ����� ��� ����������� ��� �������� ��� ����@� ���� !���.���� ��� !��+������@� ���
����!�������������!��@�������!��������������+�����������3�(��!������!��!���������!���.�������
!��+������@� U5������SSN�V����SS00W� ��������� ���� !���.���� ����� ����������� ��� ����� ��� !����I���
���� ��� ����� ������ !�����3� 4���� U5������SSN�W@� 5������� ��� ��3� �� ������ ������ ��+���2� ���
������������ X�����;���-���@� �����;���-���� ��� �����;!�����[� ���� ���������� ���� ������ ���
�����������������!�����3����������������������-��� ����!���������������� -������������������
��������!�����3����������3�U���SS00W��� ��������������+��2����5���������������������� ��!-��
?� ���� ��!-������� ���2�!������ ����������� ��� ��� ����!����� �����������@� ����� ��� ���� ���
����������������������������������!������ ����������-����� ���������������!�����3�)��
!��������������!�����������!-������� ������������������������������������������������������
����2�� ��3�)���������������������@�?��������@� ��������������������� ��!-������ ���������
������� ��� !��@� ��� +������������������ ��+��� ��� ���� ������� ���� �������������3�=����� ?�
�!8������U�!8�����SS0MW@���� �� ����������!���.������������������!��+���������������!-����
)��������������!����
�
� N�
?�����������!����?����!�����@����������������������� ���������!����������� ��% ����!���������@�
������!��+����������!���3�
6���� ��� ����������� ���� �������� ��� ����� ��������� ���������� ���� ���� �� �����3�4����
U���SS00W@� ���� �������� �������������� ?� ���2�!������ ����������@��!8������ U�!8�����SS0MW@�
�� ���� ����������� ���� !����������� ���� ��� ��� ���� !���������� �2 ������� ��� >*)� ����
���������������������������� �������������������������3�4����������������!������-.��������
������������2��������-�����+�������������� ��������������������������������������������
����� ���� ��� !�� ������ �������� ��/��� !��� ���+��2� ���� ���� ������� ����� U������SS00�V�
������SS0�W[3�)��� ���+��2����� ��� ����� �����������?� ��� ����!�������� �����!��� ���� ��� �����
��������� ��� !������@� ����� ����� ������� ���� ��� � �!���!������ ��� ���;!���������� ���� ����
���-�����������!������U(�D����SS0MV�*-���SS0V�,��C��SS0W3�*������+��2���������������������
�����!�����3R�����������������������!�������� �����������3�
(����@� ���� ��������������� ���� !��� ��� �����@� ��� ��� ����!����� ��� ���+���� ��� ����@�
U:�A�����SS0MW� �� ��������������������!�������������������!���������������3�*���������������
��������$��*������������������������� ������� ������!������-.��@����������������������������
�����!��������+����3�4������� ���@� ������-������������\�����6����������� �� ����� ���
'������!C�U��!CSSNNW� ��!������������������������ ������������������������3�4����!��!����@�
���� �������� ��� �����D��C�� �� ���� ��+��� ��� ���� ��� ����� ��������� ��� !������� �����
�������������������������������/�����:����� ����:�+�@�(�����7���� ����(�����@������� �������
����;������3�(&�U��!CSS0MV�*����SS0W�^�7�������������!�������������!���������������������
���������������+�����������������������������!���������������������������������������3�
7�� ������ ����� ����!������ ���� ��� ����� ��� ����!����� ��������� ��/��@� ���� ��� �����
����"� �����3� (�� �����@� ���� ����.���� >>� ��+���� E���� +��� !����� ������������� ���
������������������������!-�!���������������!����2���������������������������.��3�#������
���������������������+�!����������� ������������������@���� ����.�������� �����$���"���������
��� �����!�����$���"��� ��$ 3�)�� �������������������!��������������?�+������������ �����������
!�������� ���������� ���� ������� ���+���� ��� !���������� �+�!� ���������!�� �������� ��� ��������
���+���3�4��� !���.���� ��� !��+������� ���� ��� ����� ���� ������!������ ������ !������@� ��� ������
!�� �������������������.����������� �� ����������U*-��SSNNV�$��2�����SS00V�$��2�����SS0�V�
������SS0�V� �������SS0V� K�SS01W3� &���� !��� !���.���� +������ ?� !��+���� !�������� �� ��� ���
���������� ������ ���� !������@� ����� ��� ���� ��� ��!��+���� ���� �������� ����� ?� �������+�����
������������������ ������ ���+���� ��� ���� ������ !������3�4�� ���@� ����� UK�SS01W� ���� ��������
��!��+���� ���� ��������� ��� � �!���!������ 7�)� ��!��������� ��� ����� �������������� ���
!�� ������3� K�� ��� ��3� ��!��+���� ���� ���!�� ������ !�� ������������� �������� ����
��+���� ������� ���� ������!������ �+�!� ��� !�� ������ ����� ��� !���� ����!�� ������ ���
��� ������3� )��� �������� ��� U5��/��SSNV� 8-��-SS00W� �� ������ ����������� ���� ��!-������� ���
������������������������!�������!�� �������?���������� ����+����������������������������3��
7�� ����.��� !�� ����������� ��� ����� �������������@� ���� ���������� ��� � � ��
����"� ����������!�� ����������������.����������������!�!�3�(�������@�����!���������������
M0�
�
(������������
�
����.��� �������� ��/��� ����� ������� ��������@� ��� ��� ���� � ���T���� ���� !�!���� ����� !���
��������������� �����!�3�4����!��!��@��������������������!�� ���������������!������ ����
��+���� ��� ������� ���� �����3� >�@� ���!������� ����� ����������� ���� E���� ��.�� !�]�����@� ���
��������� ���+��2� ���� ������� ���� ��!-������� ���� ����+��� ��� ������ �������������� ����
��������� ����������������������������� U'���SSN�V�&��SSNNV�)���!-�SS00V�������SS0MV�5��-SS0W3�
#�������/��� ��� ��3� ���������� ���� ������ ��� �� ���� �+�!� �������� �������������� �����
U#�������/��SS0MW3�*�������!�������������������������������-�������� �����������+��� �������
����.�����������.�����!��������@������������!����������� ������������;!����������+����E����
��+��� ����������������.�����!���������?� ����������!����������� ���������� ��;!������3��
6���� ��� ����� �%��'��@� ��������� ���-����� ���� ��� ����!����� ��� !��� ��� ����� ���� ����
�� ������ U������SS0�V� �����SS0V� 6�!C��SS0W3� *��� ������ ���-����� ����� �������� ���� ���
!��/��!����� ��������������� ��������� ?� ������ ��� ��������� +���� 7�)� ��� ����.��3� )���
�������� ��� U������SS0�W� �� ������ ����������� ���� !��� �������������� ��� ���� ����������� ���
!�����������������!���� �����������������!���������������������������������������.��@� ����
����������� ���� ����������� ��� ������!�� ������ ���� ���� ��� ��� ���� !���������� ���� ����
���-����� ��������+�������!����������3�4����U�����SS0W@��������������������������� �������
��� ����� ���������� ����� ������ ��� ����������� ��� ������!�� ����������@� ���� ��+���� E����
������!����+��;?;+���������������������!������ ����!�����3�(����� U6�!C��SS0W� ��� ��������
�����!-����?�����������!����?�!-�����!�������������.��@�����������!�� �������������������
�������������������!���������/�!�����������@� ���������������!�����������!����� �������?�
����/�!���3�
(����@� !�������� ���+��2� ��� !��!�������� ���� !��������� +���� ��7�)� ���� ��� ����� ���
����!�����>>3�4���������2����+��2�����������������������������������?� ������������!-�����
?�����@��+�!������������������������7�)�U'��SSNNV�>�����SSNNV��������+SS0MV�*-�+�����SS0M�V�
*-�+�����SS0M�V�$�������SS0W3�*�����������!������+��2� �� ����������!���.�������!��+�������
����������������������@�!��������!��+������������������������@�!��+�����������������������
�����!����!��+����������� �������������������3�*���!���.���� ������������������������������
������������ ��� !��� ��� ����� ?� ������ ����� ���� ���������3� )��� �������� ��� U$�����A�CSS00W�
���������� ��� ���������� ��� !�������������� ���� ������� !��������� �� ������� ���� ���������
��!������?�����������!�������������3��
4���� ��� ��!����� ���+����� ����� ����� !��!�������� ���� ���� ��!-������ ���� �+������ ���
������������!����������� �������!�� �����������������������������3�*��������-������������
�������� �� ����� �������� ���������� ��!������2@������������������ ���� ���������������
����!����������������/��3�
2.1.3 L’analyse de mutation
)�������������������������������!-������ �������+������������������������������������
��������/�!��������������3�)����������������������������������������������!�����������+����
��������� ���� ��� +���������� �2 ����������� ��� ��!-������� ��� ����3� )�� !���������!�� ���
)��������������!����
�
� MM�
������� ��� ��� ���� ��!������ ��!��� ���� �������� ����� ��� ����!���� ������ ��� ������ ���
!����I����������!�!���������!-�������������-����������������������������!�U:����SS0W3��
)��������������������� �������� ��!-������ �� ����� ���4������� U4������SSOW� ��� ����
E�������������������2���H������ �+������ ����������������������������!������ ����@�������� ���
����������� ��� ����3� 4���� ���� ���2� !��� ��� ��!-������ !�������� ?� !����� ��� ��������� ���
+�������������������� ������������������@�� �������$�����@����?��2�!�����������������
���!���������������!-�!������!��� �����������������3�7�����������������!� ����2�!������
��������� ����� ����� ����� ������� ���� ������ ������� ��� ��� �� ���� ��/�!���3� (�� �������@�
����������� ���� �������� ���� !���� ��� ����������� ��� ��������� ?� ���� ��" ���$ �� ���
�$������� ���� !����� ������� ?� ����������� �� ��� ��������� X!-��������� ��� ������ ����
!���������@�!-��������������������������������^[3�
)�����������������2�!����������!������������+�!������������� ������������ �������+������
������!�!���������������������!����������� ������ �� ����������������������!����X� ��������
��� ������$������[3�4������� ���@��������������������������������� �����������!����� ������
������������������������������+���2�!����������3�*�!��!��������?�!��+��������A������B����
�������� !��� �������@� ��� ?� �������� ���� �������� ��� ����� � �!�������� ���� !��+���� ���� !���
����!������3�7��+�!��������� ����!��������������!���?�!������ ��!-����������!����������� ����
����!�������������@���������������$������$����@�����������$���������������3�
*-��������������� !�� ������������������ ������� ��� ��3�*����� ��������������� �������
�������2�-� ��-.�������!%���!'����$�� �� ����$ �����"����@������&&��������$�����3�)��
����.��� -� ��-.��� ���� ��� �+���� ��� ����� ������ ����������� !�� ������ �!���� ����
���������� Y� �������Z� !����!��3� $��������� ���@� ��� ��������� �!���� ��� ����
����������������]���������!����!�@�������������Y� ��!-��Z�������+�������!����!���X����������
���������!���������������� �������!�������[3�)�-� ��-.������������������!�� �������������
��� ��� ��������� ��� ������ ���� ����!���� ���� ������� ��� ���� ����� ��� ��������@� ������ ���
����������!��������������� ����!�� ��2��3��E������������������������������ ������������
!�� ��2���������� ��������������@�>������ �� ���������������������+����������U>�����SSNW��
G�#%� �!-��D�&�#%��*"!-��>�)�������������� ��+�����$���&�$���#$����$��(� ���� ��"�����
�������&�����#$$�����$������� $���������������������$ ��,�����������!�� ��2������$���
&�$���#$�������$������(� ���� ��"������������&�����#$$�����$������� $�����,�
4����!���E�������!��@�>�����������������/�!�������� ����������������3�����2�!������������
����!���������������!�!����+�!������������!�� �������������������������������������������
!�� ������� ����������������3�*����2 �����!��������������������!���������������!���������
�������� ��� ��������!����������������������� ����!�� ��2��� ���������� ���!��������������
�������������������� ���@�!�����������?�+���������-� ��-.������������������!�� ����3��
>�������������������������!�!�����������������������������������!�� ������?�����!���.����
��������������������U>�����SSN��W3�4����!�������!��@�>�����!�� ��������!�������������������
M�
�
(������������
�
�+�!��������2���!-�������������2�����.������������������������!������������������� �������
!���.��� ��+�����������������������!���.��@�������!�� ������� ��+�����������!�����������������
!-�!��3����!��!�������������������!�������� ���������������������� ����������������������2�
!��@���������� ����!������ ������������� ���������������������� ���� ��!�������� ����!���.����
��������������@������!��+����� �������������3��
)��� �������� ��/�!����� ���� ���������� ��� ��������� !����� ������� ?� ����������� �� ���
���������� ��� ������������3� *��� �� ��� ���� ���� ������� ��� �����+���� ���� ��������� ����
������������ ��� ��� ��� ���������� ���� �������� ����!����� ����� ��� ����3� 4�� �������2�
� ��������� ���� ���� �� ����� ���� ���� ��������� ��!������2@� ��� >������ ������� ��� ����;
������������������������U>�����SSN��W3�
)����������������!�����������������������������������������������������������@� �������
������������ �� ��������� ������������������������� �������!���� �������!����������@���������
��������� �������������������� �������!���@� ���� �����������!�����������+������?�����!����
!-�!��� �������� ��23� 4���� U4������SSNMW@� ���� �������� �������� ���� ��!-������ ���� ���
����������� ������������ ��� !��� ��� ����� ������� ���� ���������� �����������3� )������ �������
��+��� ���������!�������!��@����������������������� �����������@����������2���!�������/�!����
��������������������� ����������B��������+����������@���������������������������!�����������
����������������������!�������������������������� ��������3����� ��+����������������������
������� ��� ����� ���� �������� ��������� ��� ������ ��� ����!���� ��� ������3� 7�� ������ ���� ���
��������,���������������+��� ��U4������SSN1W3��
)��������� ��� ��������� �� �������� ���� !��H��� ���� ��� ����� ��� ����!����� ��!������2@�
����� �� ���� ��������� ������@� ���� ���+��2� ��� ����� ����������� ?� !����� ��!-������ ����� ���
!������������!�����>>�U5��/��SSNV�8-��-SS00V�*-�+�����SS0M!V�'��SS0MV�$��2�����SS0�V���SS0W3�
*�������� �� ������ ��� ���+���2� � ��������� ��� ��������� ������� ���� ���� ��!��������
� �!�������� ��2� ��������� ��������� ��/��� U*-�+�����SS0M!V� '��SS0MV� $��2�����SS0�V� ��SS0W@�
������ ���� ��������� ���������� !����� ��!-������ ���� +������� ���� !��� ��� ����� ��������������
U5��/��SSNV� 8-��-SS00W� ��� ���������� U������SS00�W3� (����@� ����� U*-�+�����SS0M!W� ���� ��������
����������� ���� ��!-������ ��� ����������� ������������ ���� ���� �������� ��� ����������
:$Q$�����������������!��������������� �!���������������3�
2.1.4 Conclusion
)�� ����� ���� ���� ��!-������ �� �������� ���� ��� +���������� ��� ����!����@� ��� ��� �2����� ���
�������2� ���+��2� ���� �������������� ��2� ����������� �� �!��� ���� ��!��+��� !����� �!��+���3�
4����!�������!����@�������+���� ������������ ���!� ��������!-������� ���!� ��2� ������������
����+���� ���������� �����������������!��+������2������������������� �������� ����!��������������
��/��3�(����@�������+�����������������������������������������������������������������������
���������!������-.��� �����+���������������������!����������� ������� ��������3��
)��� ���2� ��!������ ���+������ ����������� !��������� � �!���!����� ��� ��� !��!� ����� ���
����!����� �������� ��/��3� ����� ��������� ����� �������� ��������� ��������� ��� ��� ���������
7�)� ���� ������� ��!��������� ����� ��� ������ ���� ���������� !��������� � �!���!����� ����
)��������������!����
�
� M1�
���������������������/��3�(������@������!�����3R����������������-�������!��!� ����� ���
!������@�����������������-���� ������������� �������!��!� ��������!�� �����������!�����
�������3�
2.2 Éléments de la notation UML pour le test de log iciels OO
����� ������������ �!�� ���� ���!� ��2� ��������� ��� ��� ��������� 7�)� U,�D���SSNOV�
���!-SSNNW������������������� �������������������!�����>>3�7�)� �� ��������������������
����������@�������� ������$��3������ ����������������������������!������@����������!�@�
���!��+���� ��� ������3� ��� �2����� ��������� ���+��2� ���� ��� ����� >>� ������� ���� !��� +���@� ����
������� ���������� ����� ��� ������ ��� !����� ��!����3� )�� ���������� ��� !������� ���� ������
������������������!���������� ���� �������+��2� ��������������!����� �-.��@����������� ����
��������������������!������������� ��������������!��������������3�����2�������2��������+����
X!��� �������������@� ���������� ���!��+���� ��� ��� !������������@� ���������� ����/���@�
��������������� ��������@� ��� ������������� ��������[�������� ����� �������������� �!�@�
!�������������� ����2 ����������������!��������!������-.��3�
2.2.1 Diagramme de classes
)�� ���������� ��� !������� ���� ��� +��� ���!� ���� ���� ��� ��������7�)3� ��� ������ ���
��!����� ������������� ���� !������� ��������� ����� ��� ����.��� ��� ���� ���������� ������ !���
!������3�
&�����������@������������!�������� ������������������������������@����������������������
���-����3�)��,������M��������������������7�)� ��������!������)�Q"(�������������������
������ ��� ������ ���-����� getTitre @� emprunter � ��� retour 3� ��� �2����� ������ �� ��� ���
���������"� ���� ���� !������@� ���� ���������� ��� ���� ���-������� ��+�@� ������@� ����!3� )��
+���������� ��+��� ���������� ���!!.�� ?� !��� �������� ��2� ��������� ��� ��� �E��� !�����@� ���
�������� ������������!!����������2����!��������������!�����������2����������������E���
��������@��������������� ����!������!!��������?���������������������������������.��3�)��
���������7�)� ���� ���+�������������� ��� ���+������� ;� ���� ��+�@�`� ���� ����������a� ����
����!3�(����@�����!������ ����E������������������������ ����������!�3�7�������������� �����
����!��������������������������������-����@���������!�� �����!������������-���������+����
������������+����E����������������������!�������������3�)������������!�������������������������
���������������������������������!������3�7������� &����!����� �������!����2��E���������
!������ ���������� ������� ��!��� ��������� ��� ��!���� ���-���� ������ ���� ���������3� 7���
!���������������!�������?�� �!������ ����������������������-���������������� �� �������� ���
������� ���� ����;!������3� )�� ���� ������ �������!�� ���� ��!���� ��� Y��������!��Z� ����� ���
�������������!������3�)�����������7�)� ����!������2� �� ������!������ ����!�����������
�������,������3�
M��
�
(������������
�
��7��
a���&����X[
;��������������
a�� ������X[
a���������X[
a���&����X[
;��������������
a�� ������X[
a���������X[
�
G��#�����H� $��*�� ����7���
bb�������!�cc
������7��
M
��7��
���&����X[
��������������
�� ������X[
���������X[
������ �
"�� �� -.
��� � -.
��� $��� -.
"�� � -.
���$ �� -.
����*������
M
���&����X[
��������������
�� ������X[
���������X[
"�� �� -.
��� � -.
��� $��� -.
"�� � -.
���$ �� -.
!����2��
M
�
G��#���(�H���� ���0 %���%���%��$%��&�*��
(�����������2�����������������������������!����������������.��3�7�)� �����������!�����
������ �� ������ ������������ ���� ��������� ���������� � ��������������������@� ���� ���������
��� ������� � ����� ���� �"��������@� ��� ��� ��������� ��!" ������ ��� ��"�����������3� 7���
����!������� ���� E���� ������!��� ����� ��� ���� �� "������@� ����� ��� ���� �����������3� )��
,������ 1� ��������� !��� !���� �� ��� ��� ������������ ��� !������*)$##�� +��;?;+��� ���*)$##$���
�� �����!�@� -�������@� ����!������@� ����������@� !�� �������3� 7��� ����!������� X��� ����
����������%!�� �������[� ���� !�� ������ !���� ������������� �� �������������� ��� �I��� ���
!���������!������@� �����I�������!-�����!������ ����!���������!���������� ����!���������������
!-����� !������ ���� !����� ����!������3� )�� ,������ �� ��������� ��� ��������� ���� !���
��������������� ������!������� ������ ���� !������� )�Q"(� ��� (Q&)�Q"(� /���� ��� �I��� ����
�����������@� ���� ������!�� ��� ��� !������ )�Q"(� ��!� ����� ��� ��������� X!����������� d[�
��������!���������!������(Q&)�Q"(@����!������������/��������I������!���������+��;?;+���
��� ��+��@� ������ ���� ������!�� ��� ��� !������ (Q&)�Q"(� ���� �������� ��� ���� ������ ������!��
X!�����������M[����)�Q"(�����/��������I��������/��3�
)�����������-�������@� ��������������������������?���/���@����������!��������� �������
�������2����������� �����������������������������!������������-������������!�������.��@������
-������������������!�� ����������������!�������.��@���� ���������������������+���2���������
����� �� ���3�6�����������@���-�����������������!���������������!����3�6����2�� ��@��������
!������!�������*����������������+�!����������� �������!������������������,��������� �!�������
��� ��������� !������� X,M@^@� ,�[@� ��� !������ ��� ����� ��@� �� �����@� ������� !������ ,�� +��
�����������������������7�)� �������������������!�����>>�
�
� MR�
����!��+������ �2�!����� ��� ���+�!�� ������3� )�� ��!������� ���� ������ ��� !����@� ?�
���2�!�����@���������!�����������!��+�����������2�!������@���� �����������������%����#$�3��
*��
*�� B
*��
*�� B
*��
*�� B
033M
d
*��
*�� B
033M
d
*��
*�� B
d
�
G��#���.�=���$2�����%�"$ �-" �0�� ��$%���*�� � �
)�+�� (+�)�+��M d
!����������/��
�����������)�+�� (+�)�+��
M d!����������/��
�����������
�
G��#���1�=��� ��I�� ��%�*����$���%' � #��#$��� "*��%�"$�
2.2.2 Vues dynamiques : diagrammes de séquence et d ’états
)�����������������������!�� ��������������� �������������!����������������������/����
������ ��� ����� ��� +��� ��� ����@� ��� �� ���� �S�!!���� ���� ��� !-���������� ���� ��+���� ���
��������3� #��� !�� ���������@� !-����� ��/��� ���� �� �������� ��� ��� �2�� +����!��3� )S������
�S��+����S������������������������� ��� ��� ������������ �S�2��+����!����������������V� ���
��� ���S�!�����e���-����������e�����!����2�3�
7���2�� �������������������������!��������������� ������,������R3�)����2���+����!��2�
�� �������������������������!��������!����@����������������!��������!�����3�)������������
���������!����!���������!-������������������������!���������!��@����!������������������
����/���@� ��� ���� ���������+�� ���� ���!-����� ��� ��������3� 6��������� !������!������
��� -������ �2������� ���� � �!������ �����������+����� ��� ��!����+�������������������������
������!��
)�������������������� ����������� ����������������������S�����������@���������������
��� -���S������ ������� ���������!�����������������!��+���� ���������������3�)��������������
�S������ ���������� ��� ��!����� ���� !-���������� �S������ �S��� ��/��� ��� �S��� !�� �����@� ���
�� ����� ��2� ������!������ �+�!� �S������� ��/���%!�� ������� ��� �+�!� ���� �!�����3�7�� �����
����E������� ��@����!�� �������;�E����������;������������������������������!���������X���
����� ����������� ��;����[3�>�������������������� �������@� ��� ��� ������ �+���� ��������� ������
��������23��
7�������������������������������� �����������!���� ��������� ����������������S��������
+������������3�&�������������� ��+������������������������������������� ��@����"�'�������
�������������3�)�������������������!���!-��� ������+.������@� ������������������2 ��������
M��
�
(������������
�
�������������� !����������� �����!���!-��������� ��� ����������� ���������2����3�(����@� ��� ����
��������������!���������!�����?����+.������@�!�����@���� �������@���+�����?���������������
����� ��� ����������� ����� ��� ����.��� X� ��� ��� ���-���@� !-��������� ��� +������ �����
��������^[3�
)�� ,������ �� ��������� ��� �2�� ��� ��� ���������� �������3� )������ ordered � ���� �������
�������3� #�� ��� ������� ��� �����+������� ���� ���� ��� ���� ��� �������� deliver � ���� �2�!����@�
������� !������� ����� ?�available 3� )��� ������available � ��� reserved � ����� ������ ���
�������������!�� ������InLibrary 3�
��������)�������������
������!���������
���C����C
��>������
�����D���C
!�����
!�����
������C
U�+�������W������D
���"����+������
�
G��#���3�H��>�!-������������!!����� '2#�$*��
�������
��)������
"����+��$+�������%�����+�
%�����+�
"����+��$+�������%�����+�
U`�����+�������f�0W%����+��
%�����+�
%�����+�
�
G��#���,�H��>�!-������������!!����'%�% �
2.3 Méthodologie pour une conception testable )����!!.�������� ��!-����/�������������!�� �?��������������!�� ������������������3�)��
�����������������!�� �����������!�������+����������/���!��!��������� �����+�����������!�����
�������������������!���@����� ����������������!�]��������+��� �����3�>��!-��!-��������?�
���-��������� ��������!��!� ��������������
�
MO�
��+��� ��� ��� ������� ��� !�� ������ ��/��� Y����� ����.���Z@� ��� ��� ����� ���� !���� ��+����
�����������!������!����������� �����+����������!�� �����3�
�������������������!���������-���� �������!��!� ��������!�� ����������������������
���� ��� ����3� *����� ���-���� !�����.��� ��� !�� ������ !����� ������������� ������
�� ���������@�������� �!���!��������������������������!����������3�)������!��������������?�
!���������� ������ ���� �+���� !������!�� ����� ��� !�� ������ ��� !��� ������ �� �!��� �����
!�-������� ����� +��;?;+��� ��� �������3� 6���� +�������� !����� !�-����!�@� ����� �������� ���
� �!���!������ ��������������2�!���������J!��?�����!��������������������������!�� �����@�
���������������������������������������� ����+�����������!�-����!�������������������� �!��3�
����� !�����H���� ��� ��������� ���� ���!� ��� ��� ��� !��!� ����� ��� !������@� ���
!������� !����� ���-���� ���� E���� � ������� �+�!� 7�)3� ����� ����������� �������� ���
���-���� �� ����� ��� &���C���� ���� !��!�+���� ���� !�� ������� �������� � �����
������������$�����������3�
2.3.1 La conception par contrat
)�� ������� ��� !������� �� ���� �������� ���� !� ������ ���� ������� ��� ������������ ��� !-�����
!�����3�)��2 �����!������������� ��� ��� ��� ��������2 ������ !���!���������������.�������
������G���������� ��!-�����!��!� �����+������U:�A�����SSNOW3������������������������
!����� � ��!-�� ��� ��� !������!����� ��� ����!���� ��� !��!� ����� ��� !�������� X4������ ���
*�����!�[� U�����SSN�W3�*������ ��!-���� �������� ���� �-��������������!������ �������������
��� ��� �������� ���� ����!���3� (���� ������ ������ ���� ���-��������� ���� !���������� ����
����.��������������@��2����������������������������������� ����������!�� �����������������
�������.��3��
)�� !��!� ����� ��� !�������� ���� ?� ��� ���� ��� ��� ������������� �������+�� ����
��!�������� ��� ������� ������� ������������� ���� �������� ����� ��� !���� U)��C�+SS�W3� )��
������������� �������+�� !�� ������ ��� ��!���������� ������ ������ ����� ���� �����������
�������� ��� ��������� ��� !�� ��2���� ��� ����!���� !�� ���� ���� �����T���� ���� ��������
�� �����������3�
)��!��!� ����� ���!��������!�������������+��� �����?�������� ������������ ������������
��� ��� ������ ������ ���-���� X��� !�����[� ��� ��� ���� ���������� ��� !����� ���-���3� *���
!�������� ����� �������� ��� ���� �2 ��������� ����������� � ������ � "���������� ���
�������������� ����������������3�>�� �����������������������+����������!������ ������������
���� �� ����������������������!!�����!��������!�������������+����E����+��������� ����������
���� ��������3�7��!��������������� �����������������������������!-����� �������� ���!�����������
� ����� ���� ���-���� ����������� ��� ��� �!����� ��� ��!��������� ��� ��� ���-���� ���
����+�������������!������?���������������� �������3�(���!-����@�������-����� ��������������
������� �� �������������� ������ ���!�����������������������+����������!�����������+�������3�
#�� ��� !������� ������ ��� ��� �!��@� ���� ������� �� ���� ����!���3� )�� +��������� ������
��!���������������������� ���!���������� ��� ��� �!��� ���!��������������!��!��@� ������-����
M�
�
(������������
�
� �������� ���� ������ �!������� �������!������������ ������������������������������+����
�����2!� ����3�)��+��������������� ���!������������������������������������� �������������
������-����� ������������ ���� ������ �!������� �������!������3�
)�� !��!� ����� ��� !�������� ���� ��������� ��� ����.������ �� ���� ���� ��������� ���������
��/�����J!��?������������������;!��������������� ��������!���������-�������3�(�������@����
������������������ ������?���������������� ���������!��������+�!������������������ ����
������ ���������3�)������������������������������������������������ �����+����������������
�������������+��������������������������������� �������!����������������-�������������@����
�+���������������������� ���� X!�����?�������������� �����!!� ��������� ������������������
��� �!!� ���� ��� �����������@� ��� �������� ��� Y���������Z� ��������[3� *����� �������� ����
��!����������������������;!������ ���;E��������������X�!!� ���� ���[@�������� ���!���������
������!���X������ ���[3�
4���� ��� ������ ��� !����� �-.��@� ����� ����� ������������ ?� ��� ���� ����������� ��� ���
!��!� ����� ���!������3���������������!����������?�����������������������+��� ������
����!�������� ��������������������������������������!�� �����3�6����2�� ��@�����������2�
���+��2� ����������� ���� �����!�� ���� !�������� ���� ��� ����!����� ��� ��� ��!���������� ����
�������3�4�������!-� �����1@������ �� ������������.��� �����+��������� ��������!��������
���� ������������!� X -������� ��!�������������� �������[@� ��� ���!�������� ������������� ��� ���
����� �� ��������� ����� ��� ����.��3� ����� ��������� ������ ��� ���� ���� !�������� ���� ���
����!����������������� �� �������������������������������������������.����������;��/��3��
2.3.2 Les contrats et UML : le langage OCL
)����������>*)�X>�/�!��*����������)�������@�U>�8SSNOW[����������������������� ����
�2 ������ ���� !����������� ���� ���� ����������� 7�)3� ��� ������ ��� ��!����� ��� ��+�������
��������!�����@�������� ������ ����!���������� �����������-����3�>*)� ���������!����
��!����� ���� !�������� ���� ��� ���.��� 7�)@� ��� ����� �������� ����� ��� ������ ���� ����������
!�������� ������ ����� ��� �������� ��� ��� �������� ���� !�������� ���� ��� !�� ������ ��� ���
��������������!�� ������3�
B�$J**"#$%
a�� ����X�����������[
aD��-���DX�����������[
a��������X������������@����!!��������C$!!����[
�����!��������
�+��������������
��������"����������
a�����������X[�����
a� ��$!!����X����!!��������������[
a����������������X����!!����,�������C$!!�����@����!!����&�����C$!!����[
�!!�����
M da�� ����X�����������[
aD��-���DX�����������[
a��������X������������@����!!��������C$!!����[
�����!��������
�+��������������
��������"����������
a�����������X[�����
B�$J
a� ��$!!����X����!!��������������[
a����������������X����!!����,�������C$!!�����@����!!����&�����C$!!����[
�
G��#���4�H�������!!�����*�� � �-"#��#$��0�$2#��
4����������������!�������!����@���������������������������������� ������!�����������>*)@�
��������������������2�@��������2�� ���������,������O3�7����+������� ����E�����2 ����� ����
���-��������� ��������!��!� ��������������
�
MN�
!-�!���� ���� !������� �$�'� ��� �$�'$**>7�&3� 7��� !���������� ��� �� �� ��+������� ����
��������� ��� ��� ���;!��� ���@� ��� ��� �� �� ���� ������� ��� !���������� ����� E���� � ������� ����
�������� ���������;!��������/�3�6����2�� ��@������+������� �������!�������$�'$**>7�&@�
� �!��������������+���������balance �������� �����������������?����+���������overdraft @�
���������������!������$�'$**>7�&@����!��������������.������+�������
context bankAccount inv : self.balance >= self.overdraft
>*)� �����������+��������������!��������?� �������������/��� ����!�����@������������I���
�������������������������/���������������!I������������!������3�6����2�� ��@������+�������
����!��������� ������ ������!������$�'�?��+����������������!�� ������!��������������.���
���+�������
context Bank inv : self.accounts->size>0
)��� !�������������� �� �� ��� ��� ���� !��������� ��������������� ��� ��������;!���� �� ���
����� ����� >*)3� 4���� ���� ���!���������@� >*)� ������ ���!!����� ?� ��� +������ ��� �������
�+������� ����������J!��?���� ��������0� �3�7��� ��!�������� ����������-����deposit �
��� ���!������ ��$�'$**>7�&� !��������?�+������������ ����������� �������� ����.��������
������3�7��� ���!���������+��������������+���������balance �� �.����� ������������������?�
��� +������ �+���� ��� �������� ���� ��� �������� ����� ��� ����.���3� *��� !�����������
���2 �����������������.������+�������
context BankAccount::deposit(sum:real):void pre sum > 0 post self.balance = self.balance@pre + sum
2.3.3 Les composants autotestables
)�� ��������� ��+������� ����� ��� !����� ��� ��/��� &���C���@� ���� ��� !��!� ����� ���
!�� ������� ��� !������!�@� !�������� ?� !���������� !-����� !�� ������ !����� ��� �����
�������������� �!���!�����@������� ����������������������������!������������������������
��+���� E���� �!��+��� X,������ [3� 4��� !�� ������� !��H��� �+�!� !��������-���� ����� �����
�$������������ U:�A�����SS0MW3�*������ ��!-��!��!� �������������������������?������!-������
���� �������� ���� ��� !�� �������� ���� ������������ ��� !�� ������� �������������� �����
�������������3� $� ����� ���� ��+���2� ��� !�� ��2���@� ���� !�� ������� ���� ��� �����������
���2�!���������!�����������������������������!���3�
$+�!����!��!� ����� ���!�������U�����SSN�V�:�A�����SSNNW@�����!���������2�!��������������
����+���������� �!���!�����3�4��!���������.��@������������� �!������!�� �������������������
����� �2�!�������@� ��� ��+���� E���� !���������� ����� ?� �������� ��� ���������� ��� ����.���
��!���������� �����������������!������!����������!�� �����3�
7�� ����� �� ������� ����� ��� ��� !��!� ����� ��� !�� ������� ����!����� ��������� ?� E����
���������������������������+�����������@�������E����!� �����������������!������������������
!������!�3�)����������������Y��������������Z�U5�D���SSO0W@���������!����� �� ����������������
�����!������������������!��������������� �������+����������������������!����������!����������
0�
�
(������������
�
�������!���� !����� �� �����3�4���� ��� !�������� ������-�������� !�� ������� �������������@�
�����!����������������������������������������!���������������!������!�� ������!��������
��!����� ���!� ��� �������+���������������!������!�3�(�������@�����������������!�!�����!���
������������� ������������������������� �������������������!�������@������������������������
������!�-����!��������!����� �!��@�!������ ���������+����!������!��g��������.���������!���
g���������!�� �����3�
# �!���!�����
�� ��������� &��������������
%��/�������������
����.�����
!�����������������!�����������!�� �����
�
G��#���;�H��"!-" �$%��#%"%� %�0���H����7#���$�%���$����
���-��������������@�������-��������!�������!������!�-����!��������������������!������
�����!�� ������X� �!���!�����%�� ���������%!����������[��������!����������������?��������3�
7��������������������������!���������������!�!���������� ������@����!����!�����������������
����!�������������������!������� ���������3�6������������������������� ������� �!���!������
�2 ������ ?� ������� ��� !�������@� ������� ���� ��� ���+������� ��� ���� !�������� ����� !�� ����@� ����
��+�������E����+��������������������������� ������������� ���� ���������@����������!������
������2�!������� �������������@������!���!-����������3�4�� �����������!�������������!����!��@�
���������+�������E����+���������������!���!��;�?3�4��!@��������2�!�������������������!���
��� ���������!�!��� ��������+���������� �������������� �������������� ��!������������@����
�����!��� !������� ������ +����@� ������ ���� ���������� ����� ���� !�������� �� ���� ����!���3� )���
!�������� ���� ��������� �]� ����!���� ��������� ���+���� ������ E���� !�� �����3� 4������� ���@�
����������������������!����������������2�!������������ �������������������!�����������+����@�
�����!����������������� ����+����������� ��������@� ��������+������������!�������� ����]�?�
�������������������!������3�
7��!���.��� �����+������������!�!���������������������!������������������!���!��������?�
��� ��!���������!��������-��������3�������������� �@��������� ���������� �@���!������?�
��� !���.��� ��� !��+������� X�� �� !��+������� ��� !���[@� ����� !���� ��� ����.������� ���� ���
����.��� ��.�� ���������� ���!� �!��������!������ �����?� ��+����������������� UQ���SSN�W3�4����
!����� � �����@� ��� ��!-������ g!������ ���� ������� g� ���� ����� �� ���� ��� ���� ��!-�� ���
���!��+���� ����!��+�� ��� ����@� ���� ���������� ��� ��������@� ?� !��������� ��� ����� ���� ��2�
���������>>������� ������������ �������?����!-�����X������������������������!�� ������[3�
)��������� ��� ��������� ���� ��� ��!-������ !�������� ���� �� ���� !-������ ���� ����� !��
��!��������������������@���� ����� ��������� ��������������� ��� ��!�����3M313���������� !��
���-��������� ��������!��!� ��������������
�
M�
������+���������������!-������ �����������������+����������������������!����������@������
+���������+������!������������ ��������E������������� ����+�����������!�������3��
)��!��!� ��������!�� ��������������������� ��������������� ������������� ����.����
����������������!���������+����������������������������������!�� ������3�(�������@�!���������
!��� ��� ����� ����� ���� ������ ����������� ��� !�� �����@� ��� ����� ��� !� �!���� ��� ��� �������
X��������[@��������!����������� ��+����E����� ������� �����������.��3�&�����!��������������
��+����E���� �������!�� ��� �������!�� ������*�������������.���#���
������&�������� ��� �����"���������� ��� �� �� ����������� ������ ��� ������� ���
���+������� �����������@����� �!���!���������!-����� ��@�
���)�$�� ��� ��$������� &������������"�� 1� �� �� ����������� ����� E���� ���!�� ����
����������������������;����������@� ������������������!��������������
���� �!���!���������+����E����!�� ������ ���� ����������!�� �������
���+���������!�����������3�(����@����������!�� �������!����������*�
���+����������������� �������������������;����������3�
�� "$����������� �$� ���������� ����� $�� �%��'��� �� �� ����� ��� ���/���� �����
!�� ������ *� ����� ��� ����.��@� ����������� ��� *� ����� E���� ���!��
�� ���� ��� ����.��� ���� +�������� ��� ������ ������������ X-�������� ���
!�����.��[3�
)�� ��!-����+��� ���� ��������!������ ���� ����������?������������� ����.������
����� �������������@� ��� ����� ��� ���;����������@� ��� ���+�������� ���� !�� ������� ��� ��� �����
�������������3� (���� �� ���� ���!� ���� ����������� ��� ����� �������� ��� ������ ��� ��� �����
���!�������� ��� ����.��@� ��� �������� ��� ��������� ��� �2 ��!�������� ���� �� �!���
!�� ����������2@� ����������� ��� ����.��3� *����� !�� �������� �� �!�@� ������ ���������
������� ��� !�� ��� ��� ����.��� �2 ��!���� X�� �!��� ��� !������!������ ������ ��/���[� ���
�� �������������.��������������-�������������� �!�������3�
2.3.4 Conclusion
$�� !����� ��� !����� ��!����@� ����� �+���� �������� ��� !��!� ����� ��� !�������3� *�����
��!-������������������� ��������������� ������������� �!���!�������2�!������@�!������ ������
���!�������������� ������������� ���� �!���!��������J!����� ��������������3�)�� ����� ������
���!� ������������ ��� !�-����!�� ������ !��� ���2� �� �!��� ����� !�� ������ ��� ������
������������ ��� !������!�� ����� !�� !�� �����3� ����� �+���� �������� ���� ���-����
�� ����� ��� ������ �� &���C���@� ��� ������� ���� ��� !�-����!�� ������ ���� !��� ��� ����@�
���� ���������� ��� ��� � �!���!������ ����� !�� �����@� ���� �������� ��� !������� ��+���� ���
!������!����������!�� �����3��
)�����������!���������+���������������������������������� �!���������2�������+���������!�����
�-.��3�
�
�
(������������
�
2.4 La génération automatique de cas de test �����������������!������ ���!� ��2����+��2����������������������������������!����������@�
���+��2�������������������+�!����!-� �����1�������������������2 ������������!������������?�
���������������������� ��������!�� ������3�
)�� ����������� ������������ ��� �������� ��� ����� ���� ��� ����.��� !��!���� ���� ���
!������!�������� ����!����� �������� U4�����SSNNV� ,�D����SSNNW3�)�����!�!������� ��� -������� �����
�� ���� ��� ������� ������ ��� ��� �������!�� ��� �������� ���������3� )��� ��!-������� ���� ���
����������������������������������2��� ��������!�����������������!�������3�
2.4.1 Techniques fonctionnelles
)��� ��!-������� ��� ����������� ���!���������� ��� �������� ���� ���� � �!���!������ ���
!�� ��������� ��� ��������3� ��� �2����� ��� ��������� ��� ���+��2� ���� ��� �����������
������������ ��� !��� ��� ����� ?� ������ ������ � �!���!������ ��������� ����� ����.��3� *���
���+��2� ��� ������ ���� ��� ���-���� ��������� ����� U4�!CSSN1W� ���� !�������� ?� �������� ���
�����������������������?� ������������� �!���!��������������@� ����?�����!������������!������
����� !����� ���� !-������ ����� ����������3� 4���� U)������SS0W@� ���� �������� ���������� ����
� �!���!�����������<���� ���������?�������3�*���� �!���!���������������������������������
������� �<;6������ �� ���� ��� ���� �������@� !-����� � �������� ���� ������ ��!����� ��� ����
���@��������������� ������� ����.���������������������������������� ������ ����!���������3�
h� ������ ������ ������ ���!�� ����@� )������� ��� ��3� ��!��+���� ���� ��!-������ ���� ��������
��������������������������������������2��������@��������������� ������������ ����������
��!��������� ?� ���2�!������ ��� !��� ��� ����3� 4���� U������SSNW@�������� ��� ��3� ���������� ����
� �!���!������>�/�!�;<�������!������ ���������������������������������������!�����������
���������� ���� ��� !�����3� #��� ��� �E��� ����@� ���� �������� ��� U8����C�� SS0W@� ����+���� ���
����������������������?� ��������������!-����?����������������� ����������������!����������3�
7�� ������ �2�� ��� ��� ����������� ������������ ��� !��� ��� ����� ������� ���� ����
� �!���!������ ��������� ���� ��!���� ����� U������+SS0MW3� �!�@� ���� �������� ���������� $����@� ���
������������ ���������� �!���������!�� ���������������-�����:�+�3�4��������� ��!-���
��� ������� ���� ���2 �������� ���� �2����!��� ���� ��� ����������� ��� ������ ���!���������
U&�-��SS0MW��������������!�� ���������!������������������U&���SS0MV������SS0W3�
4���� U6�!C��SS0W� ���� �������� ��!��+���� ���� ��������� ������� ���� ���� � �!���!������
��������� ��� ����.��3� *����� � ��!-�� ����� ��� ������� ��� ���������� ��� !������@� ����
��!-�����?���������!��+�������!�� ������������!-�����!�����@������ ��������������������
����.��� ��� ��� ���������� ��� ������!�� ��!��+���� ��� ��/�!���� ��� ����3� $� ������ ��� !�����
� �!���!�����@��������������� ��������?� ������������������� ����!����7�)$7&� U5�SSNNW� ����
�������������� -�������������!��+���� ���!�� �����������������������.��@���������� -��
��������/�!�����������3�*������2���� -������������������������������������&8Q�U:����SSNW�
�������.������!������������2�!��������������� �����������������.��3��
)����������������������������!�����������
�
1�
4�����������+��2���������������������������������������������������������.����7�)�
���� ���� ��������� ����� ��� !����� ��� ��/��� ���� ���� $8(4�#� U$8(4�#SS00W3� �!�@� ����
��!-������� ��������� ���������� ��� ���������� ��� !������@� ���� ����������� ����/���� ����
� �!����������������������������������������������������.��@��������������������������� ����
� �!���������!�� �������������������������/���3�$� ���������!��������������������������
� �!���!�������������-������������������������� ���������������������������������!������
������������� �� ����3�
2.4.2 Techniques structurelles
6�����������!-�����������!��������@������������������������������������������������������
���������3�)���"�" �����������#$��!��������?�����������������������������������2�!�����
��� ������������������3�4������������������������������������������������������������������
!��������������� ���������������������3�7���2�� ��������������� ��!-���������� ���2�!������
����������� ��� ��������� U*���C�SSO�W@� ���� !�������� ?� ������� ���� +������ ����������� ?�
!-�!��������+������������ ��������3�)��2�!������������������ ��������� ��������������
���������� ���� �2 �������� �� ���������� ���� !���������� ���� ���� +��������@� ��!�������� ����
������������� �������� ��������3�4���� U)�����SS0W@� ���� ������������������$8$&5$@����
���������������� ���2�!����������������@� ��������������������������������?� ������������
� �!���!�������+�!�7�)3�
)�� �"�" ������ �%����#$�� ��� ���� ��� ����� ������������� �� ����� ����� U������SSO�W�
!��������?�����������������!������� ������������������� ����!����!���������������������
������� ������������!�����������2�!�����������!����������3�*�������������������������������
�����+��������������������!����������� ����� ����?����!���.��������3�)�������������������
����� �������� ���������� ���� ������� ������������ ��� !��� ��� ����� ����� ������ �����������
����.������� ���!���.���!-����3�4���������2� ���+��2����� ���������������������������!���
����� ����� ��� ����� ���� ���+��2� ��� '����� ���� ���.��� !�� ����.��� ?� ��� ����.��� ���
������������� ��� ���!����� U'����SSN0V� '����SSNV� '����SSN�W3� )������ ���� ��� ���+������� ���
��/�!������������ �������2 �����������������������������!������������������������������@�
����+���������������������� ����������!��������������?�����+������������������������������
���!����3�'�������������������!����������������� �����������������������������������!����3�
7�� ������ ������� ��� !-��!-����� ���� �������� ��� �������-��� ���������� ���� ��������� !��
����.��� U\���-�C��SSNV� #!-���ASSN1V� �����SSN�V� :����SSN�V� :����SSNV� &��!��SSNV� 6�����SSNNV�
&��!��SS00V� ��!-���SS0MV� K������SS0MW3� *��� ���+��2@� ���� ����� ����������� ����� ��� �����@�
����.����� ����������������������� ����!����!��������!���������+�����������������3�
4����U��!-���SS0MW@���!-���������3� ���������������������8$48(&�X8�����!�$������-��
4���� 8(��������� &���[� ���� ���.��� ���� �������� ��� ����� �!������3� )��� ����+����� �����
���������� !����� ���� !-�T��� ��� ����� !����� ������� ?� ��� �� ������������ �������� ��� ���
������������������������!���������������!����� ����?�������!�����������!-��!-��?����������3�
)�����!������������������������������� ����.���������������������������2 ���������2��+�!�
��������� ������ ����������X10�����������!���[������� ��������� ������ �������X000�
��
�
(������������
�
������� ��� !���[3� $�� !����� ��� !��� �2 �����!��@� ���� �������� ���� �������� ���2� �� ���
���������-��� ���������� ���� ��� ����������� ��� �������� ��� ����3� )��� ���������� �����
!�� ����� ?� ��� ����������� ���������@� ��� ?� ����������������� ��� ���!�������� ��������� ���� ���
�������������������!����3�)������������� ��������������������������!�� �����������!�!��
�����������������!-��������.������������������� ���������������������+������� �������@�!��
���� /�������� ��������� �� ����������� ��!�������� ?� ��� ��!������ ���� ���-����� ����
�� -���������3�6����������������������-�����������������@����������-�������������!���������
������� ��������!�!�������������������/����������!��3�
&��!��� ��� ��3� U&��!��SS00W� ���������� ��� �������-��� ���������� ���� ��� ����������� ���
�������� ��� ����� ���� ���� !���������� ���2!� ����3� ���� ���������� ��� !��!��� ��� ��� ���!�����
���������� ��� �������������� �2�� ��3� ���� �������� ������������ ���������� �2 ���������2� ����
���� �����������!��������$��NR3�)�� ����������2�� ��������������.������!����I��� ����
�������������+���@� ����������� ���������-�������!� ������������������������������� �����
��������.+����!-������2!� ����� �������3�
:����������3� U:����SSN�V� :����SSNW��������������������!��!���� ��������� ���� ��� ���!�����
���������3�6���������!������.���@����� ����!���������+���!������������!�����������������
���������3���������������������+��������������������������������������!������!�����3�4����
U:����SSNW@� ���� �E���� �������� �� ������ ����������� ������ ��� �!���� ��� ��������� !�����
���!��������������3�
6������ ��� ��3� U6�����SSNNW� ���������� ������ ��� �������-��� ���������� ���� ��� �����������
������������������������ ����3� �!�@� ��� ���!������������������� ����������� ���!��+����������
��� -������� �����!�����!����I���X84*[3�)�����������������+��� ����� ������ ��� ����
&8��3�)����������.���������������������� ���������/�!�����������3�*�����/�!����!����� ����
?����!-��������84*����������+����!��+���3�(���2�!���������!�������������������+�������
���������������� ������������������@�&8����� .��������_����!��+����� ������!����������3�
)��+�������������������!����������������+������ �����������������_�������!���������������
!-����� !��+���� ��� ��� !-����� !����� ������� ?� ����/�!���� ��� ����3� )�����!��� ��!����
��!����������� ��!���������������������������������������-������������@� ���� ���������
�2 �����!��� ���� �� ������ ���������� X������ 1� ��� � ������� ��� !���[3� )��� ���������� ���
���������-������������������!�� �������2��������������������+�!������������������������3�
&���� ���� ���+��2� ���� ���� �������-���� ����������� ��������� �!�� �������� ���� ����������
���������������!��������� ������������!���������������/��3�&�����������@������������!������
���������������������������� ����� ��@�!����������� ������������������������������������
������������!-�T����������3�>�@���������!������ ���������������������/��@��������+����
�������� ���� ��/���� !�� ��2��� ������ ���� �����!���� ��� ���������� ����� ������ �������3� 6���
��������@�!������+��2��2�!���������������-������������� ����!-�������/�!�����������@�!����;
?;������������������.���������������������������?�!-������2�!�����3�4�������!�����������
���-��������������+��������������������-���� ����������������������!����������� �������
)����������������������������!�����������
�
R�
!�� �����@� !����;?;����� ������ ���.��� ������� ���� �������� ��!��������� ���� �������
!����!����������!�� ��������������������2�!�����3�
4�������!-� �����1@������������������!�����������-������������� ������� ��������������
��� ����������� ������������ ��� !��� ��� ����@� ��� �� ������ ����� ���� !��� �������-��� ����
��������� ���� ����.���� �����+��� !�;������3� *��� ��� �������� �������� ����� ?� ��� ���+���
�������-�������;��������������������� ��������������-�����!������������3�
2.5 Conception par contrat et test 4���� !����� �-.��� ����� ���������� ���� �������E�� ���� !�������� ����� ���� ��� �������� �����
!�� ���������� ����������������������������������������X!����� ����-.������!-� ������[3�
6�����+�������������������� �!������!������������!������������������ �� ����������������
��� ��� ���� ������ !��!� ����� ��� !������� U�����SSN�W� ���� ��� ����������� ��� ���
������������������������.�������������/��3�$��!��������!������+��2�������+���������������
���-����� �������!�����������!�������@������������������������������������������� ����!���
!�����������+���������!�������!�����@��������������������������� �������������2�!��������
�������������������������!���3�*�������!������������������������������������������� ������������
���-����� ���� ��� !��!� ����� ��� !������@� ��� !�������!������ ���� !�������� ��� �����@� ����
!����������� ����������������@���������������@� �������������������!���3�
6�������������!���������������� ����.�������������!���������!�������@�������!��!��������
����������������� �!������!���������!����� ���� �� ������������-�����������!�������!�����3�
)��������������!������+��2�������� �� �������������� �����!���������!���������������.���
����!�!�3�
)��������������U*�����SSN�W� �� ����������!�������!����������!���������������2�!���.���@�
�������� ���� ���-����������� ���� �����2����3� )�� ������� !���.��� ����� ��� !�� ��� ����
������������������ �������!�������@� ����������?� ��!�������!���������������.�������!�!�3�)��
��!����!���.���������.���?���������������� ����������@�!S���;?;�����?����������������/�����
��!�������� ��� ��� ����������3� 4�+��� "��������� �� ���� ������ ���� !�������!������
�� ������� ���� !�������� ����� U"��������SSNRW3� )��� !���.���� !-������ ����� !��� ����!��� �����
� �!�������� ��� ��������*@� ��� ��� ���� ���� ��� !���������� ���� �� ��� ��������� ����!���� ��� ����
!�������@� ��������������������������-�����������!��������!���!�������3�
4�������� ���� ��� ��� ����� ������������ ?� ���� �.����� ���������� ���� ��� ����!����� ���
!�������� ����!�!��3��!'��� U�!'��SSNRW� �������� ���� ������������������ �������������+����
E���� +�������� ����� ������ !��!� ����� ��� !�������3� *����� ������ ���� !�� ������ �����
U���!-���SSNNW@� ?� ������ ��� �������+������ ��� ��� ��!������ ��� ������� ������� >����+������
U8����SSNRW@����������������!������������� .��������� ����.��������� ���������������������
����!��������!�������� �������������������!������� ���I������ ��������!������������3�)��
�������!������+��2��������������������� ��������!��@�������2����������������!�� ������3�
��
�
(������������
�
*��!������� ���� ���-����� ���� ��������� ���� !�������� ���� ��� ��+��� ������ �����
����!���@� ������@� ����� ��� ���������� ���������� ���� ���-���� ��� ��+��� ������ ���
����!�������������������!�������������U������SS0W3���������������������!���������������������
!�������� �������@� ���� !����� ������� ?� ���2� ��+���2� ��� �������������� ���� !�������� ������
������������ ���� ������������ ���� ��� !������ ����� +�������� ���� ��������� ��� �������@� ��� ���;
!��������� ��� !�������� ������ ���2 ������ ��� ��������� ����� ��� !��� �B� ��� �������� ���� ���������
!����!������3�6�������!�������������@���� ��;!���������������� ���������?�+���@����J!-����
������ ���� !����������� ���� ��� !�����3� )�� ���;!��������� ��+��� ������ �2 ������ ��� ���������
�������� ����� ��� !��� ������ ������������ !����!��� ��� ������ ������������ ��!����!��� X��������
��������@��2!� ����^[3�)������2��� ������!���������������������?������������������������
�����+��� ������������!�������������� ���������+��� �������������������������!��+�����
���������� ��������@� ���� !�������� ����� �������� ���������� ��� ������� ��� �������������� ����
������������������������!�� �����3�4����U������SS0W@������������� ������������������.���
�]�������������������!�������@����������������������������� ��!���������!��������-���������
���!����� ����������3�)��� !�������� ���������� �������������!���� �� �������� ���� �����������
!����� ��� ��+��� ������ ��� ���2� !�� ������3�)��� !�������� ���� �������� ���� ���������@� ���
!����� � �������� ���� ������ ���� !�������� ������ ��2� !�������� �������� ���� ��� ����������
��������3�
4�� ����.��� ��������@� ��� !��!� ����� !�������� ���� E���� +��� !����� ���� ���-����
����!���.��� ���� ��!�������������������������� ��������3�)�������!�������������� �����
�2�!�������@���������������������������� ���������������!��������������3�*� ������@� ���
������+��2����������������������2������������ �������������� ��������3�
)��� ����������� ��!���� ����� ��� !���� ����� ��������� ��+���� E���� ���������� !�����
���!����������!��� �����������3�(�����+������������!�-����!�������������������!����?�!��������
������ ��!��3�)��+�������������������������������������!�������� ������������� ����������
��� ����� ������@� ��� ������� � �������� �� ������ ��� ��������� ��� !�������!����� �+�!� ���
� �!���!�����3� 4���� U,��C��SS0W� ���� �������� ��������� ��� ����+������ ������������� ����
�����!��� ��� ����� ��� !�� ������� *>"�$� ?� ������ ������ � �!���!������ ��������� ���
��������3� )��� �������� ��� U*-���SS0W� ���������� ���� ���;!���������� ������-����� ��� ����
��+�������� ��� !������ �2 ������ �+�!� :�)� X:�+����������� )�������[� ���� �������� ����
���!���� ���� ��� ����� ��� !������� :�+�3� :�)� ���� ��� �������� ���� �!����� ���� ��� ��� ����
!���������� ��� ���� ��+�������� ���� ���� ���������� �!����� ��� :�+�3� )��� ���!���� �����
���������������� �������� ����� ���� !������ ��� ������� :7���3� (�D����� �� ���� ������
����������� ���� ����������� ����������� ����� ��� ����!���� !����� ���!��� ���� ��� ����� ���
!�� ������� ����!����� U(�D����SS0MW@� ����� !� ������� �������� ����� ����!�!���� ��� �����
!�� ������3�
7���������� �!���������� �����������������������������+.�����������@�������������������3�)��
������������ ���� ��� ��!�������������������� �2 ����� ��������!����� ���� ���������� ���������
X�������� ��������+��������������������������������������!������������!���������������[3�7������
����������������@� ������!��+�������������������!������������@�������� ��+���������+������
*��!� ����� ���!���������������
�
O�
!�� ��������� ��� ��������� ?� ����������� �������� ��� ���2�!�����3� (�� �����@� ��� ���
�����+�����������������������������2�!�����@�����������������������������+���������� ������
��� ����������2�!������+����!��������@������������������������+��������������?�������@�
��� ��!���������� ��� ��������� ���� ���� �����!���3� Q���� �� ����!�� � ������� !��� ����.����
�������+�������@� ��� �� �����������-���� ���� ��!�������������������������.�������!�!��
�������������������������������� ���������UQ���SSNNW3�
(����@� '����� U'����SSN�W� �������� ���� ����������� ���� �������� ���� �������� ��� �����
���������������3� #��� ����� ���� ��� �������� ���� �������� ��� ������� ���� +������� ����
����������� ����� ��� ��������3� #���� ����+�� ��� ������� �������@� ���� ����� !��������� ?� ���
� �!���!������������������������������� ������������������@��������������!����������!���
��������������� ����E����������������������� ������+�������������������������� ��������@�
���� ������� ����� ���� ���������@� ���� ��;!��������� ��� � ������3� 6���� �������� ��� �������
�������@�������.������ ����.���?�!��������������������������������������������������������
��� ����� ����!��������� ����������������������!����������U'����SSNW3��
(��!��!������@�����2����������� �����������+��2����������� �!��� ��!�������������!�����
���!�������� ������� ��������@������������ �����������+��2����������������������������������
�2�!�������� �����������������3�*� ������@����������������!���������������������!����!����
���� ���� �!�� ���� !�������� ���� ��� ����3� 4���� ��� ������ ��� !����� �-.��� X!-� ����� �[@� �����
�� ������ ���� �+��������� ��� ��� ���� ���� !�������� ���� ��� ����!����� ��� ��� ��!����������
���������3�
2.6 Testabilité et mesures pour les logiciels OO )�������������@������������������� ���������������������!�� ����������!-� �����R@�����
?� ��� ������.��� ��� ���2� ��������3� 4S���� ���@� ����� ���� ����� ��2� ����.���� ��� ����� ���
�+������� �S������� ������� ���� �2������� ��� ����!���3� 4S������ ���@� ��� ������������ ���� ����
������3� $����@� !����� ��!����� �������� ���� ���+��2� �2�������� ���� ���� �!�� ������� ��� ���
�����������@��������������!�����������+��2� �����������2�����������������������!�����>>3�
)�������������������������������!���.�������������������+����@�?� ���������!���!������������
����!��������� ����� ��������@� ��������� ��!�������� ���� ��� ������3�*������������ ���� E����
����������������
�� %�0���%')��� ����������"�����$��&����$ ����#$����"+��"&�������������&������"�1� ����� �$��
��������,�������&������"�����1����&����$���� �� �"�"���� ���'#$���$���!"�����������������-���
�����$����� ���" ����#$��� �� ���$�� ��$���"�$��".����$���� �� �"�"� ��������1������ ��"����
�������������"����$ ��" �&�� �$��� ��' ������������ ���$��� ,�������������"�����" �������� ����
��� ��$���2�
− �����3�����������������2������3�����������$ ������� ������������������" �&�����$��
� ��' ��������������"�
�
�
(������������
�
− ��� ���� 4�������"�2� ��� &������"� ��$ � �"�" � � ���� ����"��� ��� ����� �&&�������
-� �� �"�"���� ���'#$���$������������$������.�
− ����� �������"�2� ��� &������"� ����� ��#$����� ��� ���� ��������� ��� �" �&�� � ���
�� ������������ "�$�����������$���� '����/"�$���������������������
4�� ����.��� ��������@� ��� ������������ +���� ���2� !-������� ��� ���� ��!-������ ���� ���
!��!� ����� ��� ��� ���� ��� �������� ��� ��/��3� 6���� ��� !��!� ����� ��� ����!���� !����� ���
����!���������� �����@��������� ����.���� -�����������!��!� ����@����������������������.����
���� ��+���� ��+����� �����!����� ?� ������3� 6���� ��� !-��� ��� ��/��@� !������������ ������ ���
����+������!�� ������������������!�]��� �����������������������������������������+������
!��!� �����������!-��������������3�
=������������������!���������������������+�@�+��!�����2��2�� ��������������������������
!��!� ����� ������ ���������������
• ��!�������������� ����������!��������� ��� !��!� ������B� ��� ��!����� ���� �+��������
+������������@�����B�����!-���!����������E��������������
• ����!����� ���� !-���������� ����� ���� X������������@� �+��������[� ���� ��+����
������?�����+������������������������!����!�����
)���/�!�������������������!���������� ����������������!��+��������2�!�����!-����� ������
�������!��������������������+����������������!�!-���3�4��!�� ��������+��@� ���������������
!����I��������� ��� �������+�������� ����� !�� ������ ����!���@� ������������ ��� ,��������
U,�������SSNMW@� ����� !�� ������������ ��� !�]�� ��� ����3�6��� �2�� ��@� ��� !����I��������� ����
������+������� ��������������������������������������������������������!����������������
�����������������������������!���3�*� ������@������ ��!-����� ����� ������!�� ��� ���
�����!����������� �� �� ?� �2�!�������� !�� ������ ��� ?� �� ����� ��������� /�����?� ��� ����������
����!���3�*�������������������������������������� ���Q����UQ���SSN�V�Q���SSNRW������+�������
!���� ��� !�� �����3� 6��������� �������� ���� ���� �� ������ ���� �+������ ��� �����
�������������� ���� ��� !��!� ����@� ������� ���� ���4�����%"�����"����� ���Q���� UQ���SSN1W�
���� ���� ���������� �� �������� ��� ��� ������� ��� !����I��������%�����+�������� ���� ����
��!-���!������ ������ ��� �������� U)�� &����SSNOV� )�� &����SS00�W3�K����� ��� ��3� UK����SSN�W� ����
������� �������+�������� ��� ��� !����I��������� ���� �� ��� ��� �������� ���������� ���� ����
����������������������������!�� �����������!����3�=�����?�����������������!����I������������
�������+����������������� ����������>>@���!����� ��!-������������������������ �� ����3�
(��!������!��!���������������������������� ������������!-� �����R����!������-.��@������
�����!��!�������������������������!�]����������������3�
�"K%���"0������%� %)����&����$ �"���$�������3���"������ ��1�����" �&���������$��� ��' �����
���������",����������$ ������ ��������1��������������������������������������+�1������&&��$��"�
���� �$�� ���������"�������������$ ��" �&�� ����� ��' ��������#$1������&&��$��"��"���$� ����
����$ ��� ����,�
&���������������������� ������������!�����>>�
�
N�
$� �� ��� ���� �������� ��� !�]�� ������� ��� ����@� ������� ��� #!-���A� U������SSNW� ����
!�� ���!����������!������������������!��������� ����+�����������!���.������!��+����������
����� ���� !-������ ����������;�����������U"� �SSRW3� ��� �2����� ��� ������������������� ����
���� ��!-���!������>>� X�3�3� U*-�������SSN�V� #-� ���SSNW[@������ ��� ������������ ������ /������
������������!������3�*� ������@������ ����E�����+������?� ����������������������!�� �����
�������-� ��-.��������������!�� ����������������!-���!�����>>������T������������������
�����������������3�)��!�� ������������������!��������������������������2��������@��3�3�����
!���������������!����������.���������������/��3�7�����������������������������!�� �����
�������� �� �����@�!-�!����!����� �������?������ �������������������������!������3�4����
U������SSNNW@� ���� �������� �� ������ ��� !���������� ���� �������� ��� !�� ����� ���� ����
��������� ��� !��!� ����� 7�)� ��!��3� )�� ������� ��� !�� ����� ������ ��/���� X*�>[�
U#-���SSN�V�������SSNNW�!����� ����?����������������!������������� �������!-�!�����S�����3�
4��������������������!�������7�)@����������S����!������$��� ���������������!���������S���
�2�������������!���������������� �����!��������!���!������3�)���������*�>��������!�����
������������������������������U������SSN�W@��������!���.������������ ����!���� ���������������
����� ���� !������� ����� �� ����� ����� U$��2�����SS00W3� *��� ���+��2� ��� !��!�������� ����
!-�����!-��������� �������������+���������!�� ����%!��+������3��
4���� ��� !-� ����� R@� ����� ����� !��!�������� ���� ���� !-������ ����!������� ����� ���
�������������!������@����������?����!�� ��2��������������!��������!������ ���!���!-������
X������� ������ -��������?���������������������[3�h�������!���������!�@����!������������
��!���� ?� ��� ������������ ��� !-����� �� �����!�� ����!� ���� ��� !�� ����� �S�� /������ ����
�������@� ����!���.������� ����� ��� !��� ��� ����!����� !��H��� ��� ���������� 7�)3� )�� ���� ���
������������������������� �� ������������!� �����S������������� �I�������� ������ ����!� �����
���!�� �������������������������������������������3�
2.7 Conclusion )�� ��������� ��/���@� ������ ���� ���� !������!������ � �!�������� ��2� ��+���� ���������
�����������/�������� �����T��� �����!���������������� ���������� !�������� �� �!������ ����� ���
����!���3� 7�� ������ ������� ��� ���+��2� ���� ���� ����� ��� ���������� ��/���� ��� ��������
��/�����-������������������7�)�!�������������������!�� ����3�$��!��������!������-.��@�
����������������� ������ �� ������� ����!���.�������������������7�)� �����������@������
���������������������� ��������������������������������+��23�
����� ����� ������������ ?� ������ �� �!��� ����!������� ��� ������ ���� ��� �������������
��/���3�&���� �������@� ����� ��������� ��� ����������� ������������ ��� !��� ��� ����� ����!�!���
X��!����� 3�[� ���� ��� ����� ��������� ��� !������ ��� ��� !�� �����3� (������@� ����� �����
�����������������������������������������������������������.����>>�X��!�����3R[3�6����!���@�
����� ��������� ���� �!�� ��� ��� !��!� ����� ��� !�������@� !����� ���� ���-���� ���
��!������� ������������� ����� ���� ��!-���!����� >>3� *��� �� �!�� ���� �+����� ���� ���2�
��!������ ��� �������� ����� ����.����� ��� ����������� ��� ��� ��������������3�*��� ���2� ��!������
�+����������!� �!�����������!�������������!����������������������� �!��+�����@������������!�
10�
�
(������������
�
����!������������?�������!�!�����������3�(����@������������������!�� ��2��������������!������
������ !�� ������@� ��� � �� ������ ���� ������� ��� ��� ������������ X��!����� 3�[� �����
��������������!�� ������3�
�
�
��
������������������������������
��������������������
)�� ����� ��� ����!���� ���� ��� ������ ����!�!�� ���� �������� ��� !������!�� ������ ���� ��������
���+���� ����� ��� !�� ������ ����!���3� 4���� ��� !����� ��� ��� ���-���� ���� !�� �������
�������������@� ��� ������� ��� !������!�� ���� ������� ���� ���+��������� ��� ��� !�-����!�� ������
���� ���������@� ��� � �!���!������ X���������� ����� ��� !�� ������ ����� ������ ��� !��������
�2�!�������[���� ����!����������3�*�����!�-����!���������+��������J!�������������!�� �����@� ���
������������!������ ��������������� ��� ��!����� ���!� ��� �����+������ ���!������!�3�*����������
���+����+����!�����3131@�������������������������������������� �����������������������������
!����������@����!��!-� ������� �������������������������-�����+�������������� ������� �����������
����������������!�������������������������������!����������3�
$����� ���� ��� ����������� ����� ��������� ��� !��� ��� ����� �������2� ���� ��� ��@� ���������� ���
�����������!����������������������������������!�� � ���������3�(�������@��������2 �����!��
���������������!������������������� ������������������!��������+����������R0����O0i�������������
U4�+���2SSNN�W@� !�� ���� !����� ���� ?� ��� �.�� ��� ����� ���� !��� �������������� ������2� ���
������������������3�6���!�����@�����������!���!���� ����!��+���� �������N0i�����������������
��.�� !�]���2� ����� ��� ������� ��� ����������� ������ ��� �3�)�� ���+���� ��!���� ����� !�� !-� ����� ���
!��!������ ���� ����������������� ��� !����� -���� ��������������� ����� ��������� ��� !��� ��� �����
�������23�
)�� ����.������������������������������������!������������������ ����.���������������@�����
���� ��!�������� ��� �������� ?� ��� ����.��� ��� ����������� ��� ���!�����X��� +���� ����+��� ���
������������!�����������������2����������!���������������� ������� ��������������[3�6����
1�
�
8�������������������������!����������� �������!�� �����
�
!���@������� ������������������-�������;���������� ����!���.���������� ���?����2 ������������
������� ���������� ��� ���������@� ���������-��� ���������3� ��� �2����� ���� ��������� ������ ������ ���
-����.��� ��� ����!����� ���������� X������� ����� ������ ���� �������-���� ����������[� ��� ���
����������� ��� !��� ��� ����� ?� ������ ����� ��������� �������3�)�� ����.������ ����������� ��� !���
�����������������������+�!���� ����������� ���+���������� !������ ����� ���� !��������� !��������
����������������������!��������� ����3�$� ����������������������������������� �������������@�
��� ���� ��� ��� ����!����� ���� ������ ��� ����!���� �������������� ���������� X!��� ��� ����[@� �,�,@� !��2�
!� ������ ��� ����� ��� ���� ��� �������@� ��� ��� ���� ���������� ������ ����������� ?� �������3� �����
������������������������������!�� ����.����������� ����� �����������������-������������@�
�������������������������������2�����������!��������� ���������������������!��������������������
��������!�������(�����@������������ ��������!���������������.���X��� ������� ���������������*`�
��+��� ��������� ����;��������!������3�(&�U�#4�SS0�V��#4�SS0�W[3��
$����� ���� ���� ���������� ��� !��� �2 �����!��� ���+��.����� ������ ����� ���� !�� ���� �����
����������@� ���� !���.����� �����������@� ��� ������������ (*>��>� ��� �����+������� ��� "������ M@�
����� ������.����� ����� ���� ������ ���.��� ���� ����� !��!������� ���� ����� ������� ��� ��+����
��!������������� X���� ��!������� ���� ����� ����� ?� ��� ������� ���������[� ���I�� ������ ��+����
������� X���� ������ ���� ������ ���� A.����[3� 7��� � ��!-�� ������� ���� ���� ��������� �+�!� ���
-����.��� ����� ������� ��!������������� U"����AD���SSNRW� ������� ���� � �� ����� ����
��� ��������������������������!����������@�������������������������-��������������� ������/����
������ ���!����� ��� ������������� ���� ���������� !��� ��� ����@� ��� ��� �� �������� ��� ��� �������
������+���� X������[������� ��� �����������!���������3��������!��+����!�����+�������.��@� ���
���'��� ����" ������#$�� ��� ���� !�� ��������� ���� ���� ������� ��� !��� ��!�������3� �����
����������� ������ ��� ����������� ��� ���.��� ������� !����� ��� ���� �� �!��� ����������� ����
������!�!���� ��� ��� ��!-�3� (����@� ����� ���������� ���� � ��!-�� �������������� ������ ���
�������-�������������Y� ���Z� ��� ��� �������-�����!�������������Y� ���Z@� ����������������������
�2 �����!����2�!������ �������!��������3�
$+���� ��� ��������� ���� ���+��2� ���� �������� ���������-���� �+�������������� ����
��� ����������� ������������ ��� !��� ��� ����@� ����� ����������� ���������� ��� ��������3� *�����
��!-�����@��������������.+������������������� ���!-� ����� ��!�����@���������������� ����������
��� ���@� ��� ��������� ��� ��H��� �������+�� ���� �+������ ��� �������� �������������� ��� !������ �����
�������!�� �����3�
3.1 Adaptation de l’analyse de mutation pour la qualification de composants
)�������������������������������!-������ �� ����� ���4�������U4������SSOW� ����+����������
���������� ��� ��������� ��� �������� ��� ����3� )�� ��!������ !�������� ?� !����� ��� ��������� ���
+�������������������� ���������?��������� �����������$�����@� ����?�����+������������������
����������������!� ������������!����!����������3�7��+�!��������� ����!��������������!���?�!�����
� ��!-����������!����������� ��������!�������������@���������������$������$����@�����������$�����
$�� �������������������������������� ��������������!���������!�� �������
�
11�
���� ������3� 7��������� ���� ���� !� ��� �2�!��� ��� ��������� ����� ����� ����� ������� ���� ������
������� ��� ��� �� ���� ��/�!���3�(�� �������@� ����������� ������������ ���� !���� ��� ����������� ���
��������� ?� ���� ��" ���$ �� ��� �$������� ���� !����� ������� ?� ����������� �� ��� ���������
X!-����������������������!���������@�!-��������������������������������^[3�
$ �.�� ���� ������������ ��� ��!������ ������� ���� ���������� �����������@� ����� �����������
����������� �!������!����� ��!-����������������+������� ���� ���� ���������������!�� �������
����!����3�(�� ����!�����@������ �� ����������������������������� ���������!��@������ ����������
����������� ����������������������������+��� �������������������� �3�(����@������ ����������
����!-���!����� ��� ������ � ��!-�� ���� ������ ���2�!����� ���� �������� ��� ��������� ���� ����
!������������������ �����������.���!�� ������� ���������!�����3��
3.1.1 Le processus global
����!����������������X�������[�j���X�3!�����!�X[3������X!�����!�X[[�[���������D������X������X[a�3������X[@�!�����!�X[[V
���������D���������X�-��@��[Vk
�������M ����!����������������X�������[�j���X�3!�����!�X[3������X!�����!�X[[�[���������D������X������X[a�3������X[@�!�����!�X[[V
���������D���������X�-��@��L�[Vk
������� ����!����������������X�������[�j���X�3!�����!�X[3������X!�����!�X[[�[
���������D���������X�-��@��[Vk �
G��#���5�H��>�!-�� ����!#%�$%�
7����������������������� ������������������ ������������������@�������������������!���
��� ����� ���� !�� ��������3�)����������� ���� ��� ��������� ����� ����� ��+���� �������� E����
������������������������?� ���������������������������������������� ��������������������3�)��
,������N�������������2������������� ��+����E������������ �����������-����addMoney() 3�)��
�������M������������������/�������M�?����+���������@������������������������������ �������
����������!����3�
&��������!���������������!������� �����������������������2�!������+�!�!-�!��������������3�
>�������������������������$ �����!-�����!�����������X���������������������������� ������!������
����[@����?� ���������!��������������@������� ������$����������!-�����!�����������X��� �� ����������
������������� ������!����������[3�)�� ��!�������������������,������M03�
���$�%#�����#$�*� ����%� %)���������$ ���$�������������+�#���X�[+��������������������$������
����"#$����������$"���� ���������������2�
� � � ����-�.�5�6�$�������$"���� ��7�
)���!���������������������!���������������!��!����?� ���������������������3�
1��
�
8�������������������������!����������� �������!�� �����
�
�*"������!#%�%�"$)��������������� ������������$����������"#$����������$��� �� ����+����
��� ������$��������������������"��� ����&� �$����$������2��
��
������� ���8
[[XX[X = �
>�� ����������!��!�������������������������!��������������������������������������3�
����#� ���"0��� ���#$��$ �!0������%� % )���������$ �����������$�������������5�6��9��7�
��������������������$���������������$ ��������$������������������������������2�
� � � �[X
M[X[X
��� �
������������
== �
��������� ������������2��
������� ���8
[[XX[X = �
)���!��������������������!���?����������������!�����������!����� ����?��������������������
�����������!���������������!����������3��
8�����������������
�����������+�����M
��"��� � ���������
*����������!�� ����
1
������$/���$"
� �$ ��"����"�
������$/� ������
� �$ �����
�"����"�
6��!����������������6��!��������������������
6��!����������������6��!��������������������
**������M������������1�������������R�������
������M������M������������������1������1��������������������R������R��������������
*�������*�������
(2�!�����������
4��������!
�
G��#����<�H���"*� # ���"0�������'$'��%�"$����%� % �-���!#%�%�"$�
3.1.2 L’oracle pour l’analyse de mutation
)���� ��� ���2�!������ ���� !��� ��� ����� ���� ����������� ���� �������@� ��� ����� ���� ���!�����
�����!��������+�������� ���!������ ����� ���� ���������3�)�������������2�!����������������������
��������������������������!������-.��@�������������������2��� ��������!��3�)�� ����.������!�����
�����!���!��������?��� �����������������!�����!�� ������������������������������� ���������
��������3�(����!����� ����?�������!�������� �������������������������� ���������������3�)������
!��������?���������@� �����������!����������������!�������+��������!������������������ ��������@�
��� ��������� ���� �� ��!��������� ���������� ��� �������� ��� ��������� �������@� ��� !�����.��� !��
��������!�����!����!������������������!��������������������������?���� ���+����������+��������
+�������������� ��������� ��� ��������� ��������3� )�� ��!����� ���!����� �������� ���� �����������
$�� �������������������������������� ��������������!���������!�� �������
�
1R�
�������������������!���@�����������2������3�4��������!��������2 �����!�����!������ ������������
X!-� ����� �[@� ����� ���������� ���� !�������� !����� +������ �����!��3� *�!�� !��������� ����
!�������������������������!������-.��3�
���*��� -��� ��&&'��$*�� ��� *"!-"�%�!�$%)� ����� �$��� ���������� ���� �� ����� �����$��� ���
�/"�$�����$���������������$ ����� �� ������ ������+��$������������������� ����������$������
�/"�$�����$���������������$ �$���$����,�����$���≠��$��+���� ������$����������$"��� �����������
����,���������#$��������������&���������� ������� ���&&" ������������� ������,�
���*���&"$�'� #���� �� ��%�"$ )�����$���$ �������/"�$������$���������������$ �$���$����+�
$������� �������������"�+����������' ��#$��������������������"����"�����$����,��
)�����!����������!��� �����������!�����!�� �������������������!���������������������������
�������������������������3�4����!��!��@��������������������������������������.����������+�3�)��
�������� �2�!�������� ����.��� �������������������� ��� �������� ��-� ��-.������� ��� ���������
�������������!����!�3���������������������������������!����������@� ��������2�!����!���!�����������
���� ��� ��������� ��������� ��� ���� �������� ��+���� ������ E���� ����!����3� )������������ �����
!��������@� ��� ��!����� �������� ��� ��������� ���� �2�!����� ������� ��� ��������� ��������� ��
!-����@�������!�������!����������!������������3�4�����+���2�!�����������������������������3�
4���� !����� �-.��@� ����� ���������� ���2� �������� ��� Y��������Z� ���� !�� ����� ����
!�� ���������3�)�� ����.��@�Y�!���������Z@����������������������!�����2�!��������� ��������3�
)����!����@�� �!�������?� ����/��@����� ����������� �����������!��������������/������� ���������
�������� ��� ������/������� ���������������3� �4���� !��!��@� �����������!����� !�� ��������� ����
+�����������!�� ����������+���������������������������/���@�� �.�����2�!�����������!����������3�
*�������!���������.���������������������!�����������!��������������!-��������!�����������!��
�����!���3�*���� �����������������!-����������!����2 ��!����@���� �������������������+�������
���!��� ����!�!�@��E��� ����� ��� !��� ��� ���������� ������ ��� ��� �������� �2 ��!����3�>�� ����
�����������������+��������������������!�����!�� �������������!����������!��������Y����!���Z�
������������������@� ��������� ������������������� ���������!�����������������!�����������������
����������������������� ����������������3�
�����+������� ������������!���������������������!���������������������������3���������� �����
����� ���2� !����2������ ��������������� ���� !�������� ���������� ����� ��� !�� ������ X��!�����
�33R�[@�������+��������������� ������������������� ��������������������������������������������
!�� ����������!����X��!������33R�[3�
(����@�������������������������.����� �������!��@��������!����������������������2�!�����������
X!����� ��� ��������� ��� ������� :7���� ��� �2�� ��[3� *����� ��� !��� ��� ���� !��������� ����
���2 ����������������!��3��
$� ��� ���� ������ �������� ��� ��������@� ��� ���������!� ����� E���� ����� ���� ��+���� ��������
!���������������������� �����������3�&������������� ��+������ E!-����������!�������������������
1��
�
8�������������������������!����������� �������!�� �����
�
��!���������������������� ���������2-������������������!�������������2�!�����������������!�����
�������@� �������������������� ���!��������� ��� �Y���������Z� ��������!���� ��������@���� ����������
��������+��������� �����������������3�4������� �������!��@��������!���!�������������� ���������
!��+���� ��������!����� �������@� ����� ��� ������� ��� ����� ���� ��� ������ ��� �������� ��������� ���
�2�!��������������!����������3�4�������!����B������������������!���������������������������@����
������� ������� ��� E���� ���� ?�!����������� ��!�� ���������������������3�)�� ��!��������+�����
������������ ����.�������������������+������3�
"�����������������2� ����.�������������������� ����2!����+�����������������������E���������
!������ ����� �2�!���� ��������!����� ����������� ����!��� ������ ��������@� ���� ����������� ��+���� E����
��� ��������� �����������!���3�
3.1.3 Mutants équivalents
6������������������������@�!�������������"#$������������ ����������������3�
�#%�$%�'2#�7���$%)��������� �������������������$ ������ "���$�� �� �����1� ����� +��������
#$$���$���������"#$���������$�� �� �������������������/������$�$����"#$������������$ �����
���#$���� ����������������$� ����� �� ������$������$�� �� ������������,�������$��-/�+9/�.�
������ ������$�� �� ������ ���������$ ������������������ "���-/�+9/�.�����$��-/�+9/�.� ����
�� ����� ��$ � $�� �$����+� ��� �$����� ���� ���� "#$�������� ���2¬-∃-/�+9/�.∈��.� :� �$��-/�+9/�.� ≠��$��-/�+9/�.�
#������2�� ���������,������MM@� ���+������������������� ��!��� ������Q�������������!�����
������!�������� ���������������3�>�@���������!����� ��!�����������!������+��������?����Q��3�$�
!�� �������� ������������Q���������������!����/���������E���+�����3�)�� ����������������
��������+��������� ����������������3�
)�� �����������������
,��!���������X��@�:����������[�������������������������������#�������Q������������V����������+���f�V�����X:�b��[��-������Q���f:V���������X���Q��[(��V�
)�� ���������������
,��!���������X��@�:����������[�������������������������������#�������Q������������V����������+���f�V�����X:�b���$���[��-������Q���f:V���������X���Q��[(��V� �
G��#������H��>�!-������!#%�$%�'2#�7���$%�
��� ���� �� ������� ��� ����!���� ������������ ����+������� ��� ��� ���� ��������� ��� ����������� ���
��������?�����3�(�������@� �������������@���������� �����������!��������!�������������������������
��������������+��������� ��������� �������@���� ����������������+���������� ��+�������!� ���
E��������3������������������!����!��3�4����U>�����SSNOW@������������� �� ������������!-������ ����
����!��������������������!���������� ������������������+������3�)������!��������?������������
����.��� ��� ��� ����������� ��� ����� ?� ��� ����.��� ��� ����������� ��� !���������3� 6���� ����� ���
$�� �������������������������������� ��������������!���������!�� �������
�
1O�
������@� ��� ����� �������� ���� ������� ��� ����� ���� ����������� ���� !���������� ����!���.��3� #�� ���
!������������� ����E���������������������������������������+�����3�
*� ������@� !����� ����!����� ��� ����� ������������� ?� ��� ����@� !�� ���� ��������� ��� !�]�� ���
���������������������3�4������.��� �������@�����!������� �������������������!���������������
���� ��� ����;��������� �����������3�>�� !-��!-�� �������� ������������ ����+������� ����� !��2�
��!����+�+����@�!�������+�����������+���������������������������3�
3.1.4 Opérateurs de mutation utilisés pour la quali fication des composants
4���������� �����@������ � �������� ���������������������� ?� ����������!��������� ������ ����
���� ������������/��3�*��������� �����������������!� �����?�!�� �� ����� ��������@����������
����� ���� � ��������� !���������� ��������� ��� ���� ����������� ������� ��� ��������3� &���� ����
� �����������������������������&�������M3�$�����������������������@������ ��������� �� �����
�������� ��������23� (����;��� �@� >������ U��SS0W� ��� '��� U'��SS0MW� ���� �� ���� ��� ���+���2�
� ��������� �������� ����������>>@�������������@����-�����������@������� ������������������3�
&� �� 4��!�� �����
(5,� (2!� �����5��������,�����
$>"� $���-����!�> �������"� ��!������
)>"� )���!���> �������"� ��!������
">"� "����������> �������"� ��!������
�>"� ���> ��������"� ��!������
Q*6� Q������������*��������6������������
�*"� ���-����*����"� ��!������
",�� "������!����,���������������
��0���#���H��-'��%�#� ����!#%�%�"$�-"#���� �-�"���!!� �"0@�%�
(5,� �� ���������� ������ ������!����� ���2!� ����� ���� ���� ����������������� ��!���!-���
�����������������2�!����3��
$>"���"�� ��!�������!!�����!������lam� ���l;l����+�!�����+����3�
> ������������-�������� "�� ��!�� ���
a� ;@�d�
;� a@�%�X�����+[�
d� %�X�����+[@�a�
%� d@�;�
��+� ;@�����
���� ;@���+�
)>"���*-������!!�����!�������� ����������������X��@���@����;��@����;��@�����2!�����[�����
��� ��!��� ���!-�!��������������� ��������3�4�� ���@����2 ��������������� ��!��� ���Q"$�����
,$7\3�
1�
�
8�������������������������!����������� �������!�� �����
�
> �������������������� "�� ��!�� ���
b� ≤�c� ≥�≠� b����c�
≤� b�
≥� c�
f� ≤����≥�">"���*-������!!�����!�������� ��������������������Xb@�c@�≤@�≥@�f@��≠[�������� ��!��� ���
!-�!��� ���� ������� � ��������3� 6���� �+����� ���+���� ��� ��� � ������ ������� ��� �������@� ���
� �����������.��������+������ ��������������������������!�;������3�
�>"���#� ���������������!����3�
Q*6���)���+�����������!�����������������+�����������������.����������������� ��������!�����
���� �������� ��� ������������ X����������%� ����%���[� ��������� ?� !�� ���� �� ���� Q����
�����UQ���SSN�W3� *-����� !��������� ��� +�������� ��� �� �� ����-�������� ���� ��!��������� ���
��!��������������3�*-�������������������� ��!�� �������!�� ������3��
�*6���)���� ����������-������������ ��!��� ������� ���?��������������-�������������
�E������������3�
",����,��!��?������ ����������!��?������/���� �.�����!�������3�#� ���������������!��������
!������� ��� ��� !� ��3� ���������� ���� ������!����� ��� !������� ���� !-����� ����!������� ������
�������!�3�
)��� � ��������� ������������$>"@� )>"@� ">"� ����>"� ����� ���� � ��������� ������������
���������������������������U4������SSNMV�>�����SSN��W3�������+��������������������������� ���������
���� ��� ����� ����� ��� �������� ���� ���������� ��/��3� )�� �������� ",�� ��/�!��� ���� ������� ���
�������!�� ?� ���� ��/���� X������� ����������[� ���� ����� � �!�������� ��� �������� ��� ���
���������������/�����
• ����������!��?������/����������!���?������X���(�����[�����$���X���:�+�����*`[3�
• ����������!����������� ��!����������/����������� �������
• !-����� ����!������� ������ �������!�� ?� ��� ��/��� ���� ��!����� ��� ��� �� ��!������ ��� !���
��/���
)��� ������� ������������ ��� ��� �������� ",�� ����� ���� �����!����� ?� ����!���� ���� !������
������������ ��������������� ��������3��
3.1.5 Outils
&����� ������� ���� ���������� ������������ ���� ���� ��+��� ��� ��� ����� ��� ������ ��&���C���@�
!-�!�������������2�������������������������� �������������������������� ����!�����3�)���������
��������� �������� ����� ���� ��������� ��������� ��/����� (�����@� :�+�� ��� *`3� )��� ���!� ��� ���
$�� �������������������������������� ��������������!���������!�� �������
�
1N�
���!��������������!���������������������������� ���� ������������� ���� ��������� ��������������
����� ��� ��� ��������� ��� !��� ��� ����� ��� ������3� (������� �������� ���.��� ���� ��������
���������������3� 7�� ����� ������!���� ������ ?� �������������� ��� ���������� ��� �������������
����������������������� ���������� ���������� ��������� ����!������������������������������
��������������-������ ���������������������� ��������������!���@������������������ ��������3�
7��� ����� ���� ����������� ��� �������� ���� ������� ��� +���� ���!��� ���������� ��� ��������� ����
���������@����������2�!����!-�����!���������������!-���������������!��!���������������������!���
����������������������!����������������������3��
)������� ����(������������ �����n#������U4�+���2SSNN�W���� ���������2�!��������������������
��������� ��������!������(�����3������ ���������������� �����������!���������������!�����13M3�3�
)��� !��� ��� ����� ��� ����������n#������ ���+���� E���� ������ ��� ����� ���� ������ !�����3�)�������
���������������������@���������������-��������!�����!��������������������2�!�������+�!�!-�����
������3�
)������� ����:�+�������� �����:�������� U4�+���2SS0MW� ��� ���������2�!��������������������
��������� ���� ���� ��� ��������� !������� :�+�3� ��� �� ������ ����� ���� � ��������� ��!����� ����� ���
��!����� 13M3�3� *��� ������ ��� ���� ���� ���2� ������� ���� :�+���� :�+�**� X:�+���� *�� �����
*�� ����[�U#7�SS00W����:7����U��!CSS0MW3�)�� ����������:�������@���!��������?�������������������
�������@�������������������������������+�!�:�+�**3�)���!������ ������������������:��������
���+���� E���� �!����� ��� ������� :7���@� !�� ���� ������ ����������� ���� ��!�������� �� ���� ���
�����D��C�:7���� �����2�!���������!����������������!� ��������!����������������3�
(����@��������� �������� ����������*`@��� �������������@��� ���� ����!����������E����������
?�����������������������������������.���������������/��3�*�������������+����������!-� �����1@�
!�!���� ������������������������!���������� �������������@�������������� ���������!���������
� ����������>"����$>"3�)�� ������� ����!���������������� ������� ��������������@���� ��/���
��� !�� �������� ���� *`� ���� ����2� U��� �!�A�SS0MW3� 6��� ��������@� ��������� ������ ���
���������������������2�!����������!�������������������������� ��!�����3�
)��� ������� :�������� ��� ��������� ����� ��� �������� ��� ������ ?� ���������� ���+�������
-�� �%%����!C3�������3����%����23-��3�
3.1.6 Analyse de mutation pour une classe ou un sys tème
4����������������!��!-� ����@������ �� ��������� ���������������������������������������
!����������� ��������!����������������.���!�� ���������������������!������@�������������������
���������� ��� ��������� ���� ���������� !��� !��� ��� ����3� *����� ��!-������ ���� �������������
� ������������+������������@����������������������������!�������+�!�����������3�4�������!������
����� ����.��@� ���������� ���� ���� !� ��� ��� ����.��� ����� ����� ����� ��������� ��� �� ��/�!��� ����
������3�
$���������������������.��@������ ����������� -����������������������� ���������+�������
����!��������� �������@����������!��!����������������������������!������������!������3�)������2�
��� ��������������!-��!-���� ���?�����!��������E����� ����������@� ���������������������������
�0�
�
8�������������������������!����������� �������!�� �����
�
E������� ������2����2�����������3�4�� ���@�����!����������������!-����������+����E���� ���������
!�� ��� ���� � ������� ������������ ?� ��� ����.��3� $����� ������ ���� ������������ ����/�!���� ���
����������������������������!�����@�!�������� ��������������������+��������.��3�(�������@�����
��� �����!�� ��������������2�!������ ����� ����������������!����������������������.����������
���������!�� � ������ ����������� ��������!������������3�4�� ���@���������� ���������������!����
����������������+������� ��������!�������������� �� ��������!���X��� �������+����?��������[@����
��������!�� � ���������!�����������!�����������.�������+�����3�
6����� ������� ����������������������?� �����������������!������ ����� ����.��@�������+����
���!� !-����� ��� ����;��������� ��� ��������� ���� �������� ������ ��� �������3� 4�� ���@� !���
� ���������������+���� ��������������������������+������3�6������������������!��� ����������
����� !�� !-� ����@� ����� �+���� !-����� ���� � ��������� )>"� X����!��� � ������� �� ��!�����[� ���
�>"�X���� �������� �� ��!�����[� ���� ��� ����� ����.��3�)��,������M� �������� ����!-���!�����
���������� ��������������������������������������!�������������������@����������������������������
����� ����������������� ��!���������X������� �����������������!��>6("$&(7"7��&$�"([@�������
������������!��������������.��@������������ ���������)>"�����>"�X������ �����������������!��
>6("$&(7"#9#&(�([��������������3�
7��� ������ ��������� ���� �+����� ��� �������� ��� � ����������@� ���� ����� ���+���� ��� ��� ���
��� �����2 ������ ���!�������� !����� �-.��@� !�������� ?� ����!�������� ����!������������ �����������
���������������+����E������/�!�����������!����������!�������!���.��3�6���������!���.�������������
����������� ����������� ���� !������� ��� !����I��@� ���� !������� ���� ���� ���������� ��� ��������� ���
����.��^�
��������
8$����$
�#%�%�#� $�%���� �#%�%�#��6 %:!�
�#%�$%
�-'��%�#��#%�%�"$
bb�������!�cc
��" ���$ ������ �
bb�������!�cc
��" ���$ �%��'��
��� ��
��� �� ��G
���
���
�G�
Md
�������8������
Md
Md
�#%�%�#��6 %:!�
bb�������!�cc
��" ���$ �%��'��
���
���
�������8������
�-'��%�#��#%�%�"$
d
�#%�$%d
8$����$
�#%�%�#� $�%����
M
M
���
bb�������!�cc
��" ���$ ������ �
�� ��G
��� �G� ��
dM
�
G��#����(�H��*/�%�*%#���-"#������'$'��%�"$����!#%�$% �
$�� �������������������������������� ��������������!���������!�� �������
�
�M�
3.1.7 Optimisation automatique et analyse de mutati on
6���� !��!����� !����� ��!����� ���� ���������� ��� ��������@� ��� ����������� ��� �������������
���!� �������!��!-� ����@����,������M1������������� ��!��������������������������������� -����
������������������!��������������������������3�4�������!����B���������������!�����������������
��� ����A� ����!�!�@� ��� �������� > ��������� ������� ��� ������������ ���������������3� 4���� ���
������ ��� !�� !-� ����� ����� ��������� ���2� �������-���� �+�������������� ���� �� ������� !���
� �������3��
8����������������
#� ���������������������������������������?�����
�����������+�����*�����������������������
$���������!�������
# �!���!��������!�� �.��
������$/���$"
� �$ �
�"����"�
������$/� ������
� �$ �����
�"����"�
6��!�����������������6��!���������������������
6��!�����������������6��!���������������������
**������M������������1�������������R�������
������M������M������������������1������1��������������������R������R��������������
*���&���*���&���
*��������*��������(2�!������
����
�-%�!� �#�
4��������!
�
G��#����.�H�!'��"��%�"$��#%"!�%�2#�����*� ����%� %�-"#�����$��6 �����!#%�%�"$�
��������
8$����$ �#%�$%�������8������
M d
�������8������
&���> ��������
������������$
�� %�#�
�� �� %
�����������$�����
��� ��6 %:!�
�� �� %�6 %:!� �� �� % $�%����
������������$
8$����$
d
MMMM M
M
�#%�$%d
�
G��#����1�H��*/�%�*%#�����"0����-"#������'$'��%�"$����%� %�
��
�
8�������������������������!����������� �������!�� �����
�
)��,������M�� ��������� ����!-���!�����7�)��������� ���� �������������� ��������������� �����
��������������������������������� ��������������!���������!����������3�)��!������&(#&(7"�����
!-������������!����!��������������*>�6>#$�&#>7#&(#&@���������������������������� ��������
������!�������7&$&(7"@� ��� ���&(#&>6&���#(7"3�4����!��!-� ����@����������� ������������?�
��� ��������������!����������� ��������*)$##(�������#9#&(�(3�$����!�� ���������������@����
����!��� ��� ��������� ��� !��� ��� ����3� 4���� ���� ��!������ 1331�� ��� 1331!@� ����� ����������� ���
������������������*$#&(#	#&(�(����*$#&(#&7��&$�"(3��
3.2 Algorithme génétique pour l’optimisation de cas de test )��!������!����������� �����+����������!�� �������� ���������������������������������������
���� !�������3� 7��� ������ ��!����� U4�+���2SSNN�W� �� ������� ������ ���� ��!���@� ���� ��� �������@�
���!�����?��������������������������������!����������������������R0����O0i@������������������
����� �!���� ���� ���+�� ��!����� ��� ������� �� ������3� )�� ���� ��� ������ ������ ���� ���!�
����������������� �����������������������������������������3�
4���� !����� ��!����@� ����� �� ������ ���� ����.��� ���-���� ���� ��������� !�� ����.��3�
*����� � ��!-�� ���� ������� ���� ��� �������-��� ���������� ���� ��+��� � �������� ��� �!���� ���
��������� ��� ����������� �������� ��� �����3� ����� !�����H���� ��� ��������� ������������ ����
�������-��������������@� �����������.������������������+����� �������?������� ����.��3������
���������� �������� ���� �2 �����!��� ���� ����� �+���� ����!������ �+�!� !�� ���.��@� ��� ����
!��!���������������������+����������3�
3.2.1 Les algorithmes génétiques
)��� �������-���� ����������� U8�������SSNW� ���� �������� ���� ��+��� ��� ��� :�-�� 5�������
U5������SSO�W����������������������2 ���������������.�������������������!��!�+������������.����
������!����� ������� ���� !��� ��!�������� ��������3� )��� �������-���� ����������� ����� ���!� ����
�������-������� �������������������������� ���!� �������������!��������������3�4�������������@�
���� ����+����� ���� ����2� ��� ���� ?� ����� ��+����������� X���� ����� !� ������ ���!-� ��� ��2�
���������@� ��� ��� �������� ��� �����^[� ��� �� ���������@� ��� ��J!�� ��2� !����������� ��� ?� ���
��������@������������������+���������@������������@���!��������2���� ���3�*������2�!�������
�������������!��������������������-�����������������?� �����������!���.�����/�!�������� ����������
�������!��������������������������+�������������� ���������� �����������������������������+����3�
)��� �������-���� ����������� ����� ������+������ ��� ���� ?� ���������@� ��� �����
����!���.������� ������� �������� ���� �!�� ��� ��!-��!-�� ������ ��������� ���� ��.�� ������ ��� ������
�2���������� �������!��23�4�� ���@� �����!-��!-�������� �������������� ��������������������
���������� ���������������� �����������+�������!�� �����������������������������3�(�������@����
�������-��� ���������� ���� ����� ��������� �������� ��� ���������@� ���+���� !������ �������������@��
����� ������� ��� ����!������� !������ ���� ����� ���� ���� ��!-��� ��� ��� ������3� $� ������ ��� !���
�!-��������@� ���!����������+���������������� ���!���������������������3�*������������+������
���������������!������?� �������������������������������������� ��!������@���������������!-��!���
��E���������������������������!E����3�
$������-������������� ������� ��������������!�����������
�
�1�
6���� � ������� ��� �������-��� ���������� ?� ��� ����.��� ����!�����@� ��� ����� ��!�� �����
!����;!��������������������������!����� �������?������'���� ����������.��3�4����������$�������
�������� !���������� ��� ���� ������ ��������� ��� �.���3� )��� ����+����� ���� ���� �������������
����!���.��@� ���� ����� ����E��� ������� X����E���������� ��� �.���[3�7�� ��������� ������+�����
���� ���������-��� ���� � ���� ���� ���$������3� 6���� ������� ��� ����!����@� ��� ����� �������� ����
&�������� �$�����"� 7� ���@� ���� !-����� ����+���� ������ � �������@� ����� ���� +������ 7X2[� ����
!����� ����?� �������������� ������+���� ��� �� ������� ����.������� �����+���� ��������3�*�����
���!����� ���� ��� !���.��� ?� ��2������� ���� ��� � �������� ��� �� ���3� 4�� ���@� ��� �������-���
������������������������� ����������
− ��� �� ��$������ �� ���� ���� ��� ����!�������� ���� ����+����� ������ � �������� ���� +����
����!� ��� ?� ��� ����������� ���+����3� *����� � �������� !�������� ��� ��� ������� ��� ����� ����
���������������+���������� �������� ��������+���������������3�*�����������+�����������!������
����������������B�!-���������+��������������� ���� �� ������������?����+���������������3�
#������2�� ���������,������MR@����+������������������H����!�������������@���������+�����
��������� ��� ���� ������� +������ ���������� ���� ���� ��� !-��!��� ��E���� �����@� ����� ���
����������������������� ����+�������������������� ���������� ���� ��+����!�����������������
�.���������������?���� � �������3�
103Ni M�3�i
�N3i
R3Ri
103Ni M�3�i
�N3i
R3Ri
�.���������������+���������������������������i����������M�����������������������M�N���������������������������M�3������������������������RO�����������������������������N31��������������������������������������������������������R3R������������������������1�M���������������������������103N
�
G��#����3�H�G"$*%�"$$�!�$%������"-'��%�#�������-�"�#*%�"$�
− ��� � ��������� !�������� ?� ������ ��� -������ ��� ������� C� ������� ���������� ?� ��� ������� �� ����
����+����3�(������@�?� ������������2�����+�����$���������2������������+����������!����@������
���������� C� �������� �.���� ���$� ��� ��� �;C� ����������.���� ����@� �������� ���������� �;C�
��������� �.���� ��� $� ��� ���� C� �������� �.���� ��� �3� ��� �2����� ��������� � ��������� ���
!���������@������!�������!�����!��������� ����!�����������������3�
− ����$�������!��������?�������������+�������������� ����������.�������������+���3�
(2�� ���������������+����������������������.����!�����!-�!�������������@������������������
�.���!��������?���������������+������0�������+���������������������M@����M������3�
���
�
8�������������������������!����������� �������!�� �����
�
o*�������������� � ����������������
o*��!���������+���������������� ����!-���������+���o"� ����!����o*���������o������������������� �������������+����
o6���������!���.���������E���+�����������������������������@����������������������^
���!������������
�G��#����,�H���"*� # ���"0���-"#��#$����"��%/!���'$'%�2#��
5�������������@������ �������������� ����!�������������������!�������������������� ��������
�������!��+�����!��+��������������������������X����!����� ����������������������!�������������
!�������+����[@�������� ��������������������/��������I�����!��������X������2�������������?�����
�������������������� �������������������i[3�)�� ��!�������������������������-���������!����
,������M����������2��������������������������!��������+���3�
3.2.2 Texte de l’algorithme
6���� ��� ���!�� ����� ��� ��2��� ��� ���������-��� ���������@� ��� �� ���� ���2�����!�� ����
���!������ select @� rand(Entier, Entier) � ��� rand(Population) 3� )��� ���������� ����
���!������Utilité � ���Mute � �� ���� ��� ��� ��!������ ����!���.��� ��� ���������-������������3�
&������!������!�������������!���������.+�������+�������������-������������3�
// La fonction select prend une population et une s équence de réels en entrée. La séquence de réels doit être de la même taille qu e la population. La fonction rend un individu tiré au hasard dans la po pulation, un individu i ayant une probabilité proba[i] d’être tiré. select(Population pop, Ens[Réel] proba) : Individu //La fonction rand rend un entier au hasard entre x et y rand(Entier x, y) : Entier //La fonction rand rend un individu au hasard dans pop rand(Population pop) : Individu //La fonction Utilité rend la valeur d’utilité d’un individu Utilité (Individu ind) : Réel //La fonction Mute rend l’individu ind dans lequel un gène a été muté Mute (Individu ind) : Individu //Un algorithme génétique prend une population init iale, un objectif et un taux de mutation en entrée. Il explore l’espace des solutions jusqu’à trouver un individu dont l’utilité est supérieure ou égale à l’objectif Algo_génétique (Population P, Réel obj, Réel tx_mut ation) : Individu local Population P rep , P crois , P mut ; début tantque ( ! ( ∃ i ∈ [0..P.taille-1] | Utilité(P[i]) > obj) faire
P rep ← ∅ ; P crois ← ∅ ; P mut ← ∅ ; P rep ← Reproduction(P) ; P crois ← Croisement (P rep ) ; P mut ← Mutation(P crois , tx_mutation) ;
$������-������������� ������� ��������������!�����������
�
�R�
P ← P mut ; fait Result ← (P[i] | Utilité(P[i]) > obj ; fin Reproduction (Population pop) : Population local Ens[Réel] proba ; Réel u_cumulée ; Population pop tmp ; début
u_cumulée ← �=
���������
�
����������"3
0W[UX ;
∀i ∈ [O..pop.taille-1] proba[i] ← pop[i] * (Utilité(pop[i])/u_cumulée) ; pop tmp ← ∅ ; pour i de 0 à pop.taille-1 faire
pop tmp ← pop tmp ∪ select(pop, proba); fait Result ← pop tmp ; fin Croisement (Population pop) : Population local Ens[Individu] croisement ; Population pop tmp ; début
pop tmp ← ∅ ; pour i de 0 à pop.taille-1 faire
croisement ← Croise(pop [i], pop [i+1]) ; pop tmp ← croisement[0] ∪ croisement[1] ∪ pop tmp ; fait Result ← pop tmp ; fin Croise(Individu ind1, ind2) : Ens[Individu] local Entier n ; Individu ind3, ind4 ; début
taille ← ind1.taille ; n ← rand(0, taille-1) ; ind3 ← ind1[O..n] ∪ ind2[n+1..taille-1]; ind4 ← ind2[0..n] ∪ ind1[n+1..taille-1]; Result ← ind3 ∪ ind4 fin Mutation (Population pop, Réel tx_mutation) : Popul ation local Population pop tmp ; début
pop tmp ← ∅ ; pour i de 0 à (pop.taille * tx_mutation) - 1 faire
pop ← pop \ rand(pop) ; pop tmp ← Mute(ind) ∪ pop tmp ; fait
Result ← pop ∪ pop tmp ; fin
���
�
8�������������������������!����������� �������!�� �����
�
3.2.3 Le problème de l’optimisation de cas de test
*�������!��������������������������������� ����.��������� ��������������������������!������
����� ����� �����������������-������������3������ ������������������������.�������������
���� ��� ����������� ��� ���� ����� ����� �� �� ��� ������� ��� ����3� ����� ���!������ �������� ����
����.���������� ��������������.��� � �!��������?� ������������������!������ ������������������
����.��3�
�� 0��������������������������������.��������������������������
)��,������MO� ��������������!-���!��������������� ������� ��������������������������!���
��������?��������������������-������������3�*�������!-���!����������������������!���������������
���� E���� � �!�������� ���� ���� -���� ��� ����� ������3� �!�@� ����� �� ������ ���2� �2��� ���
� �!����������� ���� ����� ��� ����� ��������� ��� !������ ��� ��� ����� ����.��� X��� ����� ��������� ���
!������[3�7�� �������-������������� ���� ���� ��!-������ ���� � �������� ��� ��������� ��� !��� ���
����@� ���!������8(�(&�=7(�-���������!����&(#&>6&���#(7"3�)�� ����.���������!�� �������
���� � ����������������!�� �����������+�������2;�E����!��������������������������������
����.����X!�3���!�����133M[3�)����������������� � �������������������+��������������!����������
��2���� ��������� ��!������ ����!���.���������������-������������3�
&���> ��������
������������$
M'$'%�2#�
�$��7��#�"-#��%�"$ bb�������!�cc
;'��
�� ��"���8$������
�#%�%�"$ $�%���� �#%�%�"$�6 %:!�
��������> ������
M
!�����+��X[
�� ����!����X[
M M M d
j���������k
M d
�"-#��%�"$
�#%�%�"$ $�%����
��������
�#%�$%
������������$
M'$'%�2#�
�#%�$%
!�����+��X[
�� ����!����X[
M M
d
�� �� %
�� �� %�6 %:!��� �� % $�%����
�$��7��# bb�������!�cc
;'��
�� ��"���8$������
�#%�%�"$�6 %:!�
��������> ������
M
M d
j���������k
M d
�G��#����4�H� $����*/�%�*%#����'$'��2#��-"#���?"-%�!� �%�"$����*� ����%� %�F��?������?#$�
���"��%/!���'$'%�2#��
)���������������������'������� ����!���.������ ����.��������� ��������������!����������������
!����� ���� ?� ��� !��� ��� ����� X*$#&(#&� �� �������� ���������!�� 8(�([3� ��� � ���T�� ���� ���
�����������������!������*$#&(#&����� �!����������*$#&(#&7��&$�"(����*$#&(#	#&(�(3�
���������������� ���� ����!������������������������� ���� ����!������ ����������������������.����
�����������!���������+�����3��
$������-������������� ������� ��������������!�����������
�
�O�
*����������������������.��� �� ������������ ����+����������� ������������!������ ����3�7��
����+����!����� �������!������?�!�����������+����� ���������!�������������������!�����������
�����������.������ ��������������X����!��������������!���������������/��[3�
7�� ������ ����.���� ����� E������������� ���� ���� � ��!������ ����!���.��� ��� ���������-���
������������ ��� &�������� �$�����"3������ �+���� !-����� ��� �!���� ������������ !������������ ���
�������������������+���3�)��!������8(�(&�=7(���!� ��������!����������������������������������
����!���������������������!��!���3�
(����@���������������������� ��������� �������������-��3�)���� �������������� ����!�����������
!���������� ��+����E��������������������.������������@� �������������������������������+�����
����� ���� ���������� �� ����!���������!����������3�6���!�����@�!�������� ��������������������
������!�������������.���@��������������������!��2;!���� ��������� �����!�����������������@�!�����
� �������� ����� ���������� ����� ���� ��!������ � �!�������� ?� !-����� �� �� ��� !��� ��� ����3� *�����
������!���������������� ���������� ���T�������������������������,������MO�������� ������������
�� ����!�����������!����������� ��������������!���������������!������8(�(&�=7(@�����������
��� ������������������������������������7&$&�>�7��&$�"(�����7&$&�>�#9#&(�(3�
− "� ����!������� ���� ����+����� ����� �� �������� ��� ������� ����� �!���� ������������ !�����
+���������������3�
− *�������������������������������������+����������� � �������@���� ��������������������-������
������M�����;M3�$����@�?� ������������2�����+��������M�������@����2����+���2�����+����������
!����@� ��� ������� �+�!� ���� �� ���������.������� ���M� ��� �����;������������.������� ���@� ���
�������� �+�!� ���� �� ������� �.���� ��� ���� ��� ���� �;�� ��������� ��� ���M3� *��� � �������� ����
�����������������,������M3�
���M f�j8M�M@�333�8M��@�M���L�D�N�M��!k��������� f�j8�M@�333�8��@�M(��L�D�N�M(�!k
���1 f�j8M�M@�333�8M��@�M(��L�D�N�M(�!k���������� f�j8�M@�333�8��@�M���L�D�N�M��!k �G��#����;�H��-'��%�#�����*�"� �!�$%�
)�����!���������+����������������������� �!������������������������ ������������ �����!������
�����?�����������������.�������.��������� �������������������3�4�����������2�!��@�����.��������
E�������!����������� �����������!�-�������+�!�������.���������,������MO3�6�����������@�������.���
��������.��������E����!����!�� ���������������� ��������@��������������!���������3�(�������@�
��� !����� ��� !����� � �������@� ��� ����� ��+���� !-������ �������� ���� �.���� ?� ������������ �����
����+���@��������!����;!�������������������+������ ������� ������������������3�
�� 1���������������������������������
�����!������������������!������������������ ����������������������������.�������������/��3�7��
!����������� ��������!��������������������������������-��������!����������� ���������������!���
��� ��� !������ ����� ����@� ��� � ����� �������-����� ���� !��� ��/���3� )��� !��� ��� ����� ��+���� E����
�������� ������ ��� ����� ���� !������ ��� ����3� *����� ����!��������� ���� !��� ��� ����� ��������� ����
��
�
8�������������������������!����������� �������!�� �����
�
���������� ��� ���� �� ���� ���������!�� ���� �����D��C�� ��� ����� \7���� ��� �������� ���� ���
�������2����������X-�� �%%DDD3/����3���%����23-��[3��
6���� � ������� ��� �������-��� ���������� ���� ��� ����������� ������������ ��� !��� ��� �����
���������@� ����� �+���� ��������� ��� �.��� ��� ���� ���-���� ���� !����� ���� ?� ��� !��� ��� �����
������������������!�������������3�4��2� ������� ��+����E����!������������������������������!�� ��
��� !����� ���-������ ����������������� ���� !�������� ?� !����� ���� ������!��� ��� ��� !������ ����� �����
X!����� ����������� ���������������D��C��\7���[@������� ���������-���������!�����/���3�)��
,������MN��������������2�� �������.��� ���������������������������������!��������������������
���� ���� !������(�����3� )�����-���� test_set � ��� ��� !������&(#&P4$&(� ���� ��� �.��@� ��� ����
�������������������������� ���������-������������ ������ �������������--MethodCalls 3�
!�����&(#&P4$&(
��������
����P��������!��������6P4$&(V
����pp����V;;���-��*��������3���P����XMNNN[V����3���P����-XO[V����3���P���X[V
����
���� �
G��#����5�H��>�!-�������:$��-"#������'$'��%�"$����*� ����%� %�#$�%�����
�"�:�������:$��-"#�����%� %�#$�%����)�����'�������$��������������$����� �,�����������"���"��� �
$��� �"�!���� ������"�� ��� ��$/� �� ����,� ����� ��+9+��� �� �"�!����� �����"��� ��� ��+9+��� ��
���������� ��� �� ��'� ��� �&&����&�� ��$ � ���� ������� ����"�!���,���� �'��� ���� �"&���� �� � $���
��� �� �+� �� -�� ��$ � ��������������+� ��� ����$ � ��� �"#$������������.� ������#$��;5<�+� �=��>��5-�
��-��.+9+��-��..,�
�,� ��2� � "������ ��� ��������������� ����������� ��� ��� ������� ��$�� ����+� ��� ���)����
�"������ ����$������
?,� ��2��"#$�����������������"�!������$ �������)����� ""��
)�� �������� ��� ��������� ���� ���������-��� ���������� ���� E���� �������� ?� ������ ��� !��
���.�������.��3�(����!��������?��������������+����������� ����.���������!����� �������� ������
���-�������������.��3�
�-'��%�"$� ��� !#%�%�"$� -"#�� ��� %� %� #$�%����)� ��" ������ ��� �$������� ��� ����� ��!���
�"�"��#$������&��� ������ ��'� ��� �&&����&�� �$������������"�!�����$���'��+� ������ ��� '����
�$�������2�� � ;�5�<��+��=�����;�5�<��+���$�=
������ �5-��-��.+9+���-��.+9+���-��..��������$�5-��-��.+9+���-���$�.+9+���-��..��
$������-������������� ������� ��������������!�����������
�
�N�
*������ �������������� �������� ���������������������������� �������������!��+�������������
������� ��� !���3� 6��� �2�� ��� ����� ��� !��� ������ !�������������� ����� ���� ���-���@� ��� �����
� �����!��������-�����+�!�������������2�+������������������@� ���� ��+���� ���������������
���2� ����!-��� ��� ��� !�������������3� )�� ,������ 0� ��������� ��� �2�� ��� ���� ��� �������� ���
�����������������.��3�4����!��!��@� ���+������1999 ���� ������� ����.���� ���� ��� ���������
���-����set �������� ��!��� ���1998 3�
)��� ������������ ��� �.��� ��� ��� ��� �������� ��� ��������� �������� �!�@� !����� ������� ��2�
!��!� ������*$#&(#&7��&$�"(�����7&$&�>�7��&$�"(��������������������,������MO3�
!����7��&P&(#&P(\$�6)(
��-����(7��&P&(#&*$#(
������� ;; #� ��������6P4$&(V
���P� �����pp����3��C� XM0[
���
������� ;; &��������P!�� ������������!�������M�6P4$&(V����pp����MV
����3���X�555@O@R[V����M3���XMNN@O@R[V
����
����g 7��&P&(#&P(\$�6)(
!����7��&P&(#&P(\$�6)(
��-����(7��&P&(#&*$#(
������� ;; #� ��������6P4$&(V
���P� �����pp����3��C� XM0[
���
������� ;; &��������P!�� ������������!�������M�6P4$&(V����pp����MV
����3���X�55;@O@R[V����M3���XMNN@O@R[V
����
����g 7��&P&(#&P(\$�6)(�
G��#���(<�H��>�!-������!#%�%�"$���#$��:$��-"#������'$'��%�"$����*� ����%� %�#$�%���� �
� 1��������������������������(��)���
*�������!��������������������.�������.��������� ������������������������!�����������!������
��� ��������������!���������������.���3�)��������������������!���������������.�����������������
�������������������������������.��3�6����2�� ��@� ���������������!���������� �������*`@����!���
��� ������������ ��!-���� ����!��*`@����������E���� �����2���������!����!�� ���� ����������������
�������3�)�������!����� ����� ����������������-������������������!��!��@����������!���� ��+����
���������������������������� ����������!����!�@���� ���������2 �����!��@�������������!��������
����������� � �!������� ��� ��������*`3�*� ������@� !���������������� �������� ��� ����� ���� ���
����.��� ��������E������;�������� �����������������������!��@�������������������������� ��+����
E����� �!�������?�����������������������3�
�"�:�������:$��-"#�����%� %� 6 %:!�)��������������� ���$��� ��$���� ��$ +�$���'�������$��
&��!�� � ��$ ��� "� ��� ����� ��� �������� �� ���$��� ,� �!�#$�� &��!�� � ��������� ��$���$ ��
R0�
�
8�������������������������!����������� �������!�� �����
�
����� $��������$� ��������#$�� �� ����������1������@$�������� �� � �� �%���/�#$�,�A�$ �$��
&��!�� ������ �����/��@$��+�$���'������� �� "����"�������2;5<��+9+�/=,�
)�� �������������������� ����E������������ ?� ��������� !�����.�������.��3�(����!�������� ?�
��� ��!�������_��� ���������������������.��3�$� ���������������������������������X��!�����
����� �������������� ��-�������� ����� ��� ,������ �[� ��� ���� �������� ��� +�������� ���� ��� ���+����
�_�������!�� ��������+�!� ����!���3�)�� �����������������������.�������������.��� ��!���� X���
��!-��������!�������2���������!����!�� ��������������[3�)��,������M��������������2�� ��� ����
��� ����������������������������.���������_�������� ��foreach �������� ��!�� �������_������
�� ��while ������������-����set 3�
�-'��%�"$����!#%�%�"$�-"#�����%� %� 6 %:!�)���" ����������$��������"����������$���'���
��"���� �����������$���������$���� ��������$���@$���������'����� �$���$� ��2��
;�5�<��+9+���+9+��/=���;�$��5�<��+9+����$�+9+��/=�
������#�����V����� �!����PM�j������#�����V ����!����!�������P jU$�$��������MV $�$��������W ����!���������,����V
����!�q��PX[�jk�%%q��P
U$�$��������MV $�$��������W ����!���PX[�jk�%%��P
U$�$��������W ����!�+�������������&� � ����-���X&� �M ����M@�
&� � ����[�V
U$�$��������W�����!�&� � �6�� ���� j����jk����j�Q��������f��Q���� a�1V����X��� �f0�V�p��P�rr��Ppf��P1�V��aa[
j&"���*/ A$"�� �$��$�%/�+%���EO�$�0@�*%)���%/"��A-���!.D�-���!1 EPQk
kk ����!�������&� �M�����-���X&� �1 ����R[ jk�%%����-��
k�%%��Pk
������#�����V����� �!����PM�j������#�����V ����!����!�������P jU$�$��������MV $�$��������W ����!���������,����V
����!�q��PX[�jk�%%q��P
U$�$��������MV $�$��������W ����!���PX[�jk�%%��P
U$�$��������W ����!�+�������������&� � ����-���X&� �M ����M@�
&� � ����[�V
U$�$��������W�����!�&� � �6�� ���� j����jk����j�Q��������f��Q���� a�1V����X��� �f0�V�p��P�rr��Ppf��P1�V��aa[
jR/���A*"$��EO������0���LLPQk
kk ����!�������&� �M�����-���X&� �1 ����R[ jk�%%����-��
k�%%��Pk �
G��#���(��H��>�!-������!#%�%�"$���#$��:$��-"#���'��'$'��%�"$����*� ����%� %� 6 %:!��
)��� ������������ ��� �.��� ��� ��� ��� �������� ��� ��������� �������� �!�@� !����� ������� ��2�
!��!� ������*$#&(#	#&(�(�����7&$&�>�#9#&(�(��������������������,������MO3�
�(���������!��� ��������������-�������������
�
RM�
3.3 Etudes de cas pour un algorithme génétique 6���� �������� ����������������� ��� ��� ����������� ��� !��� ��� ����� ��� ���������� ��� �������-���
���������@����2�����������!����������� ������@������������!-������� ����E���� �� ���������+������
���������X(�����@�*`[@�������������� ����������X ���������������������������������(�����[�������
��+���2��������������������X��������@�����.��[3�$+�!���� ����.��@�����������������������������
?������������������!����������������������+�!�����!��������!���������(�����3�6���������!����������
�+����� ����������������-������������� ������������������!����������� ��������.����!�������
*`� ����� ��� !����� ��� ��� ����;������ 3�(&3� *-����� ������ ��� !��� �� �������� ���� !���������
����!���.��� ��� ����!���3� )��� !������� (�����@� ��������� ��� ��+���� ��������@� ���� ������ ���
���������������������� ����������-����3�=������������.��@������ ������������ ��������������!����
�������������������������������������������������������������������3�6����2�� ��@� ����E���
������������� �������������-������������� ����E������������� �������������������!����������������
\�)�!���������������!-����3�
3.3.1 Optimisation de cas de test unitaires : un ex emple en Eiffel
)������� ��� !��� ���� ��� ����� ��������� ���� ������� ���� ��� ���������� 6����� ���� ������ ���������
����!������ ��� �������� ���� ��� �������� (�����3� *����� ���������� ���� ��� ������� ?� ����������
���+������� -�� �%%DDD3������;�����3���%��!-�+�%������% ����3-��3� 6���� ���� �2 �����!���
��� ��������������������������!����������@�������+����!-����� ��� �����������������������������
!��!����� ��� �������� ��� ��� �� ��� ���� �����3� )�� !������ ���!� ���� ��� !�� ��������� ����
6P4$&(P&��(@�����������!�� �����!�� �.������ ��������������������,������3��
p_text_object Hashtable comparable
+is_equal()+hash_code()+set_hour()+set_minute()+set_second()+set()+is_am()+is_pm()+to_iso()+to_rfc()
p_time
+make()+is_equal()+hash_code()+set_date()+set_time()+set()+is_valid()+is_local()+is_utc()+timezone_bias()+set_timezone_bias()+local_timebias()+internal_tz()+to_iso()+to_iso_long()+to_rfc()+add_iso_timezone()
p_date_time
+is_equal()+hash_code()+set_year()+set_month()+set_day()+set()+is_valid_date()+is_valid()+is_leap_year()+max_day()+to_iso()+to_iso_long()+to_rfc()
p_date
p_format
+Rfc_january()+Rfc_february()+Rfc_march()+Rfc_april()+Rfc_may()+Rfc_june()+Rfc_july()+Rfc_august()+Rfc_september()+Rfc_october()+Rfc_november()+Rfc_december()
p_date_const
�
G��#���((�H���� � ��#�-�2#�%����8���%�=%�!��9�������0�0��"%/:2#���6�"$�
R�
�
8�������������������������!����������� �������!�� �����
�
50
52
54
56
58
60
62
64
66
68
70
1 6 11
# générations
scor
e de
mut
atio
n(%
)
p_date
p_time
p_date_time
�
G��#���(.�H�!'��"��%�"$��#%"!�%�2#���#� *"������!#%�%�"$�-"#��.��$ �!0�� ����*� ����%� %��
)���������� �������� ��� !��� ��� ����� ���� !-�!���� ���� !������� 6P&��(@� 6P4$&(P&��(� ���
6P4$&(��������!���� ���������� �������������3�)���!���������������� ����!-�����������������
!��� ��� ����� �� ������ ���� !��!���3� )��� ���������� ������ ���� ��� ������� ����������� �������� ����
!��!�����!����!�������������������������&�������3�)��������������������+�����������!������?�
�������� ��� ���!����� ��� ������� ��� ���-����� ����� ���� !������� ��� ��� ��� !�� ��2���� ��� !���
���-����3� 6���� ��� �� �� ��� !���� ����� ���� !�����@� ������� ���� �����������������3�4�� ����E���
��H��@� ���� ��� !���� ���� !�� ��2�� X ���������!����I��@� ����!���������!��� ���������!����I��@�
���������� ����.����^[@� ������������������������������������������3�6����2�� ��@� �������
����������������� �������!������6P4$&(P&��(�!������ �� �������!������-��������!�������������
��������� ����� �����������?��������-���������!�������6P4$&(����6P&��(3�*������-����������
���!���.����� ���@���� ������������� ��+������E������/�!����3�
)�� ������ ��� ���2 �����!�� !�������� ?� ���������� ���������������� !��� ���������� ��� !��� ���
����� �������2� ��J!�� ?� ��� �������-��� ���������3� )��������-��� �� ���� �2�!���� ���� !-�����
��������3� *-����� ��������� �������� !��������� ������ !��� ��� ����� ���� ���� ���+�� ��� �.���� ����
!������������� � �����������������������������-��3�4��������������!��@���� � �����������������������
���MR� ����+�������� �������R3�6���� ���� ���������� ���������,������1@� ��� ���2�������������������
�������������M0i3�
��0���#�(�H��*"�� ����!#%�%�"$��� ��$ �!0�� ��$�%��#>����*� ����%� %�-"#�����-�2#�%����8���%�=%�!��9�
� P����� P����P����� P�����
`����������������� �O1� MNN� OR�
�!����������������Xi[� R1� R� R�
�(���������!��� ��������������-�������������
�
R1�
3.3.2 Optimisation de cas de test système : l’exemp le d’un composant .NET
��>%�����%%6���$%���������%%6���$%���%�% �� �%"�
��"��B#����� �"#�*� $�%
��A ���%A ���� A� ��$ � �����
"���� �%"�
M M
�� %�#*%"�
G"�
d�!� -�*��"!-��� $�%�$%��&�*��%�%�!�$%
�R�%*/ S/����&G"���*/�"��
��G�����%%6���$%��
dddddd
d
������
��!0��
G����
dd
����������
d
�6-� ���
�"$ %�#*%"�
M
d
$���������
d
�"!!�$%
%%��0#%�
��"-��%6��%/"�
d
B�"*�"
d
�
G��#���(1�H���� �#��-"#�������$������T�
������+�����2 ���������������.������������-������������� ����������������������!������
���������.����������!�� ������3�(&��!�������*`3�*��!�� ������������� ������� ���������������
*`�U�#4�SS0�V��#4�SS0�W����������������������!�����������������,�������3�*������������
����!�� �������1�!����������� ��+����E������+�������������������;���������� ���!� ��23�&����
�������@� ��� !������*#�>4(�7�)4("� ���� ��� !������ ���!� ���� ���� ��� !������!����� ��� ��������
�����2����@���� ���-�����!-�����-��������?� ������������!������*#�>4(��� �����������������������
�� ��� ��� �_���� ��������� ����� �������3� (����@� ���� !������� ���� �� ���������� ���������!��
�>4(Q�#�&>"� !����������� ��� ������.��� ����;��������3� *��� !������� !����� ������� ?�
��� ��!������ ��� ������� ������� +������� U8����SSNRW� ��� �� ���������� ����������� ������������
��������� ���� �������� �����2����3� 6��� �2�� ��@� ��� !������ &(\&*#6"(&&96"��&("� �� ������
���� ������������������������2���������������!-����������������2��3�*��!�� ������ �����������
�����������!-���������!��*`����������@����!����������������������2�����!����� ������3�
6������������������������-�����������������!������.��@�������+�����������R00������������
������������������?���� ���������>"�X!�3���!�����13M3�[3�)������������������������������������
������������� �����������!�����������������������������!����� ����������2����!��+�����������
������!������ ���� !��� ��� ����� �������3� )�� �� ���� ������������ ���� ���� �������� ���� ���� !�������
&(\&*#6"(&&96"��&("@� &>'(��<("� ���*#�>4(�7�)4("� ���� �2�!������ ���� � ��������� ����
����!�� ��2����������.��3�)�� � ���������������������!�������������M�����+����������������@����
����!�������������������������������R�i3�)������������� �����������������������������������!����
�+�!�����������-�������������������������,������R3�
R��
�
8�������������������������!����������� �������!�� �����
�
3.3.3 Résultats et remise en cause du modèle généti que
*����� ��!����� ������� ��������� !��!�������� ?� �� ��� ��� ��� ��!������ ����� �������-���
���������� ������� ��������������������������!������ ����� X!�3�,������1����,������R[3������
����� ������������ �������� ��2� �����E��� ��� ��� ��!-�� ���� ���������� ��� �������� ����
!������%!�� ����������������3�6���@�������2 ������������������������!�!�������!�����.��� ����
��������������� ����.��3�=�������� ������ ����!�������������2����������������������!�������!��
������ ��� ��������.��� ��� �!���� ��� ��������@� ��� !�]�� ��� ������� ��� ��� �� ���2�!������ ��� ����
����.�������!���������������.��3�
6�����������2�����������!��@����������-���������������������������������������������������
�����������������!������������������23�*�������������� �������������������������2�!�������������
!������%!�� ����������������3�6�����������������������������������!����� ����!��������3�$��!�����
������������!�����������������+�+����@�������+������ ��������������������+�������������Y�!����
�����Z3� (�� �����@� ��� ���� �������� ����� ��/�!����� ����� ���� ������� ��� !���� ���� ��� ����� /������
�2�!�����@��,�,@����Y�!���������Z@�������������� ���� ���E�������3��������!���������������������
��������������!�� ������������������J!��?����������-������������@��������������������2 �����!���
����� ��!�+����@� ����� ���� ��� ����������� ��� !��� ��� ����� ���������� X�2 �������������� ���� ����
!�������������������������[����� ��������!���������������.����X ������� �������*`[3�(�������@�
������������2�!�������!��������������������������� ����������.����������!���+��X�������� �����
/������N0i[������� ��!���������!��+����� ���X ������!�������!������!�������!���[3�(����@������
�+���������!�����?��������2���-��������� ��������� ������������!������������������������� ����
���������� ������!�!���� ��� ��� ��!-�@� !�� ���� ���� ���������� ���� ��������� ��� !����� ������.���
���������� ���������� ����.��3�4����������������!�������!������������+����������!��������������
��������� �� �������������������� ��������������������.����������3�
Algorithme génétique avec 2% de taux de mutation
50
55
60
65
70
75
80
85
90
0 50 100 150 200
# générations
scor
e de
mut
atio
n (%
)
�
�(���������!��� ��������������-�������������
�
RR�
Algortihme génétique avec 10% de taux de mutation
50
55
60
65
70
75
80
85
90
0 50 100 150 200
# générations
scor
e de
mut
atio
n (%
)
�
G��#���(3�H���"��%/!���'$'%�2#��-"#���?"-%�!� �%�"$��#%"!�%�2#�����*� �%� %�-"#��#$�-�� �#���T�
6�����������!�� ������������;!�������!������!�������!���������������������������������������
������!�������� ������������������������?�������+����@�!������������+��������������!�����������
���!�������������+���������������@� ��������������� �������@�!����������!���������.���������������
���� �������� ���� ���+����� � �������3� *��������� �������� ��� ����� ������� ��+���� ���!� E����
���������� !������;����!��������� ���� ��� �� ����!����@� ��� ����E��� ������������ �������������
������������������� ����������������������������.�������3�)�� ������������������������ ����
���!������T�������� ������������������@��������������������+�������������+���������������� ����
E������������������!���������������������� ��!������3�*����� ������������������������T�������
������������������@�����E�������!-�������������!������������+������������!���������������3�)��
������������� ���� ����+����� ����!�������� ���� ��� �� ����!����� �+�������� !��� ����.���3� (��
�����@� ���������� !�������� ����+����� ������ ��� �!���� ��� ��������� ��� ��� ��� ���!������ ���
��������������+��������������� �����������+��������������3�
)����!������������������.��������������2�!�]������ �����������������.��3�7���������-���
����������!-��!-��������+�������������+����������������� ������@������������� ������ �����������
+������� ��������������������� � �������3�)�����������������+�������������!�E�����������������
������@� ���� ����������������� ��� ���������-��@� ���� !�������� ����A� ��� �.���� X!��� ��� ����[� ����
�������������+����������������� ������3�>�@����������.�������!������� ��+����!����������!�����������
������� ��!��������� ���� ����� ����� ���� �������� ����� !�� ������ ����!�����3� ��� ����� ���!�
!�����!����+�!���������������.���������@� ���� ����������������.��� ������������������!-������
������������������������� ������������������!����� �����@����!� ������� ������ �������� ����
���� ������+���� ������� X��� ��������� ��� !��� ��� ����[� ��� ����� ��� ��� � ����� ?� �2�!����� ��� ?�
!�� ������3� 4�� ���@� ��� ����������� ��� ���.��� ����� E���� ������� ���� !-����� ���+����
!�� ������ ����� ����3� �E��� ��� !��� ������� ��� ����������� ���� ���� !���������� ���� !-�����
� ��!������������������-������������@����������� ����!���.�������!�����������������������!���
������� ��� ������� ��� ����������� ��������� ������ ��� �� �������3� 7��� ��� ������� ��� ���.���
R��
�
8�������������������������!����������� �������!�� �����
�
!������������ ?� ��� ���� !����������� ��� ������� ��� ����������� ��� !��� ��� ����� ������ �������
�����������3�)������������������+�����������!� ����!���.������������!����?��������@���� ����������
�E���������+����X����+����?���������Y�����������������Z[�� ���T������� ���3��
)�� ��!���� ����.���� ������ ����� ��2��� ���� ��� ���2� ������������ ?� !-����� ����������3� 6����
!-�!���� ���� �2 �����!��@� ��� �� ������ ��2��� !�� ���2� ?� ���� +������ ���������� �� �������� ?� !�����
��������� ���� ���� � ��!������ �������� ����� �������-��� ���������3� )�� ,������ R�������� ����
���������� �����������2����������������i����M0i3�6����������2���������������� �����������X����
!����� ���� ��� ���2� -�������������� �������� ���� ��� �������-��� ���������[@� ��� �����������
�����������������������!�������������� ����!��������������������� �����/������0i����������
����������/�����3�6����������2����������������M0i�����������������������������@� �����������!����
���������������������/�����?��������������� �!��?�N0i3�*���!����������/���������������� ����
������3� 6��� ��������@� ��� � ���T�� ���� ��� �������� ��� ��������� ���� !����� ���� !���� ��� ����
�������������� ��������������.���������+���������������������@�!������ ���������������������
!���������������!��+�����������+������ ����������!�� ���������������3�*�!���2 ������ ��������
��� ���2� ��� ��������� ���+�� ������ ��� ���������� ���������@� ����� ���� ��� !�������!����� �+�!�
��� ��!�������������������������-��������������� ���������������� ���������������������������
��������� �����!��������!������������������3��
(����@����������.����������������.���!��!�������� �����������!���������3�)�� ����.����+�!�
!��� � �������� ���� ���� ���� ������� ������!�!���� ���� ��������� ������ ����.��� ���� ����
����������3�(�������@� ������.�������.������� ��������!-������.��� ����E�����2�!�����+�!� ���
!�� ���������������@����� ����������������������+���3�)����.������������� ����������������
����������@����������������������������������2�!��������� ������� �!����������!�������������+���@�
!������������������� ����������������+����!�����Y�������!������.����Z������� ����2 �������
���������� ����.��3� ��� � ���T�����!����� ��� �����������!���������������� �������!�!�������
������!����2��@� �������������!������������!�������� ����������������������������� �����.����?�
��������������������+����3�
6����!��!�����!��������!������@���������������������.������������-��������������������� ���
��� ��� ?� ��� ����������� ������������ ��� !��� ��� ����3� 7��� ��� ������� ��� !�� ���.��� ��+�����
��+���� ������������ ��� �� ������ ��� ������� ������+���� ��� ��� ������� ���� ���� �.���� X!��� ���
����[3� *�!�� �+�������� ���� ����.���� ��� ����������� ���� !-����� !�� ������ ����� ����� ���
����������� ���� !�������!�� ������� ��� �!���� ��� ��������3� *� ������@� !��� �2 �����!��� ����
������� !�������� �� �!��� ������������� ��� !�� ���.��3� &���� �������� ��� ���.��� ��� �.��� ����
!��������������������!����� ���������?�!�������������� ������������� �����������������3�(������@�
��� �������� ������������ ������� E���� ��������������� ������ ���� ����������� ��� �������������3�
(����@� ��� �!���� ��� ��������� ���� ��� ���� ����!������ ��� ���������� ����� �.��� ���� ������� ���
�����������+����������������������3�)����!��������+�������!����������+�������.��� ����������
!�� ��� ���� ������������ ���������� ����!���� �!�� ���� ��� ���� ���������-��� ���������3� *��
���.��� ���� � ����Y�� ��!-����!�������������Z� ��� ���� ���������� ��� -����.�������� �������
��!�������������U"����AD���SSNRW3�
7���� ��!-����� ����+��������Y��������-�����!�������������Z�
�
RO�
3.4 Une approche adaptative : un « algorithme bactériologique »
)��� �2 �����!�����!����������� ��� ��!�����131������������ ���� ����������� ��� ��!�����������
�������-������������� ���� ��� ����������� ��������������� !������ ����3�*����� ��!����� ��������
������� �������������.������������� ���������� ����.��� ����!�����3�)���� �������������������
!��������?�������������������������!����������������������������?��������3�4����!��!��@��������
������������������������������������ ���!���!�������������������������������������?�����3�*�!����
����!��������!�������������������� �����!��!��� ������������������������������������������
��������+�+������������3�
�E����������� �������������.���������������������������������� ������!-���������@������
�����������!�� �.��������������������������-��3�7���������-�������������������������������
�������������� ���������?���� ����.��@�?������!-��!-�����������+����� �����3�$�����+����@� ����
��� ���+���� ��!�����@� ����������� ���� ���������� ���� !-������ ������ ����������� ?� ��������
��������������X������������������������!����+�+����[� ����!-�����������������������?��������3�
4�� ���@� ������+���� ��!������������.��� ��� ������+����� �����@��������������������������
����+�����X!��2��������������������������!�������� ��!�������������������[3����������+�����
� ��!-�� ���� ���!� ��������� ��� ���.��� ���������� ����� ���� ���!� ��3� *� ������@� �����
!����� ���� ���/����� ?� ���� ��������� �+�!� ��� -����.��� ����������� � ���� Y���� �������
��!�������������Z�U"����AD���SSNRW3�
3.4.1 Le modèle bactériologique
�� 2�����������������
)������ ��� !��� �������-��� ���� ��� �������� ��� ��������� ��� !��� ��� ����� ����!�!�� ��� ��� �������
������������ ���� ��� ��������� ����!�����3� )���������� ��������� ���� !�� ���� ����� !�������
������� ����������� � ����� ����" ���@� ���� !����� ������� ��2� ������� ���������� ��� ���+����
���.��3� )��������-��� ����� ��� ��������� �������� ��� ��!������� ��� ������� ��� ���� �+��������
!������������������������������������!!����+�������������!������� �����2 ���������������������
���������� ��������3�)�����������������������!����������������.�����!��������������/�����������
��!����������� ��+��������������������������������������3�$��!�����������2�!�������������������
���!� ���2� ���������� ��� ��!������@� ����������� ��������� X��� !������!����[� ��� ����������� ����
��!������� �����������3�
*�����������!������������������������������������ ����� ���!����������-��@��������!�������
��������������������@���� �����������!���������������� ���� ������������!�����+���� ��!������
�������������3���������� �����������2�� ���������?��������� �������������-�����!���������������
��� &�������� �$�����"� ��� ����" ���$ � ��� �$������3� ����� �� ������� ���� �E���� � ��������� ���
���������������������!���������������-�������������X!-������������� ����.�������� ��������
���!�����������@����!-���������������_��������2���������� ���!�������.��[3�6���� ��� ���!�����
���������@�������������������������������������������������!������@����������������������!����������
R�
�
8�������������������������!����������� �������!�� �����
�
!����� ���� ?� ��� !� �!���� ������ ��!������ ?� ���������� ��� �������� ����� ��������3� )�� ���!�����
���������� ���� ��� ��������� ��� ��!������� ���� ��� �E��� ���� ���� ���������-��� ����������
X �������������+����������������-���������������������������������.���[3�)�����!���������������
����������!���������2 �����?� ���������������!��������������������3�
G"$*%�"$� ��#%���%'� -"#�� #$�� 0�*%'���)� ����� �� $�� ��������� ��� ����" ���� ��� B� ��� &��������
�$�����"� ��$ � $�� ��������� ��� ����" ���,� �� ����$ � �$�����"� &-�.� ��$ � $��� ����" ��� �+� �� �
���� ��1��+���������$�"������������' ���$�������2�&-�.�5�B-�∪�.*B-�.,�A�$���������" �����$��
���� �� �������&� �������1����������+���$���������$ ��$�����"������ ����,�
o*�������������� � ����������������
o*��!���������+���������������� ����!-���������+���o�������������������������������+����o"� ����!����o��������
o6���������!���.���������E���+�����������������������������@����������������������^
���!�����!������������
o*�������������� � ����������������
o*��!���������+���������������� ����!-���������+���o�������������������������������+����o"� ����!����o��������
o6���������!���.���������E���+�����������������������������@����������������������^
���!�����!������������
�
G��#���(,�H����-�"*� # �0�*%'��"�"��2#��
)��������-��� �+����� ��� ����.��� ��!���������� ��J!�� ?� !��� ����������� � ��������3�
)��������-��� !��!���� ��� +������ ���������� ��� !-����� ��!������ ?� !-����� ��� �3� )�� ��!������ ����
��������� ��� ���� ��� �������� ��� ����������� ��������� ���� ����!�������� ��� �/������ ?� ����������3�
6���� ���� ��!������� ���� ���� ���� +������ ���������� ������ ����� �� ������� ��� ����������� ����
��!������� �����������3�)��������-�������!���������������������!������� ��������� ����!��������
����E�������.��� ���� ���� ���������-��� ���������@� ��� � ������ ��� �������� ������������ ����
!-����� ��!������ ����!�������3� )�� ��!������ �������� ���� ��!���� ,������ �� ��� ��� ��2��� ���
���������-��������������������������!��������+����3�
�� �����'���������������.���
6����������!�� ����������2���������������-�����!������������@������ �������2�����!��������
���!����� select 3� )��� ���������� ���� ���!������Utilité � ���Mute � �� ���� ��� ��� ��!������
����!���.��� ��� ���������-��� ���������3� &������ !��� ���!������ ����� ��!������ ���.+������ �+����
���������-�����!������������3�
// La fonction select prend un ensemble de bactérie s et une séquence de réels en entrée. La séquence de réels doit être de la mêm e taille que l’ensemble de bactéries. La fonction rend un individu tiré au has ard dans le bouillon, une bactérie i ayant une probabilité proba[i] d’être ti rée. select(Ens[Bactérie] bouillon, Ens[Réel] proba) : B actérie //La fonction Utilité rend la valeur d’utilité d’un bouillon bactériologique Utilité (Ens[Bactérie] bouillon) : Réel //La fonction Mute rend la bactérie bact mutée Mute (Bactérie bact) : Bactérie
7���� ��!-����� ����+��������Y��������-�����!�������������Z�
�
RN�
//l’algorithme bactériologique utilise une variable globale pour sauvegarder les bactéries au cours de l’exécution Ens[Bactérie] solution ← ∅ ; //l’algorithme bactériologique prend en entrée : un bouillon initial, un objectif, un taux de mutation, un seuil de mémorisa tion et nombre de bactéries à générer à chaque génération Algo_bactériologique (Ens[Bactérie] bouillon, Réel obj, Réel tx_mutation, Réel seuil_mémo, Entier nb_bact) début tantque ( ! Utilité(solution) > obj) faire
solution ← solution ∪ select_meilleure(bouillon) ; bouillon ← bouillon \ {b | Utilité_relative(b) <= 0} ; bouillon ← bouillon ∪ générer(nb_bact, bouillon) ; fait fin select_meilleure (Ens[Bactérie] bouillon, Réel seui l_mémo, Réel obj): Bactérie local Bactérie mb, b ; début
mb ← b ∈ bouillon | Utilité_relative(b) = max x ∈ bouillon (Utilité_relative(x)) si (Utilité(solution ∪ mb) / obj) > seuil_mémo alors Result ← mb sinon Result ← ∅ fin générer(Entier nb_bact, Ens[Bactérie] bouillon) : E ns[Bactérie] local Réel u_cumulée ; Ens[Réel] proba ; début
u_cumulée ← �=
��������$�����
�
���$����� �������������"3
0W[UXP ;
∀i ∈ [O..bouillon.taille-1], proba[i] ← pop[i]*(Utilité(pop[i])/u_cumulée) pour i de 0 à nb_bact-1 faire
bouillon ← bouillon ∪ Mute(select(bouillon, proba)) ; fait Result ← bouillon ; fin //La fonction Utilité_relative rand la valeur d’uti lité d’une bactérie relative à l’ensemble de bactéries solution Utilité_relative (Bactérie bact) : Réel début Result ← Utilité(solution ∪ bact) – Utilité(solution) fin
� 2�����)������������������������������������
)��,������O��������������!-���!��������������������.�������� ���������!������������3�*�����
� ��!-�� ���� ��� ���+���� ���.��� ���� ��� ����������� ��� !��� ��� ����@� ��� !������
�$*&("�>)>8�=7(�-���������!����&(#&>6&���#(7"3�7�����!��������������������!��������
!��� ��� ����� X*$#&(#&� �� ������ ���������!�� �$*&("�([@� ��� ���� ���2� !������� ���� � �!���������
*$#&(#&��� ���������������� ������!�������������2���+���2�����������������.��3�)���!�����������
�0�
�
8�������������������������!����������� �������!�� �����
�
����������.�����!�����������������������E����������������!��������������3�)�� �����������
������������� ���������������������!���������������-�����!������������3�6��������������!���������
��!����������� ����E������� !����������.���@� ��� �����������������������!-����� ������� ����
X�7&$&�>�7��&$�"(�����7&$&�>�#9#&(�([3��
&���> ��������
������������$
B�*%'��"�"��2#�
�� ��"���8$������
�'!"���
bb�������!�cc
C���" ��
�#%�%�"$ $�%���� �#%�%�"$�6 %:!�
��������> ������
M
M �
M
dM
M
�� �� % $�%����
�#%�%�"$ $�%����
��������> ������
�
M
��������
�#%�$%
������������$
B�*%'��"�"��2#�
�'!"���
�#%�$%d
'������������
$��+��������
dM
M
M
M
�� �� %
�� �� %�6 %:!�
�� ��"���8$������
bb�������!�cc
C���" ��
�#%�%�"$�6 %:!�
d
�G��#���(4�H��*/�%�*%#����'$'��2#��������--�"*/��0�*%'��"�"��2#��-"#���?"-%�!� �%�"$����
*� ����%� %�
6��� ��������@� ������� ���������-��� ��!������������� ��� ���� ���� ���� ���� ��!������� ����
!����� ������� ?������������ ���� ������.��@� ����������������+���������� ���� ����� ������������
�� ����!����� ��� !���������� ���� ��� ���3� )��������� ��� ��� �������� ��� !���������� ���� ����
��������!�� ��/����� �+�!� ��� ���.��� ���������3� *�!�� !����� ���� ?� ���� �+�������� ���� �����
�����������!����������� ����������� ������������� ���������-������������@� �������!���� ��������
�������� �������!�!�� �������!��+�����!��+������������������ �������X!�3���!�����13131[3�
*������ ��!-�@�!�������� ��!������@���!�����������&���������$�����"� ��������!������������
����������� ��!������� ���� ���������������3� 6���������� ��!������ �������������� ��� ��� !��� ���
����@�����!����������������������������!�����+���������������� ��������.��3��
(����@����2����������������!���� ���������� ����� ����������.��� ��!����������� ��������
�������(�>�"(@� ��� ���2� ����!�������� +���� ��� !�������7&$�&� ��� ����� �����3� )��������-���
��!�������������������������������������!�������@�?�����������������@������������������!�������
������������!��������������������� ��!�������3�4������� ���@����������-�������������!��!������
��� �!���� ��� ��������� ���� !��� ��� ����� �+�!� ����� ������������ ?� !-����� ����������@� ��� !������
8(�(&�=7(����+�������!������������!�������+�������!�������7&$�&��� ���������������������
�������������������� �������!�� ���������������3�4�������!���������������-�����!������������@�
!�����������!���������������+������������!�����������2�!�����3�>������������������������������
7���� ��!-����� ����+��������Y��������-�����!�������������Z�
�
�M�
�������������� ���������!����������+��������@����������������������� �����!������������� �������
��!�����3� ��� �� �� ���!� ���2� ����!�������� ��� ��� !������ �$*&("�>)>8�=7(� +���� ��� !������
�7&$�&@��� �������������������������������������������+�+����3�
3.4.2 De nouveaux résultats
50
60
70
80
90
100
0 1 2 3
# générations
scor
e de
mut
atio
n (%
)
p_time
p_date_time
p_date
�G��#���(;�H��' #�%�% �����?���"��%/!��0�*%'��"�"��2#��-"#���?�!'��"��%�"$��#%"!�%�2#��
���*� ����%� %�#$�%���� �
)���,����������,������N������������+������������!���������������� ��������!�����������
��������������������!�������AD��8�@�6P4$&(����6P4$&(P&��(@����������� ��������!��������������
������� *`3� )�� �!���� ��� ��������� ��� !��� ���������� ��� !��� ��� ����� �� ���� ���������
���������������� ��J!�� ?� ��� �������-��� ��!������������3� 6���� !��� �2 �������������@� ���2�
����.���������]�E���� ��2����� ������������2����������!����������+��������� �������� �������
�����������������?��������@���� ������������������!�����3�6�������������������������������!�������
������ ����� ����� ����� ���� !��� X������1� ��� M0� ��!������[@� ����� �+���� ��!���� ��� ��� ���+��������
������� ������ ��!������ ?� ��� ���� ������ ����������3� )�� ������� ������ ��!������ !����� ���� ?� ����
����.����������������������!���������� �����!������������������X!�3����������������+�����[3�7���
���!����������� ��� �������������� !����� ������������ ���!������ ����������� ����������� ���������
��!�����M3M3�
50
55
60
65
70
75
80
85
90
95
100
0 5 10 15 20 25 30# générations
scor
e de
mut
atio
n(%
)
�
��
�
8�������������������������!����������� �������!�� �����
�
G��#���(5�H��' #�%�% �����?���"��%/!��0�*%'��"�"��2#��-"#���?�!'��"��%�"$��#%"!�%�2#�����*� ����%� %� 6 %:!� �
���������#$�*� ���� %� %�#$�%����)� �����C5<�+�=�$�� ������� ����� $����� ����$ � ��#$����� ���� $��
���������������������"�!������$ ������������������������������$������,�����������$����������
����������������� ��������������������,�
���������#$�*� ����%� %� 6 %:!�)������C5<��+9+�E=�$����������������$ �$���� ��$ �����������
E������ $��������$���������-E��@$�������� � ���%���/�#$�.,���� ��������� ��E������$�������
�����������������" ������"���"���� ���������������,�
3.4.3 Discussion et validation du modèle bactériolo gique
*����� ��!����� �������� ���� ������ ��� ��������!�� ��� ���������-��� ��!������������� ���
�� ���� ?� ���������-��� ���������� ���� ��� ����������� ��� ����3� ����� ���!������ �������� ����
����������� ����.�������� ��+����� ���T�����������������!����������-��3��
�� 2������/��������
)��������-��� ��!������������� !��+����� ���� �� �������� ���� ��� ��!�����3� )�� &������� 1�
����������� ��������!����������2�� ��!-��� ������� �������*`3�*���������������������������
��� ������������ ��!�������� ���� ���������� ��� �!���� ��� ��������� ������ ����� ��� ���2�.���
!������3�)��������-�����!�������������!��+���������!�� � ������ ���������������������������
10� ������������ ��� ����� ��� 003� *� ������@� !����� ���� !��!���� ����!����� ��� !����� ������
����������� ��� ����� ��� �����E��� ����� ���� ���2� � ��!-��@� ��� �����.��� !������� ��� ��������
����������!-�������!�� ���������� ������������� �������������������2�!����� ��������������
����!������������������2����3�*���!-�������!����� �������?���������������������������������
����������������������������!�� ��2�������!-������ ��!-�3�(�����������2�!������������������
�+�!����!�������������������J!-����� ����!�]������������������2�!��3�
��0���#�.�H��"!-���� "$��� �-��&"�!�$*� ��� ����"��%/!� �
$������-��� `������������� �!����Xi[� `����������2�!�����
8��������� 00� R� �0000�
��!������������� 10� N�� ��1OR�
*��� ���+������ �2 �����!��� ���� ������ ��������� ���������� ������������3� &���� �������@� ���
������������������������������!��������+��������!���2���������+������������!���������������@�
�������� ���������-��� ��!������������� ���� �� ���� ���� ��� ��!�����3� (������@� ��� ��!-��
��!������������� ���� ���� ��!���� ?� ���������� ��J!�� ?� ��� �� �������� ��� ��������� ����.�����
X���������������+����@�������2����!���������� �����!�������+����[3�*�!�������!������ ��!-�� ����
��!���� ?� ����������� ���� ��� ����������� ������������ ��� !��� ��� ����3� )��������-��� ���� ������
��+�������!����I������ ����������+��������������������-����������������������3�
7���� ��!-����� ����+��������Y��������-�����!�������������Z�
�
�1�
�� 2�������������������.���
4��2� ��!��+�������� � ���������� ��� ������� ��� ���������-��� ���������� ?� ��� ��!-��
��!������������3�6����.������@� ��� �������� ����������������������� ��� ����� ���� ������!�������
������ ���+����� ����������� ����� ��������� ?� ������ ���� ����������� ��!������� ����������3� (��
�����@�!���������������������� ��+������E���� ������������������������!�����������������!�!��3�
6�������������!����� ������������������� ����������@��������������!��������?����������-����������
��!���������+�������� �������������������+����� � ���������������!�������������� �������� �3�
(������@� ����������� ������ ��� !��� ��� ����� ���� ��� ��� E���� �������� ��� � ��������
���������-��� ��!������������3� 6��� �2�� ��@� ����� !��� ��� ����� ���� ���� �������� ����� ��� !��� ���
������� *`� ��� ����� ��� ������� �+�!� ���������-��� ���������3� >�@� ��� ���� �� ������� ���+���� ���
������������ !������ ����� ��� ������� ������������ ���� ��� ����� ������;����������@� ���� �������� ���
���������!���������.��3�
4��2���!-������� �������������������������!�� ����.�����������������������������!������
����� �������� ?� ��� ���� ��� ���������-��� ��� ���+�������������� ��� ��!������3� ��� ���� �������� ���
���+�������������������!�������������������������E����!���������������������3�6����!���@� ���
�������2��������������;���?��������������!���������������+��������@�!���������!�����������-���?�
�������� ����������+������������������+�������������������3�)���������������������������!�����
�!�����������������������������+�!������������!������3�4����2 �����!����+�!�������������������
����������+���������������������������������!�����M3M3��
)�� ����.���������������������������������������!����������@�!��������?�����+����������;
��������� ��� !��� ��� ����� ��������� ��� ��+���� ��� ����!����� ��������� ����+������ ?� !����� ���
����������� �������3� 4���� ��� !��� ����!������ ��� ���������� ��� ��������@� !�� ����.��� ���� ���
�������� ?� ��� ������������� ��� ��������!�� !��+������� ������������ ��� ���� !��� ��� ����3� *�����
�����!�� ���������� ��� !��!������ ���� ����������� !�� �.���� ��� ������� ���� ��!������� ���� ����� ����
�������3�6����C���!�������������������@����������������������&�����������������������X�aM[dC�
������������
W@MUW@@MU F)�� ∈∀∈∀ @�&X���@��/[�f�� M���������!���������������������/�
� � � � � 0��������
��
�)�)
8C�8��M
[@X[@MX=
=+ @� !����;?;����� ����&X�aM� @��/[� +���� M� ��� �����������/� ���� ���� ��� ����
��!�����3� *����� �����.��� ������ !����� ���� ���!� ?� ��� ���������� �������� ��� ����������� ��� ��
��!������3�)��,������10�����������2�� �����������!���������3�)��������������������������!��
������������������������������!���������������������!�������� �������������������������3�
���
�
8�������������������������!����������� �������!�� �����
�
�M � �1 �C;M �C�M M M 0 0 0� 0 0 M 0 0�1 0 0 M M 0
��;M M 0 M 0 0�� 0 0 0 M 0
M M M M 0 �
G��#���.<�H��>�!-������%�0���-"#�����*��*#��������$ �!0���!�$�!������%� % �
)������+���2������������������������������� ��������������������-������������������+������
��������!�����!�������!������������!��������������!���������������!�����13131����������������
-������������ ������������������� ����.��3�)�� ��!���������!���-�������������������!��������
?� �������� ��� ���+���� ���.��� � �������'��� ����" ������#$�3� *��� �������-��� � ���T�� ����
��� ��� ��� ������� ���� ���������-��� ���������3� )�� ��!����� ���+����� ��������� ���� �2 �����!���
!��������� ���� ��� ������� *`� ���� ��� ����������� ��� ����.���� ���!� ��� ��� ���.���
��!������������@�?���+����������������������!�����3�4���������!������� �@���� ����������������
�2 ����������� ����� ������ �2-�����+�� ���� �������@� ����� �+���� !-��!-�� ����� �2������� ���
�������-��� �������������� ���� ����!�!�� ������ ���������-��� ���������� ����� ������������� ���
���������-�����!����������������������������������!���������������������!�������������������
����������3�
3.5 Paramétrage des modèles
3.5.1 Paramétrage du modèle bactériologique
)�������� ����.���� ������ ����� ��2��� ���� ���������-��� ��!������������� ���� ��� ������� ����
��!������3� 4���� ��� !��� ��� ����� ��������@� !����� ������� ���� �������� ��� ��� ������� ��� ���� ���
���-���� ��!���� ����� ��� !��� ��� ����� X!�3� ��!����� 13�3[3� 6���� ��� ����� ����.��@� ��� ������� ������
��!�������� ����������������������������������� ������� ������������������3�4�������!������
�������*`@���������������������� �����������������_��������������������2�����!���������������
!������ ����3�*���������������������������������������!������ ����������� �������?������ ����!����
���������������������������������������?���������@�������������������!����������������\�)3�
)��,������1M@����������!�������������������������������� ��/�!����� �����X������+���2���������
�2 �����������+��������������!���������������[� ����������������������������������������!�����@����
�!�������������������������������������������3������������!�����!����������������E���������@�
�E��� ��� �� ������ ���� �2 �������������� X���B� ��� ������ �������� ��� ����� ���� ��� ������[3� )���
!��!��������������������+��������
• ��� ��� ��!������ ���� ��� � ������ XbR[@� ���������-��� ��� ���� ��� ���������� ��� �!���� ���
���������������������3�*�!�����2 ������ ��������������������!�������������!����������@����
����������!������������������ � ����@������� ���� ����2�!���������!�������!�� ��2�@����
���+.������!� ��!� �����������������!��������� ����������!���3�)�� ����������R����������
6������������������.����
�
�R�
��������!��������������+����!�� ������ �������R�� ����������-����� ����!��+���������
���!���������������� �������R��_���������2��������������!���������������.��3�
• ������R����MR����+����������!��+�����!����������3�
• ��������������������������!�������� �����MR@����+����������!��+�����!��������������3�
`���������������������������!�����
�!����������������Xi[
`���������������������������!�����
�!����������������Xi[
*-�����+����
&�����!�� �������+������������!���������������
`������������
���������������!�����
�!���������������Xi[
�
G��#���.��H�����!'%�����������%������������0�*%'����
��!����������
�������
���������������������
`������������
��!����������
�������
���������������������
`������������
������!-����
`������������
�������� ����
���������
��!����������
�������
������!-����
`������������
�������� ����
���������
��!����������
�������
�
G��#���.(�H�����!'%������#� �#������!'!"�� �%�"$�-"#�����$"!0������0�*%'��� �!'!"�� '� ��
�
������+��������������!����������������������������@� ������������������� �����2�!�����@�
�+������������������������������������������!�������������� ����������������������������� �������
�������3�6���������2 �����!���������!������1313����13�3����@�������+����!-�����MR�!������������
��������!������ ��������!���������������.��3��
���
�
8�������������������������!����������� �������!�� �����
�
3.5.2 Recherche d’un algorithme intermédiaire
`���������������������������������
�!����������������Xi[
`���������������������������������
�!����������������Xi[
������!-����������!-����&�����!�� �������+������������!���������������
`������������
���������������������
�!���������������Xi[
�
G��#���..�H�����!'%������#� �#������!'!"�� �%�"$�-"#����� *"������!#%�%�"$�
*����� ��!����� ������� ���� � ��!-�� �������������� ������ ���� �������-���� ���������� ���
��!������������3� )�� ���� ���� �2 �����!��� ���������� �!�@� ���� ��� ����������� ���2�����!�� �����
� ������ ��!��� ��������� ���� ���� ���2� ���������� �2 ������� /�����?� ������3� *����� � ��!-��
��2��������� ������������J!��?������2 �����!����� ������������� �������*`3��
)����������!�����������������������������-�������������������������-�����!�������������������
?� �������������������������3�4���� ���!������ ���������-������������@���!���!������ �����������
���������V� ?� ����+����� ��� ���������-��� ��!������������� ���� ������� ���� ��!������ ����
����������������� ���������� ��� ����� � ����� ��� �������������3� (����� !��� ���2� ����������
� �����@��������2��������������������� �������+������������������������!���������+�������3�
)���������� ��!-��������������������������
Soit B une bactérie si val_utilité(B)> val_seuil alors sauvegarde B
)���� ��������������-����� ����������+����������������
si val_seuil = 100 alors “pur ” génétique si val_seuil = 0 alors “pur” bactériologique si 0 < val_seuil < 100 alors approche mixte
4��2� !���.���� ����� ���� ��� !�� ��� ���� ����������� ������������� +������ ���� ��� ������ ���
��������������
• ������������� ��� ������� ��� ��!������� ���+��������� ?� ��� ���� ��� ��!�����@� ����
���������� ��� ��� �� ���2�!������ ��� ��� �����!����� ������� ��������� ���� !��� ��� ����3�)��
,������ 1� ������� ���� �!�� ��� ��� +������ ��� ������ ���� ��� ������� ��� ��!�������
����������3�
• �������������������������������������� ������������������!����������������� �����3�
)��,������11� ������������ �!��������+����������������������+����������!��+�����!�3�
6������������������.����
�
�O�
50
55
60
65
70
75
80
85
90
95
100
0 5 10 15 20 25 30# générations
scor
e de
mut
atio
n(%
)
�
G��#���.1�H��7"�#%�"$��#� *"������!#%�%�"$��7�*�#$���--�"*/��!�>%��
)��,������1���������������������������!����������+�����������!��T��������.��������+�!�
���������������������+������������������������������@����,������11����������������+����������
!��+�����!�� ��������� �������� ��� ������ �� ����� 10i3�7�� !�� ������ ���� E���� ����+�� ����
����������!������2�+���������������������������������������0����10i3�4����!��!��@����+����������
!��+�����!�� ���� �������������� X������� ��� 10� ������������ ���� ���������� ��� �!���� � �����[� ���
����������������������!�������!��������O���!������3�)��,������1�������������������������������
��������+������������������Ri3�
(��!��!������@���� ��!-����2��� ��������������������������������������������������!������
��������M0�?�O3�6���!�����@�����!�������������������NRi������������������� �.��R����������������
����� ��� 0� ����� ��� !��� ��� ���������-��� ��!������������� X!�3� ,������ N[3� )�� ����� ��� !�����
� ��!-����2������������������!� ����������!����� ����� ����?������������� �����������������
��!������3� (�� �����@� ��� ����������� �2 �������������� ����� ��!��������� ���� ����+��� ��� ����
!�� ������ �������+������������������������������3�$�����+����@���� ��!-����!�������������
������� ������!����?��������������������������3�
��
�
8�������������������������!����������� �������!�� �����
�
3.6 Conclusion )�����!�!��������!����������� ��������!������������������������!�� ����������������������
������������������!�� �����3�)�����-�������!��!� ����@� �� ��������!-� ����� ��!�����@�
��+���� ���+������ ������!�!���� ���� !��� ��� ����� ���� ��� !�� ������ ��J!�� ?� ���������� ���
��������3��������2 �����!�����������������!������������������� ����������������������������
�!����������������������R0����O0i@�������������������!���!���� ������ ������N0i�������.��
!�]���2������� ��������������3�4����!��!-� ����@�������+�������!�������� ���������������
�������������������������������������!����������3��
)��!�� ��2�������!�� ����.������ ��������������������������������������?�������������
�������-��� ���������� ���� ��� ��������3� *� ������@� ���� ��� ������������� ��� ����.��@�
������+�����]���� ����!���������� �!������ ���������-���X���2������������@��������������
��� �.��[� ��� ����.��� ���������� ������ ���� ���������-��� ������������ ����� �������-���
���������� !��������3�(������@� ���� ���������� �2 ���������2���������!�+����@� ���������� ?�
!��������!���������!�����������������?����������-���X ������������������@���!-��!-�������
����+����������@�!���������[@�������+���� �� ��������������������-��3�
*����������-�����������@���� ������� -����.�������� ���������!������������@����� ����
�������-��� ��!������������@� ������ ��� ��������� ���� ����.���� ���!������� �+�!�
���������-������������������������ ��������������!����������3�)���� ������� �����������!���
�������-��@�����������!-��!-����������������������������� ���I����������������������������
��� �� �������� ��� ��� �������� ��� !���������� ���� ��� ������� ���� ��� ��������� !�����
� �������� ���� ��� ����������� ��� ���+������ ������������3� 4�� ����� ��� ��� ����������� ���
������� ��� ����.����@� !��� �������-��� ���� ���� ��!���� ?� ����������� ��� ?� �����������3� 6����
��� ����������������������������!����������@������ ����������������������!����������������
����� ��������� �������� �� �������@� ��� ��������� ��� ������� ������������ ��� !��� ��� �����
�� �����������3�
4�� ���+���2� ���+��2� ����� ��� !����� ���� ��� +���������� ��� !��� �������-��� ���� ���
���+����������������!�������+�!�������������!����������������X�,�,@�!��+����������!���[3�*���
������� ��+������� ��������� ������ ��� ������������ ��� ��!������ ��� �����������
��!������������@����������������������������� ����.�����������.��3�
�
�
��
������������������������������
��������������������������������
�����������������������������
)��!��!� ����� ���!������� ����������������� ��!�����������������������������+���������
����������� !�� ������� ����� ��� ����.��� ����!���3� *����� ��!-������ ������ ����������
������������ ��� � �!���!������ ��� !-����� � �������� ����� ��� ��������� ��� ��� +�������� ���
!�-����!�� ��� ������� �������� ��� ����.��� ��� !����� ��� ���2�!�����3�4�� �������2� ���+��2�
��!��������������� �����!��������������� ��!-�� �������!��!� ������������.�����������@�
��� ���� ��� ����!����� ���������� U"��������SSNRV� *�������;*��������SSN�V� Q���SSNNV� ,������SS0MV�
������SS0W@������ ���������������� ��� �������������������!�������� ������� �������������
����������������3�
4�������!������������+��2� ��������������!������-.��@������������������!����������������
!����������������������!��� ���������������������� �!����������������������������������������3�
&���� �������@� ����� ���������� ��� !� �!���� ���� !�������� ?� ����!���� ���� �������� ����� ���
!�� ������ ?� ���+���� ���� ������� ��� ����������3� ����� �� ������ ������ ��� ���.��� ����
��������!�� ��������������@���������!������������������������!�� ������@�����!��������
���������� ����� ��� !�� ������ ��+���� ����!���� ���� �������� ��������� ����� ��� ������
!�� ������������������������+�!��3�(������@������������������� �!������!�������� �������
���������!@��,�,@������������������������!������������������������� �����!�����!�������3�6����
!���@������ �� ������������.������������������������������������� �����!�����!�������3�
)������+��2� ��������������!��!-� �����!��!��������������.�������+��������������������
��� ������������������������������!����3�7���������� �������������+��2� ����������!������
���!� ������� ?� �������������� ��!���� ��� ���� ������G� ������ ������3� 6���� !���@� �����
�� ������ ���� ���-��������� ���������� ���� �������������� ������ ������@� ���� �����
������������ ���� �������� ��� ����������� ��� ��������������� ����� !�� !����3� )�� ��!-��
O0�
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
!������������������������?�������������������������� ����!� ����?���������������������������@�
����?���������������.���������!��������!������������3�(����@������2 �����!��� ����������
��� ���������� !��� ���������� ��� �������+��� �������� ��� !�� ��������� ��� ��� ������� ����
������������+�����������������������������3�
4.1 Conception par contrat et élaboration d’une mes ure
G�����������������
�"��*����-�"*'�#����U*�� �2#�V
G�����������������
�"��*����-�"*'�#����U*�� �2#�V
G�����������������
&����������������2!� ����
X���������!�����
���� ���������[
�"��*����*"$W#�-���*"$%��%
G�����������������
&����������������2!� ����
X���������!�����
���� ���������[
�"��*����*"$W#�-���*"$%��%
7����������2�!�����
,���������������
,�������������������.����������� �.��!�� ����
4��������!��?����������
7��!������
(2!� ����������+��� ������!�������
�
G��#���.3�H��� �*"$%��% �-"#���������$" �0���%'�
4.1.1 Les contrats pour la robustesse et la diagnos abilité
�����+����������������������������� ����������!��!� ����� ���!���������������������
������������!�������������������������������!����������2�����.������
− ���������� �2!� ����� ���� �����+��� ���������� !������� ���� +����@� !��2;!�� ���
!�� ������� !����� ���� ����������� !������������ ��� ����� ������� ��� !����� ���
���2�!������ ���� E���� ����!��� ���������������@� ��� ��� ���������!�� ���� ��� �������
�������� ���� E���� �+����3� 4�� ����.��� �������+�@� ��� � ���T�� ���� ���� !��������
����!� ���� ?� ��� ����������� ��� ����!���3� )�� ��������� ���� ������ ��� ��+���� �����
�������� �� �������� ���� !�������� ����!� ���� ?� ��� ����������� ��� ���!����� ��� �����
Y����!��Z�������������������
− ����������!�����������+����@� ��� ��������������������������!�����B������������������
���� ����!��3� #�� ��!��� !������� ������ ������� ����� ��� ����!���@� ��� ���������!�� ����
����!���� ���� ����@� ��� ��� �� ���� /�����?� ��� ��������������.��3�6������� ��� A����
���� ��� ���������!� X��� ������� ��������!������ ����� ����������� ��� ����� !-��!-���
��������[� ���� �������� ��� �����!�� ��� !�������@� ��� � ���T�� ���� ���� !��������
��� �������� ��� �J!-��������������!3�)����������� ���� ��������� ��+�����������������
*��!� ����� ���!�����������������������������������
�
OM�
�� �������� ����!�������� ����!� ���� ?� ����������������� ���������������������!� ���
���!�������������Y����!��Z�������������������
*������������������,������1R@��������.���!��H�� ���!����������+����� �������������
����!����� ��!�!��������������X ������������������ �� ����+���������������������!���[3�*�!��
���������?������!��������������������������������������A���� ����������������!3�*�����������
���� !�������� ������������@� !����� ���� ����� ����!�!���� ��� �� ���� ��� ������ �+���������
�� �������������������������������2�!�������������!���3��E���������������������������!�����?�
��!�����������������+������������� ����@�����!�����������������������!-��!����������!����
�����������?� ��2�����������������!������������3�
4.1.2 Elaboration d’une mesure
)�� ������������ �������� ���� ���� �����!������ ���������� ���� ������� +������ U,�����SS�V�
#-� ���SSN1V� '��!-��-��SSNRV� ������SSN�W3� 6������� ���� �������� ���� ����� ��������� �!��
� ���������� !����� ����A� ����������� X��� ����� �B� ��� ���� �� ��� ����������� ����������
��������� ���� ��� ���������[@� ����� �� ������ ���� �2������������� ��� !��� ��������
U#-� ���SSN1W3� �)��,������1�������������� ��!������ ������������������������������3�&����
�������@� ��� ��!����� ���� +�� E����������� ���� ��!���� �������.��� ����������@� ��� ���� ����������
����������� ���� ���������!���� ����� ����������3� 6���� ���� �� ������� �������+��� ���� ���
!�� ��������������!��������+����E�����2 �������������!�������������������!-��������!�����
!������������ �����������2�����3�7���2������������� �� ��������������������������������
� ���T���� ����� ��� ���.��� ���-��������3� *����� !�� ���� ����� ��� ����� ������ ��� ��!-��
�������+�������� ��!-�������������!��������?����+�����������-�������3�7�����.�������������
��� ������� ���� ������ E���� �� ���3� *�� ���.��� !�� �.��� ���� �2�����3� )�� �I��� ���
���2����������������������������������������!�����!������ ���� ���+������������ ���������
�������� ��� ����� ������ ��� ������ ��� ������� �������+�� ?� �������������� ��� ��� ������3� 7��
�� �!����!������������������������!��������?����������������������!-�� ����������!�������
��� ����.��� ��� �������3� 8�J!�� ?� ���2 ��!�������� ���� �� ������� �������+��� ��� ?� �����
!����� �����!�� ����� ��� ���.��� ���-��������@� ���� �������� ��� ��� ������� � ����������
!���������3�
6������������2���������������������������������� �� �����������������������������@�����
����������������������.���� ��+����E����!�� ����@��������!���!���������������������������
!��������������+����+�������3�)����2������!����������� ����������� ���+��������� �-��������
���� ����� �+���� !�������� ���� +�������� ������������� ��� ��� ������� �� ����� �+�!� ���
����!��������3�)��+����������-�������� ��!.������+����������� ������� ���������������������
!�]������������ ������������� ��������������������!�-����!����������������.��3�
O�
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
Domaine mathématique/formel
Domaine empirique/réel
Logiciel
Facteur à mesurer
Attributs mesurables
Propriétés intuitives
A un ou plusieurs
Dép
end
du
A certaines
Dép
ende
nt d
e
Modèle formel
utilise capture
Facteur mesuré
Propriétés formelles pour la mesure
utilise
De vraie nt vé rifie r les
Doit être cohérent avec
�
G��#���.,�H����0"��%�"$���#$��!� #���
4.2 Mesure de la robustesse ����� ���������� �!�@�������.������� ���� ��� ����������������!�� ������ ����!������� ����
!�������3� 7��� ������� ��� ������!�!���� ���� !�������� ���� �� ����� ��� ��������������� ��� ���
�������������J!����2�!�������������2 ������3�
4.2.1 Définitions
$+���� ��� �������� ��� ������� ��� ����������@� ����� ��+������ ���� ���� �������� ��� �����@�
�������������������!��������������������� �����������3�*�������������+��������?������!�����
3M3M@� ���� &�$��� �������� ��� !����� ������ ������@� ���� � �$ � ���� ��� ������ ��� ������� �����
����.������� ���������T�����������������!�@���������"&�����������������+�����������+������
��������������+�!������+�����+���������!!�� �������������������!������������.��3�4�������
!����2��� ����!����������������� ����������!�@�������������������������!��������������������
��������!������ X��� �E��� �������!�� ��������!����[� ���� ���� �����T���� ���� ������3� 7���
������� ���� ������� ����� ��/��� X����������� ���� +������� ���� ���������� ��� ����/��[� ����� ���
����.������� ������!���!-����������������!�3�6����2�� ��@������+��������+���������������
������!�������$�'$**>7�&��������,������1O3�)�������!�����balance = balance –
sum ��� ��� ���-���� deposit @� ��+����� E���� balance = balance + sum 3� *�����
������!����� !����� ���� ?� ���� ������ ��� ����� ���� �2�!����@� �����������balance � ��� ��� !������
�$�'$**>7�&����+��������!�����������+�����+�����3�)�������������/���� �.�����2�!������
���!��������-������������������3�*������������ ��������!��+�����������T�����������������!��
����������+���������balance ������� ���!�-��������+�!����+���������������� �!������ ������
���!��������3�
������������������������
�
O1�
class BankAccount{float balance;public deposit (float sum){balance=balance-sum;}…
}
context BankAccount::depositpre self.amount>0post self.balance = self.balance@pre + amount
�
G��#���.4�H��>�!-���-"#��#$��&�#%�D�#$������#���%�#$���'&�����$*��
������������������ ��������������������������������@���������������������.����������+�@�
���������H��� ���� ��!�������������������������������+���2���������������� ��������������
����������������������!����2��� ����!������������!��!� ����� ���!������3��
�"0# %� �� A�'&�$�%�"$� �$&"�!����E��� �� ��$������� �$�� ���������� ��� ���� �"&�����
����������������"�����������������1�&��������� ��(�������������������������� �����,�
�������������"��� �����"���� ������"&���������������� ��!�#$��,��� ��$���������$���$����
(� ���$�������� ���� ��������"�#$$���� �$ �������"����"����� � ���"���� �$���"��������
��/�����������!����#$$����"&������������� ��$����� ���������������,��
����� !����������� ���� ����������� ���!� ��� ���� ��� ����������� ���� ��� ������� �����
����!����?�����!������������������������3�
�"0# %� �� � "�'��A�"0� "�'�A��EE�� ��� ��$������� ����"���������"�-��.� �$�� ����������
��������$���%��'����������"&��������������� ��������"�#$$���� �$ �������"����"���� ����
���!����#$��������� �$ ��$ ����� ���#$"�$����"&��������,� ���� ������+� ���H�&���������I�
�$����������������"�����1����� ��������"�#$���� �$ ��������������"����"�,�
*����� ����������� ���������� ��� ������� ��� �$ � ���� ��3� 7��� ������� �������� ����� ���
!�� ������*�@�!����� ����?�����+���������������������� ����������������������!�� ������
*�3�������������������������2�!�������������2������������ �����������!��������������3�7���
��������������!�!����������!���������!����������!�����������+�����?�!��������!�����������3�
6��� �2�� ��@� ��� ������ ��� ��� ,������ 1O� �����T��� ���� ������� �������� ����� ��� !������
�$�'$**>7�&� ���� ���� ����!���� ��� ��� ���!��������� ��� ��� ���-���� deposit 3� 4��
�������2� !�� ������� ��� ��+���� ��� E���� �2�!����� ����!������� X!������� ����������� ���
����������@� �����D��C�[3� ���������@� ���� !�������� ��+���� E���� �������� ���� !���
!�� ������@� �����������������������!���������������������������������������!��������������
!�����3�
O��
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
�"0# %� ����"0����A�"0E������ ��$�����������������-�.���$���%��'�����������"��$��
��������� ��� ����������� ���� �������"�� ���� ��� � ��������"� #$$��� � �$ � ���� ��� �����
�"����"���� �$�������������������,�
$������������@�����������������������!����� ����?���� �����������������!�����������!���
��������������������������� �����������+�����������3�7�����������������!�� ��������������
��� ��� ����.��� ���� E���� ����!���� ����� ��� ��� !�� ������ ���;�E��� ����� ��� ��� ��� !���
!��������������� �!��������������!��!�� �����3����� ���T����������������������������������
��� ���� ��� E������������ ����!������� ��� ��� ����������� ��!���3�������-� ��-.��� ���� ������
�2����� ���� ��������� ������ ��� ����������� ��!���� ��� ��� ����������� �������� ����� ���� ����
��������������� ��������������������!-���!������������!��������� ���������������+���������
���������������������3�(�������� ��������������������������!�������7�)� ������!�����
����!-���!��������������!���@�������� �������������������� �������������� ��+����E�����2�������
�������!-���!����3�*������������� �������������!��!�����������������������������������������
����������� ��!���3� ����� �+���� ����������� ������� ��� �������� ��� ����������� ��!���� �����
!�� ��������������������������.��3�
�"0# %� �� �"*���� A�"0�"*E��� ��� ��$������� ������� �����-��+�.� �$�� ���������� ���
�����$���%��'����������"&��������������� ��������"�#$$���� �$ �������"����"���� �����$�
$�� �$� �� ���������� ����� ��� �%��'��� �+� ���!���� #$�� ������ � �$ � �$ ���� � ���#$"� $���
�"&��������,�
���������!��������������������������!���������������������������������������������������!���3�
(�������@����������������������!�� ������*�������� �������!���� ������� �� ����!�������@�
����� ���� ��� �� ����� ?� ���+���� ��� ����.��3� )�������� ���� ������ E���� ����!���� ��� ����
!�������� ��������� !�� ������3� )�� ����������� ����� !�� ������ ����� ��� ����������� ���
!�� ������� ���� ���!� ����������� ��� ��� ����������� ��� !�� ������ ��;��-���� ��� �����
!����2��3� )�� ����������� ��!���� ��� ��� ����������� ������� ����� ���� �������� ��!����� ?� ���
!�� �����@���������������������������������!��!�����������������.��3�)��2�����������������
��������!�� ���������2��������!��2����������23�
4.2.2 Axiomatisation
)��� �2������ ������������ ���� �� ������� ���������� ������ ������3� $� ������ ����
������������ ����!���� ����� ��� ��!����� ��!������@� ����� �� ������ ������ ����������
���2�������������2������������2@������2��������!��2�X ��������������������!�������������[�
��������2���������������������������������������2�����������!����3������������ ��������
������������!����2������ �������+�����!�������-��������������!�-����!��������������������
������� �� ����������������3�
������������������������
�
OR�
�� "'���������'��������������
���� H��"!-���� "$� �$%��� *"!-" �$%)� &���� ���� !�� ������� ����� ����.��� �����
!�� ����������������������������������!�������������3�
��(�H��"!-" �$%� �$ �*"$%��%�A$��� ��%�"$E)�)���!�� ����������������� ������
!�������� X��� ������������� ��� ��!��� ������ ��!������� ��� ����!����� ��������[� ���� ����
�������������!���������3�
)����2���������+��������������������!�� ����������������@��������.����������+�@������
��� !��������� � ��������� ���� ��� ���.��� !��!� ������� ����������� ��� ����.���@� �/���� ���
!����������������������������!�������3�
− ������������������� ��������� ������������!��������?�!����!�������2�����.���� ����
��� !����� ��� ���+���� X ��� �2�� ��� ��� ���������� ��-�������@� ��� ���� ����������
�������������[�
− �)�$��������� ��������� ������������!��������?�������������!�������� �������!�� ������
������������.���
− ��"��� �������������� ������� ������������!��������?��/�������������+�����!�����������
��� !������� �2������@� ���� +�������� ���� �� ������ ���� �������� ��� ��!���� +�������3� 7��
!������� ���� ���!� ��������� ����������� ����� +������� ���� ��� �� ������� ���� ���
!�� �����3��
6��� �2�� ��@� ���� ��!��������� ���� ��� ���-���� withdraw � ��� ��� !������
�$�'$**>7�&� ����E�����
context BankAccount::withdraw(amount:float):void pre amount>0
7�������������������!����� ��!��������� ����!��������������� ��!������������+�����
context BankAccount::withdraw(amount:float):void pre amount>0 and amount ≤ balance-overdraft �
��.�H� �!0�������� 6 %:!� )�)�������������������������!�� ��������!����������������.���#M������� ������������ ��� ��������������+�!��������.���#3�)�� �����������
��!�������!�� ��������� ���� �����������3�
��1� H� @"#%� ��� *"$%��%)� )�� ����������� ��!���� ��� ��� ����������� ������� �����
!�� ��������� ��+���� �����!��T���������������/�������!�������������������.��3�
��3�H�!'��"��%�"$��� �*"$%��% )�)�������������������!���������������!�� ������
*���������������������������������!��������������������� ������3�)������������� ��!������� ���
�����������������������������!�� ���������� ���� �����������3�
O��
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
�� "'�����������'��������������
M���H��"!-���� "$��$%��� 6 %:!� )�4��2�����.������������/�����!�� �����������
��������������������3�
M�(�H� �!0�������� 6 %:!� )�)�� ������������������������ ����.���������� ���
�������������������2�����.����#M����#���� ���� ���E���� ������������������ ���������������
���������������#M����#3�$����@������������������������.���#1@�!�� ���� ����������������
��������.���������+����������"��X#1[�≥����X"��X#M[@�"��X#[[3�
M�.� H� @"#%� ��� *"$%��%)� 6���� ��� ����.��@� ��� ����������� �������� ��� ���� ���
��!��T���������������/���������!������3�
4.2.3 Hypothèses et modèle mathématique
#����� ������ ����������@� ��� ����������� ����� !�� ������ ��;��-���� ��� ����� ����.���
!����� ����?�������!�!�����������!�������@������������+�������������������������������3�)��
����������������!�� ��������������������������.����������������� �������!���������������
!������3������ ���������� ��� ������� ��� �� �����!�� ��� ����@� ����������� ����� U)�� &����SS00�W@�
�����2 ����������������������������!�� �������������!������� �����������������3�
*� */ �
G��#���.;�H��'-�$��$*�����%� %�
�'-�$��$*�����%� %)������������������"���������)���$ �������������$������������� ������
&�$ ���� �� � �),� ������ �������� ��� �"��������� ���� ���"��2� ������),� ��$�� ������ �������
��/� ��� �����������������������'���-#$���"�����1��!" �����.���$ �"����� �������'������
������$ ����� ��$������������������&������������ ��$������������"�������� �!�����$ �,�
A� � �/������ �$ � ��� B��$ �� JK+���� $������� ���� �� ������ ����)� -B��$ �� JK.+� ��� ����� ��� ��
������),�
��"0�0���%'���%A��D��@E3����������)+���� ������ ��������"�#$���������� �����������"��������
$���� �$ � �� ���$���$������������� ��)� � �������"�����-��+��).,������� ���������$ �������
���$ �� ���� ���-��+� ��.� #$�� �� ������� 1� ��� ��$������� ����"�� �$� ���������� ��,� A� �
�����$ �+� ��� ��� ��� �)� � ����� ����� ���� �%��'���� ��&&" ����� -��� ��� �?.+� ��� ���� �� ������
� ��������"����--��+���.+�-�)+��?..,�
"���������� ���� ����������� 4��X*�@� */[� ���� ������ ��������� ���� ��� ����������� �����
!�� ������ ��������� ����� ��� ����.��� ����� ���������� ��J!�� ��� !�� ����� ������ ����
!�� ������3�����������������������������������������������!������������.���!��H���+�!�����
!�������@����!�� ����� �� �������+�� ��������������������� ��������������������������.���
����������!�����-��������������!���������!�����������������������+�����!��!� ����3�
������������������������
�
OO�
4���������!��������+����@������ �� �������������-���� �����+�������������������������
!�� ��������������������������.��@����������� ����!��!�������� �����������4��X*�@�*/[3�
�E����������������������� �����!����������������������+�@���������!�������������������
������� ����!����� ��� ��� !�� ������ ����!������� �� ������� ��� !�� ������ ������3�
)�-�������� ���� ��� !��� � �!���� ��� �� �����!�� ��� ����� ����� ���� �!�� ���� ��� ����������� ���
������ ���T�� ��� ��+��������������+�����3�$����@����!����������2 �������������@��+���;
�����!������������2�-� ��-.���������� ����.���� ��!-�� ��������������!�����.����������
�����������4��X*�@�*/[� ��������������� ���!������ ��-�������@� ��� ������!����� ���� ���������
�����!������������������ �������������������E�����������!��������-��������������������!���
������������������!�����.��3�
)�������������"��)�!X*@�#[�XM;�,���)�!X*@�#[[������!�� ������*�������������.���#�
���� ��� ����������� ������� ������ ����� *� ����� ����!���� ��� ���� !�������� ��� *� ��� ��� ����
���������������*� ������������!�� ������3�6����!��!�����!����� ����������@������!��!������
,���)�!X*@�#[3�)�� �����������,���)�!X*@�#[�!����� ����?���� ����������������������������
?� *� ��� ����� ��� ����!���� ��� *� ����� ����� ��� ��� ����������� ���� ��������� ��� ����� ���
����!���� �������!����������*3�
�"0# %� ���"*���)��� ��$����������������������$�"������������' ���$�������2������-��+�
�.�-�*�B�����-��+�..��>� ∏ −=F
�F� ..+�+�-���-.�+�-B����� M ������F�:��F�������,�
�"0# %� �� ��"0���)� �� ��$������� ������������ �$�� �%��'��� ��/� ���� 1� �� �� � ��� ���
��$������������������������' ���$�������2��
�=
⋅==�
���� .�+-�����B.�+A ��� -*�B���-�.*� ��.�-��� �
6���� ��� !��!��� ��� "��X#[@� 6���(��X*�@#[� ���� ��� ����������� ������� ���������!��
��+������ ��� *�� ��!-���� ������� ���������!�� � ���T���� ���!�����3� )�� !�� ��2���� ���
!�� ��������������� ��2�����������!����� ����������3�6�����������@���������r#r�����������
���!�� �������������������.���#3�
4.2.4 Démonstration des axiomes
)�� �������������� ���� �2������ ��!��2� ������ ����A� ���������@� ����� ����������� �!�� ���
���������������������2��2������������2� ���!� ��2���$8"����$8"13�������� ������
�������@��������������� ����������������������������������� ���������
• "��X#[��������������������������������.���#3��
"��X#[���#���.���→�U0^MW�
• "��)�!X*@�#[�����������������!���������!�� ������*�������������.���#3�
O�
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
"��)�!X*@�#[���*�� ������×�#���.���→�U0^MW�
• ,���)�!X*@�#[���� ������������������������!�������*������#3�
,���)�!X*@�#[���*�� ������×�#���.���→�U0^MW�
• 6���(��X*@� #[� ��� ����������� ������� ������� ����� ��!������� ����� ��� !�� ������ *�
���������.���#3����������������-� ��-.�������!����� ������������������������ ����
�������.�����6���(��X*@�#[�f�M%r#r3�
• 4��X*�@�*/[���� �����������������!�� ������*������!�������������������*/3�
4��X*�@�*/[���*�� ������×�*�� ������→�U0^MW�
�� 3��&��������'�����"�� �������������������'��(��)����
#1
##M
*� */
�
G��#���.5�H� �!0����������#>� 6 %:!� �
����� +������� �������� �!�@� ���� ��� ����������� ����� ����.��� #1@� !�� ���� ���
���������������������.����#M����#@������� ��������������?���� ���� �������������������������
#M� ��� #3� (�� ��������� ������@� ����� +������� +�������� ������ "��X#1[� ≥� ���X"��X#M[@�"��X#[[3�
)������������ ��� ���2� ����.���� #M� ��� #� ��� ����� ��� ���/���� ������ ��������� ������ ���
�_��� ��� #M� ��� ��� �_��� ��� #� !����� ����������� ��� ,������ 1N3� )�� �������� ��������� ����
�2 ����������������������#1�������
[[#@*X,���)�![#@*X��(��X6�M[#X"��1#
MC1C1C1 � ×−=
=�
*�������������� ������/����������+�����_������������������������������2�����.���@�
�������r#1r�f�r#Mrar#r@�������!���
� ×−� ×−===
M #
M/1/1/
#
M�1�1�1 [[#@*X,���)�![#@*X��(��X6�[[#@*X,���)�![#@*X��(��X6�M[#X"��
6������$�����������������
� ×==
M#
M�1�1� [[#@*X,���)�![#@*X��(��X6�$ @���� � ×=
=
#
M/1/1/ [[#@*X,���)�![#@*X��(��X6�� �
)��/�����������!�X*�@�*/[������ �� �!������ ��� ����������� ��!�������*�@�����������������
����� ����*/3�)��/�������!�����!��������!� ����������������������.���#@��������� ��������
*/@������� ���������!������������������������!��!�����#3�
������������������������
�
ON�
� ××=� ×===
#
M/1/
1
#
M/1/
1
[[#@*X,���)�!#
MX
#
#[[#@*X,���)�!
#
MX� �
>�@�,���)�!X*@#[�f�,���)�!X*@#1[� ���������!�� ������*������#@����!���
� ××==
#
M//
1
[[#@*X,���)�!#
MX
#
#� �������!� [[#X"��MX
#
#�
1
−×= 3�
>���������������������������� ������$3�&�����������@���� ����E�����H������� ���� ���
�������@�������������� � ××==
M#
M�1�
M1
M [[#@*X,���)�!#
MX
#
#$ 3�
����������@���������������*M� ������!�� �����������������������������������/�����@������
��������∀���∈�U^r�#MrW@�,���)�!X*�@#M[�f�,���)�!X*�@#1[�������!���
�� ��� ��α
=×+� ××= [#@*X,���)�!
#
M[[#@*X,���)�!
#
MXX
#
#$ 1M
M
#
�M�
M1
M M
3�
[[[#@*X[@#@*XX4��MX[#@*X,���)�!
[[[#@*X[@#@*XX4��MX[[[#@*X[@#@*XX4��MX
MMMMM
MMMC
MMMC
−×=α⇔
−×∏ −=α�
*�����M;4��XX*M@#[@�X*M@#M[[�≤�M@���������
,���)�!X*M@#1[�≤�,���)�!X*M@#M[��
�� [#@*X,���)�!#
M[#@*X,���)�!
#
MMM
M1M
M
×≤× �
4��B��� � ××≤=
M#
M�M�
M1
M [[#@*X,���)�!#
MX
#
#$ �������!� [[#X"��MX
#
#$ M
1
M −×≤ �
���������������������+������� �����������������$�����@���+������?����2 ��������������
�����������������������������������#13�
"��X#1[�f�M;$;�@��
[[#X"��MX#
#[[#X"��MX
#
#M["��X#
1
M
1
M1 −×−−×−≥ �
4��!� ����������������"��X#1[�≥����X"��X#M[@�"��X#[[@�������������������
[["��X#�[@���X"��X#[[#X"��MX#
#[[#X"��MX
#
#M M
1
M
1
M ≥−×−−×− �
*�����r#1r�f�r#Mrar#r@����2 ��������!�;������� ����������!���������������.������+������
0�
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
[["��X#�[@���X"��X#[[#X"��MX##
#[[#X"��MX
##
#M M
M
M
M
M ≥−×+
−−×+
− �
*����������� ����������� ���X"��X#M[@� "��X#[[� f� "��X#M[� ��� +���� �����������
����������
0[[[#X"��[#X"��X#X##
M
0[[#X"��#[#X"��#X##
M
0[[#X"��#[#X"��#[#X"��##[#X"��####X##
M
[#X"��[[#X"��MX##
#[[#X"��MX
##
#M
MM
MM
MMMMMMMM
MM
M
M
M
≥−××+
≥×−××+
≥×−×−×+−×+−+×+
≥−×+
−−×+
−
*����� ���X"��X#M[@� "��X#[[� f� "��X#M[@� ������ "��X#[� ;� "��X#M[� ≥� 0� ��� ��� �� ���!��������
0[[[#X"��[#X"��X#X##
MM
M
≥−××+
�
������+�����������������"��X#1[�≥����X"��X#M[@�"��X#[[3�
�� 3��&�����"������"-�������������
����� +������� ���������� ���� ���/���� ����� !������� ����� ��� ����.��� #� ��� ����� ���
��!��T���� ��� ������������������3�#�� ��������#�� ��� ����.���� �.�� ���/���� �����!������@� ���
+���������������
"��X#�[�≥�"��X#[3�
)��/���� ����� !������� ����� ��� !�� ������ *�� �������� ��� ��� ����������� ������@� ��� ���
�������������!�����������!�� ����������+����3�6����2�� ����������,�������0@����/���������
!������������*M���������������������������������*M�����������"��)�!X*[@�"��)�!X*1[@����
����������������!�������������������+����3�
#
*M
* *1
^�
G��#���1<�H�@"#%���#$�*"$%��%���$ ����
*��������������/���������!������������*�@�������������*������!�� �������������� �.��
�/�������!������3�)�����������������������*��������� �����������������?�!��������*�����
4��X*��@�*��[�≥�4��X*�@�*�[� XM[�
������������������������
�
M�
6��� ��������@� ��� ����������� ���� *��� ����!��� ���� ������� ����� ��� ��� !��� ���+����� ����
�� �����������������?�!���������*������!��������������∀�C�%�*��"&4�*C@������4��X*��@�*C[�≥�4��X*�@�*C[@����!���
∏ −≤∏ −C
C�C
C� [*@*X4��MX[*@S*X4��MX ��
�3�3��∀�C�%�*��"&4�*C@������,���)�!X*C�@#�[�≤�,���)�!X*C�@#[� � X[�
#������������� ���*M����!�� �������������@������������������!������+����� ���*^*�@�
�+�!���b�r#�r@�������"��X#�[����!��������������.������+�������
� ×+� ×−==+=
�
M���
S#
M���� [[S#@S*X,���)�![S#@S*X��(��X6�[[S#@S*X,���)�![S#@S*X��(��X6�M[S#X"��
�
>�@� ���� ��c��@�,���)�!X*��@�#�[�f�,���)�!X*�@�#[�!��� ���/�������!�������������!����
�������!������������������������!�� �������������!����c��������������� ���!����!�������
!�� �������������3�4�� ���@�!������������������!�� ������������#�����!-����� ��@����
��r#�r�f�r#r�������!�6���(��X*���@#�[�f�6���(��X*��@#[3�)�������������"��X#�[�������!������
� ×+� ×−==+=
�
M���
#
M���� [[S#@S*X,���)�![S#@S*X��(��X6�[[#@*X,���)�![#@*X��(��X6�M[S#X"��
�
*�����*M"&4*^�*M"&4*�@�������������X[�����������������
∀�C�∈�U^�W@�,���)�!X*C�@#�[�≤�,���)�!X*C�@#[3��
4�� ����XM[�����������������
4��X*�M@�*�M[�≥�4��X*M@�*M[@��3�3�,���)�!X*M�@#�[�≤�,���)�!X*M�@#[3��
>������������
� ×≤� ×==
�
M���
�
M��� [[#@*X,���)�![#@*X��(��X6�[[S#@S*X,���)�![S#@S*X��(��X6� @�
������!���
� ×+� ×≤
� ×+� ×
=+=
=+=
�
M���
#
M����
�
M���
#
M����
[[#@*X,���)�![#@*X��(��X6�[[#@*X,���)�![#@*X��(��X6�
[[S#@S*X,���)�![S#@S*X��(��X6�[[#@*X,���)�![#@*X��(��X6��
,������������
� ×+� ×−≥=+=
�
M���
#
M���� [[#@*X,���)�![#@*X��(��X6�[[#@*X,���)�![#@*X��(��X6�M[S#X"��
�
�
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
!����;?;�������"��X#�[�≥�"��X#[3�
4.2.5 Expériences pour paramétrer le modèle
4����������� �2 �����!��� ������� ����.�������������/���@� ��������� ��������� ��2�������
+������� ���� ���� ����������� ����.����� ��� ���.��3� ����� !�����H���� ��� �������� ���
����������� ������� ���� ������������ !������� ��� ����.��� ��� ���������� ���������� �����������3�
6���@����/�����?�����������������@�������+���������� �����������4��X*�@�*/[�X ��������������
����!��������������������!�� ������/� �������������!��������[3�
�� �����������������//������������������4����������������5�
a���C$!!������ ��������X���� ���@ ���C$!!���� �!!����[j�����!�f�����!�;���V�!!����3�� ����X���[V
k
*"$%�>% ���C$!!��������������X���� ���@���C$!!���� �!!����[-�� ���c0 �$� �����!�;���cf�+�������-" % �����!��f������!�s �� ; ���
������M�X�>"[ ����!�+������������X���������@�&6���C3���C$!!���� �!!����[j�!!����3�� ����X���[V
k�������X�>"[ ����!�+������������X���������@�&6���C3���C$!!���� �!!����[j�����!�f�����!�;���V
k������1�X$>"[ ����!�+������������X���������@�&6���C3���C$!!���� �!!����[j�����!�f�����!�a���V�!!����3�� ����X���[V
k��������XQ*6[ ����!�+������������X���������@�&6���C3���C$!!���� �!!����[j�����!�f�����!�;���V�!!����3�� ����X���;M[V
k������R�XQ*6[ ����!�+������������X���������@�&6���C3���C$!!���� �!!����[j�����!�f�����!�;���;MV�!!����3�� ����X���[V
k �
G��#���1��H��>�!-�� �-"#�����*��*#���������"0# %� ��� "�'��
6���� !��!����� ��� �������� ���� !�������� ���� !������� ����� ����.��@� !����;?;����� ���
����������� ������� ������ !�����@� ����� �+���� �������� ���������� ������������ ���2� ����3�$��
!��������!������2���������@�������������������2���!-������������������� ���������!��������
��������!�� ��� !�� ���������� ��� ���� !�������� X!�3� ��!����� 13M3M[3� )�� ����.��� ��������
��������������������������������!���������������!�!�����������������������������M00i�����
������������������������
�
1�
�������3� )�� ��!����� ������ ���+������ ������!�!���� ���� !�������� �+�!� ���� !��� ��� �����
����!�!��3�"�������������� ��� �!����������������������� �+�!� !����� ��!����� �������� ����
��������������������������������������!�������3�(�������@� �������!������������������������
������������!���������������!�!���?�M00i@�����!���������������� ����������������������������
!�������� !����� ���!��� ����� ������� ������ ������� ��� ���� E���� +�+���� � ���?� !����� ���
!�������� ��� � �������3� 4��!@� ������ ���� !�������� ����� ����!�!��@� ���� ��� ������ �����������
+�+����3� )�� ���+���� �!���� ��� ��������@� �+�!� ���� !�������� !����� ���!��@� ���� ���!� ���
�����������+���������������!�!��������!�������3�
$�� !����� ��� ��� ����.��� �������@� ����� �+���� �������� �����!��� ��� ��������!�� ���
!�� ��������� ������ ��� !������ ��������� ��� ��� ������3� *����� �������� ��� ����� ��� ����.���
��!���������3�7�� ��������!��������������������!��!���� �������������������!������ �����
�������3� #�� !�� �!���� ������ ��� ������������@� ���� !��� ��� ������ �� ������������ �������������
���������������3�$�����������!����� ����.����������@���������������������������!������
������+�!���������!���������������� ��������!������XcNRi[3�
)�� ��!����� �������� ���� �2�!����� ��� ������������ ���� ���� !�������� !����� ���!�����
�����!��@�������������������������������!����������������������������������� ����.����������3�
)���!�������������������������������!�������������!����� ����?���� �� ������������������
���� ���� !�������� ��+���� ����!���3� *�� �!���� ���� �������� !����� ���� ����������� ��� ���
�����������������������!�� �����3�4������E�����H���������!����������� ����.����������@�
���!������������������������������� ����������������@�����!����������������������3�
6����2�� ��@����,�������M��������������-����transfer �������!�������$�'$**>7�&@�
�+�!� !��� ��� ��� ���� !���������@� ������ ���� !���� �������� ���� ��� ���-���� X��� ����@� M�
����������������������[3�*��������-���� ������.��� ��� ������sum����!�� ���!����������
!�� ��� account 3� )�� ���!��������� ���� ����� ���� �������� M� ��� 1� ��� ����+������� ���� ���
�������R��+�!���� ���������-�������+��������������X�����!�;�+�������@��$!!M[3�)���!����
��������������������0i������!��!��� ����!�����3�6��������������������������������� �������
!���������C$!!����@����������!������������������������������� ������������������-��������
���!���������!��!���������!����������3�
�� %�������6��4%�7�%-5�
7��� ����� �������� ��� ����������� ������� ���� !-����� !�����@� ��� ���� !��!����� ���
�����������4��X*�@�*/[3�*�����+�����@� �������!�� ������*�@������������������/�!���������
��������������������������������*��X����!�� ���������������� ���*�[@� ��������2�!����������
!��� ��� ����� ��� *�� ��� ���������� ���� ������������� �����3� )�� �� ������� ��� �������� �����
!����� ���� ?�4��X*�@� */[3� 6��� �2�� ��@� ���� !��� ��� ����� ����$�'� ��+���� E���� �2�!�����
�+�!�����������������$�'$**>7�&@�������������������������������������!����������������
������ ��� ��� ���-���� transfer() � ��� ������������ �$�'$**>7�&� ��� ����!���� ��� ����
!������������$�'3�*����������������������� �������!�������$�'$**>7�&���������������
,������ �M� ��� ��� ���-���� transferInterest() � ��� ��� !������ �$�'� X,������ �[@� ���
��
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
!��������������!���������������� �����transferInterest() ���� �����������������-����
transfer() � ���� � ����� �+�!� ���� +������ ���� �������E�� ���accountFrom.balance-
accountFrom-overdraft 3�#����������������+�����������$�'$**>7�&@�������R�������
��� ���� ��� ��� ���!��������� ��� transfer() � ����� ���� ���� ��� ��� ���!��������� ���
transferInterest() 3�$+�!� !��������������� ����� ����!���.��@� �����������balance � ����
�� ���������������?�overdraft-1 �� �.������������������������R3�)�� ���!���������������
���-����transfer() ����+������� ������������!�������� �����������������?�overdraft @�
���!� ��������� ������ ��� ����!���� ��!�������3� 6��� !�����@� ��� ���!��������� ��� ��� ������
transferInterest() de �$�'� +������� accountFrom.getBalance() ≥
accountFrom.getOverdraft() ��������!����������������������������������������R3�
a���C�� ����������������X���C$!!���� �!!����,���@����C$!!���� �!!����&�[j�������������f�!!����,���3�����������X[V�!!����,���3�������X��������@�!!����&�[V
k
*"$%�>% ���C$!!����������������������X���C$!!���� �!!����,���@����C$!!���� �!!����&�[-" % �!!����,���3��������!�X[cf�!!����,���3���>+�������X[
�
G��#���1(�H��>�!-���-"#�����*��*#�������%A��D��@E�
� 2��������)����������)���
>�� �������������������������������������� ����.�����������.�������������������������
��������3��
"��������X*�[�!����� ��������!������������������������������������������������������
��������������!��������!��������!���
4��X*�@�*/[f� �� ���������������������*/�����!���� ���*�@�*/�������������+�������*�3�
6���(��X*�@�#[�f�M%r#r@�r#r��������������������!�� ������%!�������������������.��3�
����� ��+���� ������ �������@� ��� ����.��� �2 ����������@� ���� +������� ���� !���
����������� ����.����@�!����������� ���������!��!���������+��������������������������!�������
��� ��� ������������������3������ �� ������ ���2 �����������"��)�!X*�@�#[� XM;,���)�!X*�@�
#[[@������������������������������������
∏ −=C
�&4C�C� *"*%C[[@*@*X4��MX[#@*X,���)�! �
� ×=−==
#
M��� [#@*X,���)�![#@*X��(��6�[#X,���M[#X"�� �
)�� ��!����� ���+����� ��!���� ���� ������ ��� !��� ���� ������ ��� !�������� ���� +������� ����
����.����3�
������������������������
�
R�
�� �����������
$� ���������������.��� �����������!-�����!�����������������������!��������@����������
�����������������������+�������
M3� ����������������!�!��������!���������������������!������ ��!-��
3� �+���������!� �!���������!�� ������?�����!���������������������?�!���������������3�
X#�#�
�%�*J
��$J��+�� % ��2#�$*�+�� %
��%�+*"$ %
��$J��+�%���%"� ��2#�$*�+�%���%"� ����+��7��+�%���%"� ����+-� %+�%���%"� ����+-��+�%���%"�
����+�%���%"�
�"�%�0��
�"$%��$��
��>%+"0@�*%+!�$����
�$%����+��*"���
��*%+$"�� ��%�+%�!� ��!� ��%�
���B�� ��>%+"0@�*% �����B��
�%���%"�
�$�R�6+�%���%"�
�#%�%"�
G"�!�%
��*%�"$��6
��0�� ��%
����*/�0��
�� %��%��"� �� /+ �%
���!�
M�$����+%���
���7�� �0�� ���� �� %"�6+�� %
�$�R�6+%��7�� �0�� ��2#�$*� �� -�$ ��
����+-" %+�%���%"�
"�� �����+*"!-���0��
�����+����%�"$����+$"����$J��+$"��
��$�"!
�6 %�!
��%/
X#�#�X#�#�
�%�*J�%�*J
��$J��+�� %��$J��+�� % ��2#�$*�+�� %��2#�$*�+�� %
��%�+*"$ %��%�+*"$ %
��$J��+�%���%"���$J��+�%���%"� ��2#�$*�+�%���%"���2#�$*�+�%���%"� ����+��7��+�%���%"�����+��7��+�%���%"� ����+-� %+�%���%"�����+-� %+�%���%"� ����+-��+�%���%"�����+-��+�%���%"�
����+�%���%"�����+�%���%"�
�"�%�0���"�%�0��
�"$%��$���"$%��$��
��>%+"0@�*%+!�$������>%+"0@�*%+!�$����
�$%����+��*"����$%����+��*"���
��*%+$"����*%+$"�� ��%�+%�!���%�+%�!� ��!���!� ��%���%�
���B�����B�� ��>%+"0@�*%��>%+"0@�*% �����B�������B��
�%���%"��%���%"�
�$�R�6+�%���%"��$�R�6+�%���%"�
�#%�%"��#%�%"�
G"�!�%G"�!�%
��*%�"$��6��*%�"$��6
��0����0�� ��%��%
����*/�0������*/�0��
�� %�� %��%��"���%��"� �� /+ �%�� /+ �%
���!����!�
M�$����+%���M�$����+%���
���7�� �0�����7�� �0�� �������� �� %"�6+�� %�� %"�6+�� %
�$�R�6+%��7�� �0���$�R�6+%��7�� �0�� ��2#�$*���2#�$*� �� -�$ ���� -�$ ��
����+-" %+�%���%"�����+-" %+�%���%"�
"��"�� �����+*"!-���0�������+*"!-���0��
�����+����%�"$�����+����%�"$����+$"������+$"����$J��+$"����$J��+$"��
��$�"!��$�"!
�6 %�!�6 %�!
��%/��%/
�
G��#���1.�H�B�0��"%/:2#���6�"$�-"#�������$�������&&���
7������������!����������2�!�������������������-.����6����� ���������������(�����3�*�����
�������-.������ ������ �������������!������������������������������������@������!���������^�
)��,�������1�������� ���������������� !���������� !����� �������������� ���� !�� �������R0�
!����������M1�� ����������������!���!������3�)��!�� ��2�������!����� �������������������������
��������������������� ��!-��������������������������������������3�������+��������������������
µ#�����@������������������(�����@� �������������������������3�*�����������/�!�����������������������!������X������������������!������[�(���������������@���2�!������������������!-�����
������� ��� ���������� ��������� ����� ����� ��� ���� �����3� *��� ������ ������ ���+���� ����
� ��!-�� ��!���������� �������� ������������������ !������ ����� X��� ���������!������������
���+����� �������� ����������� ���� ���� �������� ��!���� +�+����[� ��� ���� E���� ��������3�
)�������������!-���������������������������������+�����������@���������������� ������������
������+������/�!���3�
��
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
)�� &������� �� ������ ��� �������� ���� !�������� �������2� ��� ���� �!����� �������� � �.��
������������3����� ���T�������������������������������!������������������������������.���
�������!���+��X���������������������������� ��������� ���������Ri�?�M00i[3�$�����������
��!������ ��������������� ���� !�������@� ��� !�� ������ !�����!�������� �� ���� ����������
!� �!���� ?� ����!���� ���� �������� X������ ORi� ��� M00i� ����� ������ !��[3� 4�� ���@� !�����
� ��!-�� ������ ��� ����!���� ���� ��������� ����� ��� !�� ������ ���� ��������� ���� !��������
�������� ��������3�
)��������������!��������!����� ����?����!� �!�������!��2;!��?�����!���������������3�)��
��������������� ��� !����� � ��!-�� ������� ��� ��+���� �!����� ���� !�������� �������������
����!�!��� ���� ���� ��������� !����� ���!��� ���� ��� ����� X��� �+����� ���!������� �����!����
�2 ��!����� ���� !-����� !��� ��� ����[3� *� ������@� ���� ���������� ��������� ��� ������� ����
!�������� ���� ��� ����@� ������������� ��� �������?� ���������� �������������+�!� ����!�������3�
)��� �� ���������������������������� �������!����� �������!������������!����������������������
!�� �����3� ��� ���� ���!� �����!���@� ���� ���� !�������� ��!��2� ?� ��� ���� ��� ��� ������ ������
�������@��������!����!����������3�6����2�� ��@�������������!�������!���������!�������� ��������
���-���� �������� ������ !������ ���� ���� +������� ���� ���������� ������� �� ����� ���� �������
������������3� )��� ��+�������� ��� !������ ����� ����2� ��� ���� ���� ��� +�����!������ ���
�� ���������������3��
� �������� ��2����� ������
i��������������X!���������������2[� �4Y� ;.Y� 3;D3Y�
i� �������� ����� � �.�� ������������� ����
!��������4(Y� �<<Y� ;4D3Y�
��0���#�1�H��' #�%�% �-��$*�-�#>�-"#���?�!'��"��%�"$��� �*"$%��% �
�
��$J��+�� %
���X[
��C�X[
���P!������P����X[
��������X[
��P��!C��X[
����X[
�� ��!�X[
������X[
����+�X[
����X[
��$J��+$"��
���6��+����X[
��C�X[
��P��!C��X[
���P��2�X[
���P ��+����X[
�����2�X[
��P�����X[
��;����X[
���X[���6��+����X[
M�����2�X[
��C�X[
���P!������P����X[
��������X[
��P��!C��X[
����X[
��C�X[
��P��!C��X[
���P��2�X[
���P ��+����X[
����
M
M
!������P����
�����P����
�� ��!�X[
������X[
����+�X[
����X[
��P�����X[
��;����X[M
����P����
�
G��#���11�H��>%���% �������0�0��"%/:2#���6�"$�
6���� �������� ���� +������� ��� 4��X*�@� */[@� ���� �������� ���� ����� ���� ���+����� ������
!������*/�������������@���������!����������������� ��������!��������������*�����������������
������������������������
�
O�
������������!��!������� �������-��������������� ���*�� �����!��!����3�#������2�� ���������
,��������@�)��'(4P)�#&���������)��'(4P�>4(�������!������)��'(4P)�#&�� ����������������
���-����� ���)��'(4P�>4(3� )�� !��!��� ���4��X)��'(4P)�#&@� )��'(4P�>4([� !�������� ?�
������������������������� ����)��'(4P�>4(����?��2�!���������!��������������)��'(4P)�#&3�
)�� �!���� ������������ ������� !����� ���� ?� ��� �� ������� ����������� ��� )��'(4P�>4(�
����!���� ��� ���� !�������� ��� )��'(4P)�#&3� *�� �!���� ���� ��� +������ 4��X)��'(4P)�#&@�
)��'(4P�>4([3�
� ���)� ��2)� ������
i��������� ��� ���+���� ����� ���
���!������3<Y� ;1Y� ,5Y�
��0���#�3�H��� #�� ������%A��D��@E�
6�������������������4��X*�@�*/[@������������!��������������.���������2�!�������+�!������
!�������� � �������� X��� +������ �������� ���� ��� ����������� ������� ���� ��� Oi[@� ��� ����
��������������� �����������������&�������R3�
4.2.6 Application de la mesure sur trois systèmes r éels et résultats
6���� ���������� �������E�� ��� ��� !��!� ����� ��� !�������� ���� ��������������� ��� ���
����������@���������+����� ��������� ����������?�����������������!��3�
• 7�� ����.��� ��� !����������� ���� ���� ����!������!������� X#�4#���
#D��!-������������4����#��+�!�[3�
• )�� �������-.���� ��� -����� �����Q��D�� !�� ����� ��� M��� !������� ��� �0�
����������U'���SSN�W�
• )���������-.����6�����
6���� !��� ������ ����.���@� ����� ��������� ���+�������� ��� ��� ����������� �������� ���
����.���������!�����������+������������������������������������!�� ������3�#������,������
�R@�������+����!���������������� �����������4��X*�@�*/[����� �� ������������?���������������
����������!�� ������ �� X�3�3�4��X*�@�*/[�f�'d"��������X*�[[3�(������������ ���� �������������
&���������������&�������R@�������+������2�����!�����!�������� �� �������������?�0@3�4��
���@� ���� ���+�������� ��� ��� ����������� ���� ����.���� ���� ��� ,������ �R@� ����� �+���� �����
��-� ��-.��� ���� ���� �� �����!��� ����� ?� ��-�������� ������ ��� �������� ���� ��� �����������
�������3�
)���������������������������������������!���!�������������������.��@�������������������
�����@� ����� ���� ��� ��� ��� �/���� ��� !�������@� �E��� ������!�!���� ������@� ��������� ���
��������������������� �������3�(�������@� ��������+������������������������!�� �����������
0����0@@� ��� ������������������������������������ ��.�� �� �������3�6��������!�����������
�������� �������� X����������� ������� ������ 0@� ��� 0@�[@� ��� ����������� �������� ���������
�� ���������������� ?� ��� ����������� ������3� 6���� ���� ����� !�������� X����������� �������
������ 0@�� ��� ?�0@R[� ��� ����������� �������� ��������������� +���@������ ����� ����E��� ���
�
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
����.��� �������!���+�� X����� ����� ��� 0@O� ?� 0@N�[3� (����@� ��� �����+�� ���� ���� ���� ������
!������@� ������ ������ ��� ����������� ������� ��� 0@R� ?� M@� !�� ���� !����� ���� ��2�
�������������������� ����!�]������@������� �����.�����������������������������������������
�������������3�6����2�� ��@������������������������������Q��D��������/?����0@N�����������
����������������������!�� �����������������?�0@R3��
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 0,2 0,4 0,6 0,8 1robustesse locale
robu
stes
se g
loba
le
SMDS
IV
Pylon
�
G��#���13�H��7"�#%�"$��������"0# %� ����"0�����$�&"$*%�"$��������"0# %� ���"*������ �
*"!-" �$% �
)��� ����������� ���������� ������ ���� ����.���� !����� ������� ?� ������������ ��������������
���� ��������������� �����!�3�*�������� ���� ��������� ���� �I�� ��� ����������� ��!���������
!�� ������ ���� E���� ���������� ��� ���� !�������� ��� ���� !������@� ��� ��������������� ��� ���
�������������!���� ����!� ��?����������������������������������������3�4��!@� ��������������
���������� ������ ���� !�� ������� ����� ����.��@� ���� ��� ����������� ��!���� ���� !�� �������
����E����������������� �������������������������� �������������3�
)�� ,������ ��� ������� ������������ �+��������� ��� ��� ����������� �������� ��� ����.���
#�4#� ��� !����������� ������������ +������� ���� ���� �!�� ���� ���������� ��-�������3� )��
����.���!������!����� ����?���-� ��-.��� ������������������������������� �����!��������
?���-��������������+���� ���E���� ���������!�� ��3�6���������!�����!������X!����3�'f0@�
���� ���!��!������4��X*�@�*/[[@� !����� �����!�������� ���������!�� ���������������.���
�������� ������������������������� �����!��3�(����@������!��������������������.���!��@�
�B������� �����!�����-������������� ���������!�� ����������E�������.�����������������3�
>��!���������������,�����������������I��������-����������������A�����������������+��������
����������������3�
&����!����������� ��+�������������������@�!��������� ����!���������� ����-�������� ���
�������������������������� �������+���������!���������+������������������������@�����������
������� ���+��2���+������������ ������������+�������������.��� ���� ��!���� ���� �!������
������������-�������� �����������������3�
������������������������
�
N�
0
0,2
0,4
0,6
0,8
1
0 0,2 0,4 0,6 0,8 1
robustesse locale
robu
stes
se g
loba
le
coeff héritage 0,8
coeff héritage 0,2
héritage ignoré
�
G��#���1,�H��7"�#%�"$��������"0# %� ����������-"#����&&'��$% �*"�&&�*��$% ����!-�*%������/'��%����
4.2.7 Critique du modèle de mesure
4���� U������SS0�W@� ������� ��� ��3� �� �������� ��� ���.��� ���� ����� �� ������ ���� ���
�������������������������������������������-� ��-.����������������!�� ���������������E���
����������� ������� X������"��[3�)����������-� ��-.������������������� ����� �����E��������
�����I����@� ����!�����.�������������������4��X*�@�*/[� � ���� �� ����������?� ��� �����������
������� ����� !�� ������ X�,�,@�4��X*�@� */[� � f� '×"��[3� ���� ����������� ������ ���2 �����������+����� ��������������������!�������!�� �����������
"��)�!X*�@#[�f�M;XM;"��[�a�X'×"��[*@��B�*������������������!����������!�� �������3�)������������������!������� ��������!�� ���������������������2��!���������!���������
����� ��� ����.��@� ��� ����������� ��!���� ���� ������ ����E��� ���� !-����� !�� �����3� #����
��-� ��-.�������!-�����������!������������.���������E��� �����������M%����E������������
X��������������������������!������������.��[@��������������������������2 �������������������
"��)�![#@*X"��)�!�%MX"���
M�=� ⋅=
=3��
(����������������!��������������������������.��@�������������3� �� �������������������
���������������� ����.�����*����'@����������!��������������������,�������O����,�������3�
)�� ���!� ����!������������������������?� �� ���������������.������������������������
����������� �������� ���� ��.�� ��������� ��2� +���������� ���� ��!������*� ���'3�*� ������@� ����
!���������������� ���� ���� ���� +������� ���'� ������ 0@R� ��� 0@� ��� ��� *� ������ 1� ��� �� ����
+���������� ����� ������ �� ��������3� >�� ������ -� ��-.��@� +�������� ��� ������� ����
�2 �����!��@��������������!�����'�������������������������2��������������0@3�=�����?����
+������ ��� *@� ��� ����� ������� ����� ?� ����� ������������ ��� ������ ��-� ��-.��� ���� !-�����
N0�
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
!�� �������������������������!������������������X���������������������U5��-SS0W�+�������
!�����-� ��-.��[3��
(��!��!������@��E������������.���������.�������������2�+�������������*����'@����������
����� ��� �E��� +������ ��� �������@� ������� ���� �2 �����!��� ��������� �������� ���� !���
+������� ��� +������� ��� ����������@� ��� ���@� ����� !��� �����+����@� ��� ���.��� ���� ������
�����������2�+��������������+�������������������������+�������2��E���3�
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
robustesse isolée
robu
stes
se g
loba
le
K=0,8
K=0,5
K=0,2
�
G��#���14�H��"�:����'$'���� '�-���B���$���� �$ �0���%'��#�&�*%�#��C�-"#�����*��*#�������%A��D��@E�A�Z.E�
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
robustesse isolée
robu
stes
se g
loba
le
C=6
C=3
C=1
�
G��#���1;�H��"�:����'$'���� '����B���$���� �$ �0���%'��#�$"!0������*���$% �ACZ<D;E�
7�������������������������������
�
NM�
4.3 Une mesure de la diagnosabilité )�� ��������������� ���� ���� ������� ���� ������ ���+������ ��� ��!������ ��� ������!�!���� ���
���������!� U:����SS0V� )�� &����SS01W3� *����� ����� ���+���� +�� ?� ��� ��!����� 3M3M@� �����������
���������������!�������!����������������������!���@���� -����������������!�!��������?���!����������
������ ���� ��+�������!�������3�8�����������@��������������������!�������?��������������2�!������
�����!����������@���@� ��������+�����������@�����������������������������������2�!���������!������
����� X����������� ���� ������!������ �2�!������ ��� !�� !��� ��� ����[@� /�����?� ����+��� ��������!�����
��������������A������� �!���X������������!���^[3�(�� �����!�����!�������@�������������!� ����
E������!�����@� ����������������� ����E��������!���� ������!����������������������+����3�����������
��������� ��������� ��� ����� ���2�!������ �+���� ���!������� +����@� ����� ���!!� ������� ������!������
� �.��!��!������3�
)����������� ���� ��� ���� ���� !�������� ��� ���������!� ���� ��� ���+������� ������!�!���� ���
���������!� �����������.���!��������� �����������������!�� ��������� ���������������������
��!���� ���� !�� ������3� (�� �����@� ���� !����� ����������� ��!���� ���� ���+��@� ���� ���� !��������
����!��������������������I������������������2�!�����@� ������������������ ��!-�����!�������+�����
��������������������������!� ��������!�!�3�
4.3.1 Analyse du problème
$+���� ����������� ��� ������� ���� ���������� �������H���� ��� ��������������@� ����� �� ������ ����
���-����� ���!� ����� ����������������!3�
�� 8�.�����������������������������������������/����������������
)�� ����.��� ��!-������ ������������������� ���� ��� ��!������������� ����������� ����������� ���
��!�� �����������������������!������������������2�!�����������������������!������������������
��������3�)����!�� �����������������������!������������������������������ ���������������
���������!�����;������������U:����SS0W3�)�� �� �����������+��2�����������������!�������������
����������!-����������Y����!����Z�������!��!���������������������������������������������3�����2�����
��������� ���-����� ���� ��� Y����!����Z� ���� !���������� ������� ?� �2������� ��� ���������
��������!���������� ��+����E���� �2�!�������������.��� ���� �������� X!������ !����� ����?����
���!�[�UK�����SSV�K�����SS�V�$���D��SSNRV�'��C��SSNRV�'����SSNOW3�6������!�����������������@���������
�������2�!���������Y����!���Z���� ���������������������������������!-������2�!�����3�)��!�]�����
����������������-������������� ���!� ��������������!�����!-������3�(�������@��������������������
���� +������ �����!��� ���� !-����� Y����!��Z�V� ��� ���� ������ ��� ��� ���!����������� !����������
����������@���������!�����!����������������������+�������-������3�
7�����������!-������ ���������!���������������������!��������?��������������������������������
��������� ���� ����!���� ���� ������ �������� ��� !����� ��� ���2�!�����3� )�� ��!������
������������� ������������� ��� ������ ��� ?� ��� ���� ��� !-����� ��!������ ���+.��� ���� ��!-������
����!�!�� ��������!������� ��!�������������������������� ��������3�)��!��!� ����� ���!�������
� ���T�� ������ !��������� ��������������� ��� !�� ���!� �3�*� ������@� ��������� ��!�������� ?� ���
N�
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
�������������� ������������������ ����E���� �� ��������� !������!�����������������!�� ��-�������
������!����������������������� ��!���������������������+��������������������������3�Q���������
UQ���SSNNW� ������� ��� ������ �� �� ��� ��!������ ���� ����������� ������ ���� �������+�������� ����
+�����������������3�
,�!����� ����.���������������!@����������������J!-����������.��������������������@���� ����
E�������������+������������������@��� �����@���� ��������!����� ������� ��!��������������������3�*��
��!����� ����!���� ���� � ���� ��� �������������"� X!�3� U)�� &����SSNW� ���� ��� !��!� ����� ����� ���
�������[� ��� �������� ������ ��� ��!����� ��� �������� ���� ���+��������� ��� ��� !��!� ����� �����
����!���3�
4�������������������2 ����������!����� �!����������������������!������������������������������
��� ����������>>3�
�� �6��������������������(���������&���������������
)�������� ������� ��!��������������������������������?�����������������������������������!������
��� ���� !�� ������ ��� �!��� X����� ��������� ��� ������� ��+���� ����+��� ��� �����[3� 6���� !���
��������� ���� �����@� ���� ��� ���������!� ���� �����!���3� 6��� ��������@� ����� ��� ��� !������������ ���
����������� ���� ������!������ ��� �!���@� ��� �� .��� ���� ����;��������� ��������!������ ����
���������������� ��� ����� ��� +��� ��� ���������!� X����� ��� ������ ��� ��� �!���� ���� ������!�����
���I�������������������������������;��������[3�(�� ���������������@��������!������!���.������
��!������������������!�����!����� ����?�������������2��������������;������������������!������
�������������������3�*�����+������!�������������� �������������2 ���������������� �� ���������
���+������ ������������������������
;� ��� ��������������� !��!����� ?� ��� ����� ��������� ��� ��!���������� ��� ��� ��!������ ���
���������!@�
;� ��������������!���������������� ��!������������������!��������.������������!�������@�
;� ��� ��������������� �� ���� ��� ��� !� �!���� ������ ��!-������ ?� ������� ���� ������!������
������������.������������ ������������������������������ ����!���.��@������������������
���� ����������� ��� ���� !�������3� 4���� ��� ������ ��� !����� ��!����� ����� �����
!��!�������� ���� ���� !�������� ���� ������� ���� ������!������ ��� �!���� ����� ��� �����
���2�!�����3�4�������� ��� �!��+��� ��������� ����������������!������-.���X!-� �����
�[���������������������!-����������������������!�� ������������!������2�!������
���!����������� ���������������������!��������� �!���3�
)���������� ���!� ��� ���� ��� ��!���������� ���� ������!������ ��������� ����� ��� ���������
��������!������ ��� �!�������� � ���� ������� �������"3�)������2�!���.���� ���� ������������������
X���������� ��!�����[@�����������������������������!�������������������������� �������������������
�����������E��������+��3�
7�������������������������������
�
N1�
4.3.2 Définitions
$� ������ ���� �� ��������� ��!�������� ����� �� ������ ���� ����������� ��� ��� ������� ���
������������������������� ���������-� ��-.���� ����������.������������������������������������
�����!��������+����3��
����$" �0���%'� A�'&�$�%�"$� �$&"�!����E)� �� �������������"� �/� ���� ��&&� �� ��$ � ���
��������������$���� �$ �������#$������ "��������$��������������$ �$���%��'���� "���,�
$����� ���� ��� ������� ��� ��� ����������� ��� !��!�������� ���� ��� !�� ������ ��� ���� !��������
!���������������������������@���������������������������������2�������!�������2�!�����������2�
!�������� ���+������ ������ !������ ����� ���� �!-���3�)������������ !�� ������ ���� ���!������ ���
����.��; �����!����� ������������������������������2�!�����3�
G�"%� ���>'*#%�"$)� ��� &���� ��/"�$����� ���� $�� ��������� ����� $������� ��� ��� ���� ����
�� ������������ ����"��#$���� ����������1�$����/"�$������� ���$��' ���$��� �� ����,�
)��� ������!����������������������2�!����������� ����������������������� ���������� ������
������2�!������ ����E������������������� ��������� ��!������X!�3�,������1R[3�4������������@� ����
��� ������� ��� ���.��� ���-��������@� ����� ��� !����������� ���� ���� ������ ���� ����������3� )��
���.���!�� ���������� ��� ��������!��������������.������������������������� �����������������
���� ��� ������� ��� ����.��� �������!���+�@� ������ ������� �������� ��� ���.��� ���-��������� ��.��
!�� ��2�3�
�$ %�#*%�"$ �$"$���&&'��$%��0�� )���$/����� $������������������&&" �����������$��������$� ��
������������������$ "��������$/����� ��������"�$��&�������$��&������/"�$����,�
�$ �!0��� �$�� *��$�0��)� ��� ��������� ������� ������ �� ������� 1� $�� ���������
����� $�������������&&" ���������,�
4�����������������������+�����@��������������������������������������������������!�����X���
��+����������������!���������������������2�!�����[���������� ��������!�������������?�������������
��!���������@�����������������������������������������X �����������.��[������?���� ��!���������
���������!3�
�&&"�%��"*����������$" %�*�Aδδδδ)))))����������������"��������δ��$������� $����������������$��&������/"�$�����B�������&&� ��� ���������$ ��"�� ���� �������������� ��"�������B�������������#$��
������� ������� $������+�������� ������������ ��$������������� ���������$ ��&&������",��
N��
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
)�������� ���� ��� ���������!� ��!��� �� ���� ��� ������!�!���� ���� !�������� ���� !����� ���� ?� ���
�������������!���������!�� �����@����������������������!��������� �!���� �������������������
�����������E������!������3�
�&&"�%� �"*����������$" %�*�-"#��#$�&�"%)��&&� �� ��������� ��������������$��� &�$��������$��&���� B� ���� ��&&� �� � ������� �"������ �� 1� ��� ������������� ��� ����� $������ � ��"�� ���!����
#$$��� &�$��� �� "�"� �"����"�� ����� B� ��� ������������ ��� ���� �� ����� $������+� ��� ���� �� ���
���� ���������$ ��&&������",�
����$" �0���%'���"0������#$� 6 %:!�)����������������"����������$���%��'�������������� "�
� ����������� "��������$������������ �����&�1����������"�������� "��������������� ����������,�
)�����.���������������������-� ��-.�������+��������
;� ��� ��������� ���� �� ���� !�������� ��� ������ ���� �������� ��� �2����� ���!� ����
�2�!�������������.������� ��+������������������!�� ��� ��������������� �������!����
������!�������
;� ����!��������������� �����!����!���
;� ��� ��� ��������2�!������ !�������� ��������� ������@� ��� ���������!� ��+.����� ��� �������
����������+�����!�����������+�!� ��� �������������X�����!��������������� ���� �������
�������!�� �������������������������������������[�
6��������� ����.����� ���� ��� ������� ���� ���� ����������� ����� !��� ������������ X����������@�
���������������!�������������������������@���������2�!�����[3�)����!��������+����� �� ��������
������������ ���������� ��� !��� ����.����@� ������ ���� ��� ��� ��������������� ?� ������ ��� !���
����.����3�
4.3.3 La mesure de diagnosabilité
$� ������ ��� ����������� ���������� ����������� ��!��������@� ��� ���� �������� ������!��� ���
���.��� ���������������������3�7��������!�����.��� �������@���������������������������������
�2 ���������2� ���� ��� ����������� ���� ����������� ���������@� ��� ���� ���+�������� ��� ���
������������������������.���������!��������!������������3�
�� 0��������������������������������
)�� ������������������������������������� �������!��!���������������������������������.���
!����� ����?� ��� ����������� ������� ������!����� �������� ����� ����!���� ������ !������3�6�������
����� ��� ������������ ��� ���� ������!������ ?� ������������ ����� ��������� �����!�������@� !�����
�������������������E��� ���������������!�������������������������3�*����� ������������� ����
�������������!���������������������������2�!�����@����������� ������`!�������3��
7�������������������������������
�
NR�
/�4�� )� )
���� +� ���� #$�� ��∈<�9L���� ���=���� )�∈� <�9L���� ���=+��"������ ���� ��������"� #$$���
���� $������� ��"�������$������������������ ����������������"����"���� �$������ ���)+����!����
#$�$�$������ ������� �"���� ���$ ����&��������"����"��� �$ ,�
)�� ����������� @���% ���� !���������� ��� ��� ����.��� ���+������� �
==+
!�������`
�/���
/� M64�� 3� �!�@� 6����
�������� ��� ����������� ��� ���������!�� �������� ��!��� !������� ���� ����!��� ��������� ��� ���� ���
���������!����� �� ����/�����?������������������.��3�#���� C���� ������������������C.���!�������
����!������������ �������������(����� ������� �������!�������/@��������;����!������������������ ���
!-�����!������� ��!����������� ��� ��������2�!����������������+.�������� ���� �������@��������
∏−
=−⋅=
M/
�CC/
/� [ MX 4�� 3�
)�� ��!���� ��������� ������� ����� ������������ !����� ���� ?� ��� M���� ��� ����������@� �3�3� ���
������� ��������!������ �2�!������ ������ ��������!����� �������� ��� ���������� �B� ��������� ����
����!���3�)�����������!������������� ������������� ��� ��������@� ���A����������������!� ����
!-�����������!���������������������������!������������� ��2�����+����������E��3�
�&&"�%� �"*��� ��� ����$" %�*� AδδδδE)� A�$ � $�� &���� ��/"�$����� �� ���$��� +� ��&&� �� ������ ��$ � ���
�������������$ �$������������������ ����������"����1����M�����������������,�
��������������������?������������A����������������!3�#�������������������!���� ������!�������/@�
���������A����������������!�������!������������������������!���������(�����������������������
��������!������ ������ ��������!����� �������� ����� (�/� ��� ��� !������� ���� ����!��� ��������@�
������ �=
=/
�C�(����!<���4����� 3�
�&&"�%� ��� ����$" %�*� δδδδ�)� �&&� �� ��� ����������� ��$ � $��� ���� $������ ����� $�� ���������
������� ��������������2��
�=
×+×=!������`
�/!�������`���
/��� ���!<���4�����64�����!<���4�����t +� �>� ��� � ��������"�
A�"&��������������������' ���$�������2� �=
−=!������`
�/
/���� 4��M6 ,�
)������������������������!��!������δδδδ�������/����� ���������������A����������������!�����������!��� ��� ����!��� ��������!����� �������� X��������� ��� �� ���� /�����?� ��� ������� ��� ����.��@�
��+��������������������������!�[3�)��������������������!� ������������!����� ����?����A�������
���������!� �������� !����������� ��� ������������ 6����� ���� ��������� ����� ����� (��3� >�� ��������
���!����������������������!�!����������� �=
δ×=δ���� ���L
���.A� -
M�
N��
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
)��������������� �������������!����!�;������� ���� ���!��!������ ���������������������!� �����
��� ����������� ��������� ��!������ ��������������������� �����������3���������������������!�
����-� ��-.�������+���������� ���������������� �������!����������������������.�����
M� ����!��������������� �����������������������������������2�!�����3�*-��������������
�����!�������������!�����E����������������(����������������������������������!������
��+���� ����������������!��������������������X-� ��-.���/��������� ��������[�
� �������!������� ���� ��!-����� ��������!����� �������@� ���� ��� ����������� ������ �� ���
����!������������������������X�3�3� C���!��T����������C���������@�C�∈�U�^`!�������W[�
1� ����!���������������������E��� ������������������!�����������������������������!�����
���� ��!��������������������
�� !-�����������!����������� ����������������������E������������������?�M%`�����3�
4��� �2 �����!��� ���� ���� ���������� ���� /��������� ��� +�������� ��� ��� ����.��� -� ��-.��3�
*�����������+������������!����2 �����!����������� �����������!��������:�+�@����!���������
������������!�������@������ �������������!���������������������+�!������ �������������� �������
���-���������������3�(�������@�������������������-� ��-.����������������!�������������������?����
�������!-��������-���� X!�� �����+���� ����� �� �������������� ��+������� ���� ���!�����[@� ������ ���
�� ��������� ���� � ���� ��� ���-���� !����� ���� ����!��+������ ?� ���� � ��2�������� ��� ���
�� �������������!��������������������3�������+�����������!������� �������������!��������.�������
������� �����������3� )�� ������� ���� ������ ���2�!������ +�� ��� M�00� ������!������ ?� ������� ���2�
��������3� )�� &������� �� ��������� ���� !���!������������ ��� !-����� ����.��3� ��� � ���T�� ���� ����
!���������������������������� �����������!�������.�������������� ����.���-� ��-.�������+������
��� �������!�E���� ��������!�� ��� ����������.�����������������������3�)�������������!�������
����!������������������������$���2��$3�
��0���#�,�H��'-��%�%�"$��� �*"$%��% �
� `������!������ `!�������� `������!������%�`!��������
!������)����� M1NM� R0R� @OR�
#��+����������������+���������� NM� MMOM� M@N��
$���;&���� ����:7����� MN�MN� M00M� M@�
:4'� MMMO10� �0ORM� @O��
:&���� MNO0O�R� R00M� @�
������+������+��� ������������ �!������� ������������!�������������������� �������������
!������������������������2�!�����3�*��������������� �����:&��!��@���� ������������!������2�!������
����� ��������� :$Q$� ��� ���������� ���� ��!������� ��������� ���������!�� :4�� U#7�SS0W� X:�+��
4����������������!�[3�*������������!���������������.����������E�������������+.��������������
��!-���� +��������� X� ��� ��� ���-���@� ������!����� �2�!����^[@� ��� ������ ������ ��� ���!���
���2�!����������� ������������������������������!���3�
7�������������������������������
�
NO�
)����!�����-� ��-.���!����� ����?����������������������+���������2 �����������������������
��!����� ��!������3�)�� ������.���-� ��-.��� X������ ���� ��� ����.��[� ��������� �� ���������
������� ��� ������� ���� �+����� ���� �!�� ���� !�������� ���� ��� ����������� ��� ��������� ���
���������!3� )�����!�!���� ��� !-����� !������� �������� E���� �������� ��� �������� ��� ���������
!�������������+������!����?������!������33R@������!�������� �������/�������������������!-��!-��
?� �2������� ���� ���������� �������23� (����@� ��� ������.��� -� ��-.��� ���� ������������ ����� ����
� ��!-�� ����!��+�� ����������� ���!�� ?� ��� �!���� !-����� ������ ��� ��������� ��� ����E���
����.��3��
6���� ���������� ��� ��!����� -� ��-.��� ��� ������� !�-������ �+�!� ��� ������.��@� �����
!������������������ �������!��������2�!������������������� �.����������!�������������������
����������� ��������!������������@������!�������� �����������α3 @����������.���α2. ������������������3� )�� !��������� α� ���� � ����� ��� ���&&������� ����� ������ ��� ���� !�� ���� ������ 0� ��� M3�)�������!��!�����!��������������?�M����������!�����������������+���������������!�����-� ��-.���
��� ���� ���E����+�������@�!������!����� ����������.������ ����� �������3�#�����!�����!���������
�����?�0@�!������������������������� �������!������� ��������!������������3��
$� ������ ��� !�� !�����!����@� ����� ��+���� �2 ������ ��� ����������� ��� ����!����� ���+�������
∏−
= −−⋅α=M/
�C�C
//� [ MX 4�� 3�)��A����������������!� �������!��!�����������
<���4��������!�f��X`!��������g���aM[d�������(�3�(����������������!���������������!����2 �����
��������
� �= =
+−×−+⋅+−⋅=δ!�������`
�/
!�������`
�/
/�
/�� [WM�!�������X`[4��MX4��[M�/XU������(� 3�
�� 3����������������)���
)������������������������������!����������������������?������!������33R@���� ��+.�������!�����
��������+��������0@MO�?�M�X������MOi����M00i��������!�������������� �������!�������[@�����������
+���������������������������������������������0@3�
���������������� ���������� ���!�����!������������ ����3�)��,�������N���!�������������������
������������ ���� !�� !�����!����3� 6��� �2�� ��@� ���� ���� !�������� ������!�!���� 0@�@� ��� �������
�����������!�����������+�������+�����������!��������������������������������1@M�����@M� ������2�
!����������2����3�>�� ���� ������ �����+��� ���� !����� ������� ����������+����� ����������� ���
!�����!����� ������� ����� ���� �������� ���� ����� �������������� ����� ��� !��!��� ��� ���
��������������� �������� X��� ����!������ ��� ������!�!���� ���� !�������� ��� ������ ������ 0@� ��� 0@O[3�
!� ������@� ����� !����������� ���� ���� ��������!��� �������� �!!� ������� ��� ��������� ��� �������
/���������!�������!������+�!������2�����3�
)��� �2 �����!��� ���������� ���� ��� ���������� 6����� ���� ������ ���+������ ��� !�����!�����
������� �����?�0@3�
N�
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
0
2
4
6
8
10
0 0,2 0,4 0,6 0,8 1
efficacité des contrats
nom
bre
prob
able
de
cont
rats
tra
vers
és a
vant
la d
étec
tion
de
l'err
eur
absorption=0.8
pas d'absorption
absorption= 0.5
absorption=0.1
�
G��#���15�H�����!'%�����-"#���<�*"$%��% �
�
� �������������������������������������������������
Densi té de contrats
Effo
rt d
e d
iagn
ostic
(#
inst
rcu
ctio
ns) X#���%'�
�� �*"$%��%
0.2
0.4
0.6
0.8
0
100
200300
400
500
600
700800
900
1000
0 0,2 0,4 0,6 0,8 1
1
0.8
0.7
0.6
0.5
0.4
0.30.2
0.1
0
0.9
Pré
cisi
on d
u di
agn
ostic
Densi té de contrats
Effo
rt d
e d
iagn
ostic
(#
inst
rcu
ctio
ns) X#���%'�
�� �*"$%��%
0.2
0.4
0.6
0.8
0
100
200300
400
500
600
700800
900
1000
0 0,2 0,4 0,6 0,8 1
0
100
200300
400
500
600
700800
900
1000
100
200300
400
500
600
700800
900
1000
0 0,2 0,4 0,6 0,8 1
1
0.8
0.7
0.6
0.5
0.4
0.30.2
0.1
0
0.9
Pré
cisi
on d
u di
agn
ostic
�
G��#���3<�H��' #�%�% �-"#��δδδδ��%�∆∆∆∆��
*�������������+�����2 ����� �����I�@����������������������!� ���������������2�!����������
�� ���������� ?� ��� ������� ��� !�� ����@� ����� ���� ����.����� ������ ��2��� ��� ��������� X����!�!���� ���
������������!�������[3�*�!�� ����E���������������!��������?� ���������������������������!������
��������������������!�����-����-�������!����������M��+�!����!�����!���������� ��!����������?����
7�������������������������������
�
NN�
��������������3����� ���T��������������� ��!������������������!������ ���� �����������������������@�
!������������?�!��������������!���!�.����������3�
)��,������R0��� �������������E��������������������2��!-�������������������������������������
Y��������Z� ���� ������������!���������������� ��!������������+�3�)���!������� ���� ������������
���������!�������������� ����������������+������� ����������!�!��������!��������������������������
M000�������!�����@����!�����!������������ ����������������?�0@3�
)��������������������������������������!�����!������� �������� ������������������2�!�����@�
�3�3����������� �����������������!�!�������������������������!�������3�
4.3.4 Résultats et conclusions
#������,������R0@���������������������������������������� �������������������������!��������
��������� �� �������� ��� ��������������� ��� ����.��3� (������@� ���/���� ��� �������2� !��������
X������������������!�������[������������ ����������������������������.����������!���+��X��������
������� ���0@������� ��� !������ !�������� �+�!����� ����!�!�������0@���� ���0@N������ ��� !������
!���������+�!���������!�!�������0@�[3�(����@����������������!������������ ������ �����������������
��������� ������� !����� ��� ����� ������ ������������ ��� ������ ��2������ ��� ��� ���������������
�������3�
����� ��+������������ ���������!-��������!��������+���������
;� ���� �������� ��� 0@� X�,�,@� � !�������� ���� M0� ������!�����[� ���� ���� !�������� ����
����������� ���� ���������� ��� +������ ��2������ ��� ��� ��������������@� ��� +������ ���
������!�!���� ���� !�������� ������ ��2��� ��� ��������3� "���������� ���� ����� ����
����������>>@��������-�������������+���� ����������������������������0@� ����
����!������������ ��!�������������������������!��!��3� ��� �������!� �������������/������
���������������?� �������������������-����3�"��������������������!�� ��������� ������
�����!�������� ��+���������������.������-��������3�
;� )�� �������� ���� ���� �� �������� ���� ��� ��������� ������@� ���� ���� �������� ��2��@�
���������������������!�������� ���������!-���������+��������������������������3��������
���!� ���� �� ������� ��� �������� ��� ������� ���� ���� ������ !��!� ����� ��� ����
�������!��� ����� ��������� X ���������� ��� �������� !���������� ���� �� ������� �����
���������!������[@� ���I�����������������������������������������������������+��@�����
��������+������ ��!���������� ������������!���3�
)��!��!� ����� ���!�������� ���T�����!�!�����������!-����������!�!�� �������������������
��� ���������������������������.���+��!����������������������!�� ������@� ��@��������.���
������������@��������������������������!������.��3�
4.4 Conclusion $��!��������!�����������������+���� �������������� �!�����������!���������������2���!������
��� �������� ���� ����� ��� ����������� ��� ��� ��������������3� *��� ������@� ���� ������������� ��E����
M00�
�
"���������� ��� ����������������� �� �!�� ��� ��� !��!� ����� ��� !������� ���� ���
��������������!�� �������
�
!�� ������@�������������������� ����������!���������!������������������������.����� ��������
!������2���!�����3�
*�� ���+���@� �� ������� ��� ��� ������������ ����� !����� ���������� ���� ��� ����������� ������
������3�)������2���������������������������������������!��!����3�)��� ����.������������!������
��������������� ����!-�����������@����������.����������������������!��������!���!���.���3�4���
�2 �����!��� ���� ������ ��� ��2��� ���� +������� ���� ���� ����.����@� ��� �������+��� ���
!�� ���������������������������!��������!���+������3�)���������������������������������� ���
�������!��������!������������������� ������������������������������������������3�4�������!���
����!��������������������������@���;���?�����������������������@����������������!���������������
��!�������� ������ ������� ����!������2��������3��
)��� ���������� ���� �������� ��� ��� ������� ��� ����������� ���� ������ ������� ��� ������� ����
!�������� !����� ���!����� �����!��� ���� ��� ����3� *� ������@� ����� ������� ������� ������
� �����������+����� ������������������������.����� ����!�����������!�����������������!�����������
����������������������������������!���� �������!������������2�!���������!����������3�������������
�������!�����������!����2 ��!������� �������� ��������!������������������������������ ��������������
����!�����������������+�!�����!�������3�
�
�
��
���� �������������������������������
������������������������
7�� ���!� �� �� ������� ��� ��� !��!� ����� ��������� ��/��� !�������� ?� �� ������ ��� �����������
������ ���!����������� �������� �������2� ��/���� ��� ����.��3�(�� !��������!�@� ��� !����I��� ����
�� ��������� �����������/���@�������������������������@�������2 ��!�������@�����������H���������!���
����������!��������������/���3�4�� ���@� �����������!����������������������/���������!��!�����@����
��������������!��!���������������!�����I���������������������������!����� ��������!��+������������
����3� $�� !����� ��� !�� !-� ����@� ����� �� ������ ���!� ��� !���.��� ��� ����� ���� !��+���� ����
������!������ ������ ��/���3� *����;!�� ����� ������ �������� ���������� ��� ����������"� U������SSN�V�
Q���SSNRW� ���� ���.���� ���������� ��������� ��/��� ?� ������ ���� ����������� ��� !�������
7�)X7������� ���������� )�������[3� *����� ������� ����!��+�� ������ ��� ����!���� ����
������!������ ������������ ���� ���������������� ������������ ��!�������� ���� A����� ?� ����������
������������������������������X�+�����������!��������!���.��� �� �����!�[3�
5.1 Présentation de la problématique =�����������.���>>���������� �!��������������@�����������!�������S��/�����������-�������
����������������� ��!��������� �!��������� ���������-�������������������������@���������������
!��+������� ��������!������ ����/���@� ������� ������ ���� !��� ��� ����� ��������� X���� !-��!-���� ?�
!��+���� ���� ������!������ �����������[3� 4�� ����� ��/�!����� ��� ����� ����� !��������� ?� ���
� �!���!�����@� ����� ��� ��������� ���� ������������� ��� ������� ��E���� � ������� ����
�S�� ���������3� )���/�!���� ��� ���������� ��� �����������@� ��� ��+���� ����� ����������� ���
!�� ������@� ���� ����������� ���� ������� ��� !��� ����������� �B� ���� ����.���� ���� ��2�
������!������ ����������������+����E�����2������3�4�� �������!�������������� ������������������
������������������� ����������*����� ����������������"������!������-.��� �������������+�!�����
����; �����������!��!� ������� ��������������U���D�SSNW3�7������; ���������!�����������������?�
��� ����.��� ��!������� ���� ������� ���� !��������!��� ������+��� ���� ��� �������� ��� ����!����
M0� �
�
$���; ���������������������������������������������!�� ������
�
U*�����SS00W3�>�@�����!���������������������������!������!���������!������������ ��+�������������
����������������������������������!�� �����3��
6����������� ��� �J!-����� ����@� ��� ���!� ����+������������������!��!� �����>>@�?���+���� ���
���������� ��� !������@� ������� �������� ���� ������ ����� ���� ����!���� ��� ��T������� ����
�� �����!����� ��!��������!����I����� �������������������.��@����������������������?��S-��������
��� ?� ��� �������� ���������3� *� ������@� ��� ���������� ��� !������� ���� ���+���� ������@�
���!-�+�@���� ����������?� �������������� �����������������@��������+������������� �����������
�����������@� ��!��������@�?����������� ��-�����������/�!�������� �����!-��!-����?�!��+����!���
������ ��������F��3�7��� �������� ��� ������������ ����� ���!� ��������@� ������� ���� �������@� ���
����!����!���������F���3�>�� �����������������������+����!�� ��������������7�)@������������
���� ����������� ��� ������!�@� ��� !�������������� ��� �S��/���� ���+���� ��!�������� ?� ��+���
!��������� ������F������ !�!�� ������ ��� +���� ���� ��� ����3� (�� �����@� ������ ���������� ���� ����
Y�������������Z����!��������������+������������� ���������� ������������������!�� ����������
���� ���-�����3�4���� ��� !��� ��� ����@� ��� �I��� ���� ����������� ��� !�������������� ��� ���������� ?�
���2 �������� ���� ���!��� ��S��� !��� ��� ����� ����� �������� U$�����A�CSS00W@� ��� �E��� ���� ����
����������� ��� ������!�� �������� ���� ����� ���� ��������� ���� ��/�!����� �������2� ���
�2!� ������������ ����� U6�!C��SS0W3�)����������������� !�������������������� ������!�� ��+����
������ ?� !�� ������� ���� ������!����������� ��� ��+���� ��� ���������� !-�!���� �������� �����@� ���
�������� ����� ������3�4�� ����E�������.��@� ���� ����������� �S��/���� �� ���������� ����������
����!������������� ����!���.�������������!������!�������������������.��@�����������!��+���� ���
������� ����!��������������+������3�#����� ����������������������� �� ���������� �2-�����+������
���!�� ������������������������@��������������� ���� �����!���������������!�����+��� ����
�����������!��������������.��3�4���E��@������!�����������g���������������!������������������
����/�������������!������!����������!-�������������/����g� �����������������������������������
������� ��������������� ���� ��� ���/����� ���� �������3�(��!��������!�@������!��������������� ����
+���� ���!� ����������������������������������������E������������������������������������!�������
��� �������@� ��� ���� ���� ������� +���� ��������� ���������� ���� ������������ ��� ���������
!�� ���������� ��������3�)���������!����������!��!-� ��������!��!�������������������������
���!�������7�)3��
)��� ����.���� ��� ������������ ����� ��� ���������� ��� !������� ����� ���� ?� �S�2�����!�� ���
����������!�����%���+��������� ��� ����.��@� �����!����� �����S�� ���������� ����!����!��������3�
(�� �����@� �S��� �S�� �� ��!��� !������ ����� ��� ����!���@� ��� �S�� �� ��� ���� ���� ����������� �������
�S�2�!������@� ��� ���!� ��� ���� �� ����� ?� ������3� � $����@� � �.�� ��� ����� ��������@� ���� ���������!���
��+������� ��� �������� ���������� ��� ������� ��������!������ ��������� ������ ��/������ !���
������!������ ���+������� ������ �S��!-���!����� ��� ����� ��������� ���� !�� ��2��� �������� ����
�� �����!��� !�����%���+���� ���+������� ���� ������� �S-�������3� )��� �� �����!��� ������ -���
����� ������ ���������� ������������ �� ����S��/������� ��+��������� ������������������������+�!�
��+������g���� ���;E������������g��� ������������3�7��!���.����������������2�������!��+�������
�2 ��!�������!���������!�������S��/���������������E����������3�6����E����� ��!����@��������������
!������������������������������������������� �� �����������+�������������S��������������@��������
6������������������ �������������
�
M01
��� ��������� ��� ������� �S������!������ �S��/���� ?� ������ ��� ���������� ��� !������� �S7�)3�
)S�+��������� ���� ����� !����������� !����� �������!���+�� ��� ��� ������������ �������� �S���
���������� ��� !������� ���� ���!� ��� ������� Y��S������!������ ��� !�������Z3� 7��� ������!����� ���
!���������������!��������������� ������������������������������!������������������������+����
!��+���3� (���� ��� ������� ��� ���� !������ ���� ������������ ��������� !������� ��� ��+���� !-������
�������������� �����!��3�
$� ���������!���.����������� �� ���@���������/�!����������� �����
• ,�������������.�������!� ���������������!���������!�������������������2�!�����������
!������ ��� !��� ������!�����3� >�� � ����� !��� !�������������� ��!��+������ ����� ���
���������� ��� !������� ���� ����; �������� ��� �����������3� 4���� ��� ������ ����� ���
���������������23�
• �������� ��� ������� ��� ��� !�� ��2���� X���� ��� ������ -����[� ���� ����; �������3�
*����� ������� ���� !���������� �!�� !����� ������ �+��������� ��� ������������ �����
���.��3�
• #��������������������������������.��� ����������������������������!�� ��2��������
����; �������� ��� !��������� !��� �������������� ��� ��+���� ��� ���.��� ����� ����������
�����������+�����!������������������������!�������������������2�!�����3�
=����� !��� ��/�!����� ����� ��������@� ����� ��+���� ��/����� ��� �!!� ���� ������.��� ���������
!���.�����������������3�>�� ����������!-��������������/����� ������.��������!��������������������
��������������������; �������@��������� �����������@�����!!� ���������� ��+����!��+���������������
������!�����3�)�����.��������E��������A� ��!��� ������ ������2-�����+����������������!�����@����
�������� ����A� ��� ��@� ��� ��!-�� ��� !����2��� ����@� ���� ������ ?� ��������� ���� ����.���� ���
�����������3�
7��� ����� ���� ������.��� ��� ��� !���.��� ��� ����� ����� �������� ���� ��� ������������� !������@�
���������������������������������������� ��������U8����SSNRW3�4��2������������������!����������
?� �������� ���� ������� �������� ����� ��� !����2��� ��� ��� �����������3�4S�����@� ������������������
�S� ��!��������� ������������?�������������� ����.����!��������������������������������������
�����������������-������������� ���������������!�������2 ��!��������!����I��3�)S��!��+�����������
���� ��� ����������� !������� ��� ���������� �� ������������ ����� �����������@� !���������� ?� ����
������!������ ������ !��� !������3� )S� ��!������ ��� ������� �������� ������� ���!� ��� ������� ���
����!��������!���@���� ��2���������.��� ����!�� ��2�3������� �������������������������������
������������ ���� ���� � ��!������� ��� ������� �������� ��� ����� �� ������ ���� ���������� ����
������������� ����.������������������+���?������������S�������3��
)�����2�.���������� ������������������������ ����������������������!�@�������S����������������
��!�� �������� ��� ������� ����������� ��� !������� ��� ����;���������� !�-������3� *���������
���-���������� ������� ?� �������� ���� ��!-���!�����>>� ��� ���������� ��� ������� ���������� ���
!������� ��� ��� ��!������ ���� ������� �������3� *��� ��� ��� �S������������� ��+���� E���� +����
!����� ��� !��������������� ���� ��!����!-���!������ ������� �S��� ������� ���������� ��� !�������
M0�� �
�
$���; ���������������������������������������������!�� ������
�
!������3� (�� ���������� ���� ������ ���-��������@� ���� ����.���� ��� ������������ ��+���� E���� ����
��!�����������������������������������+�����������;��������3��
)����!�����R31� �������� �������������������!���.������ ����� ����!��+���� ���� ������!���������
!������3�������� ���������������������������.��� ��������������2�����; ������������ ��+����
������ ?� ���� ���.���� �����!����� ?� ������3� )�� ��!����� R3�� �������� ��� ���.��� ��� ��� -�� ����
������������������!������S����������������!�������� �� �����?��S����������������������3�(����@�
��� ��!����� R3R� ������ ���� ����!��� ���� ��!����� ��� ���.��� ����� ��� ��������� ��� �������
�S������!������ ��� !������3� )��� ��!������ R3O� ��� R3� ��������� �2!����+������ ���� ��!-���!������
����������������������� �������3�
5.2 Testabilité d’une architecture OO: définitions et méthodologie
*����� ��!����� �������� ��� !����2��� �������� ���� ������ ������ ��� ��� ������������ ����
����������� ��� !������� 7�)3� ����� ��+������ ����� �������� ���� ��� ��!-�� �������� ���� ���
!������!�����������������������������������������!����� ����!����������������� ����������!�3�$�
���������!�����������@�������������� ��������������������������-��������� �������!��!� ��������
����.���� ���������3�(����@������ ������������� �2�� ��� ��� ������� ������������� ���� ����������
!��������������������!��������!�����������������������������3�
5.2.1 Testabilité
)�� ��!����� ��� ������������ � ���T�� ����� �������� !����� ��������� ��� �����!���� ?� �������3� (��
�����@�!��������+�����������!������ ������������������!����u�)������������������������� ������
!��������?�!���������������������!����� ������!���������������������!����������������!������
�����������������3�*�������������+�����������?������!�����3�@����!��������!������+��2������
�����!��!����������������������������3�
������+������������ ��!-�� ��������������!�����������@�!�������������?����������������
����������� ��� ��� ��������������� X!-� ����� �[@� �B� ����� �� ������� ���� �2������������� ��� ���
������@�!��������������2�� ��!-���v�� ;��D���!���������� ���� ������������������������3�
4�������!��������������������������������������������������!������@�������+�������������������
��!�������� ���� � ��!������� !��!�.���� ���� ����������� ���� ���������� �������!������ ��� ���
�����������3�)�����+���� ������������?�!�����������!��������?��������� ��!�����������!���.�����������
���������!-��!-����?�����������@����?�E����!� ��������+�����������������!�������� ��������������
���������������!��������!��!���.��3��
)��!���.�������������+�����������!�������+��������������������������������!-���!����� ����
��� �����������@����� ����������������*����� ����� ����������"3�4�� ����E�������.������� �����������
��������!����� �������?������������������������!��!� �������������!����� ����!�����@���������;
�������� !����� ������� ?�������+������ ���������@� ���� ��+��������������� �����������������
!��!� ����� �������!���.��� ����!�����3���������������������2�����; �������� ������������������@�
���� !����� ������� ?����� !������������������� ���������������� !����������� ��+���� �����T����
&�������������������!-���!�����>>��������������������-���������
�
M0R
���� �� ���������� �����!���� ?� ������3� 4���� ��� ������ ��� !�� !-� ����� ����� ���� ������������
��!�������@�!����������� ���������2 ��!��������!���.��������������������!-��!-����?�+�������3�
7��� ������� ��� !�� ��2���� ���� �������� ����!���� ?� !�� !���.��� ��� ����@� ���� !����� ���� ?�
������������������������� ����+�����������!���.��@�������!�?�����������������!�]���������3�
5.2.2 Une méthodologie pour la conception de systèm es testables
����
,������ RM� �������� ��������������� ��� ��� ���-��������� ���� ����� ��!�������� ����
���������������������������������!-���!����@�� ��!�������������!�����>>3�)�� ����.������ �����
!��������-����!��������?����������������������������������� ��������������������!������3�*�����
�������� ����������� ��������� ��������������!��!� �����������������!������������������������
����!-���!�������� ��������+��������������������3�*�����!����������!��������������!�����R31@�!���
������ !����� ������� ?� ���� !�������������� ����!���.���� ����� ��� ���������� ��� !������� ����
��+����!��������?����� �� ����������������!�����?� ������@����������� ��������������; ��������
��� �����������3�6���� ��+�����������������������������������������@� ���������!����������� ���
���������� �������.�������������G� ���� � ����������� ������������ ������ !��������� ���� ���
�����������3�
4������������!������
$�������� ���!��!� ����
"����������!��!� ����
$!!� ��������� ����������!��!� ����
&����������� ���������
$���������������������
Q�����!����� ���� �� ��������������� ���������
�
G��#���3��H��'%/"���-"#���!'��"�������%� %�0���%'���#$��"��*�������
)����������������������� ����������������������!���������������������������3�*�������������
������ ���������� ���������� ���� ������� ��� ��� !�� ��2���� ��� !��� ������ !��������� ���� ���
������������X!�3���!�����R3�31[3��7��������!�����������������!����@������!�����������E���� �����������
���������� ��� ��/����� ��� ���������� ��� !������� ����� ���� /���� ��� � �����!���� ?� ������� ��� �����
���!!� ���� ��� ���� ������� ����� ��� !��� !��������3� 7��� ����.��� ������������ ��� ������������ ���
���������� ���� E���� ��� �������� ��� !�� ����� U,�D���SS0MW� ��� ���2 ������ ���� !����������� ����
��������� ��� ��+��� ���� ?� �+����� ���� ������� ���� ������!������ ������ ��/���� �����!����� ?� ������3�
4���������!�����R3�31�������������������������� ����@�������!�]�����@�����!��������?����������
���� �������� ��� ���� ���� ����!�������� ��� ���� �� �����!��� ���� � �!������ ��� �I��� ��� !��� ������
X!�������@� ��!�������� �!������[3�=����� ��� ����!���� ���� �� �����@� ���� !����������� !����� �������
��2��������� ��������+��������3�
M0�� �
�
$���; ���������������������������������������������!�� ������
�
5.2.3 Exemple
��)������
�����,�2��
"����+��
$+�������
U�������W%��2
U�������W%��2
U`�����+�������c�0W%����+��
U`�����+�������f�0W%����+��
%�����+�
%�����+�
%�����+�
U`�����+�������c�0W%��+�P��!C
U`�����+�������f�0W%��+�P��!C
U`�����+�������c�0W%����+��
U`�����+�������f�0W%����+��
�������
"����+��
$+�������
U`�����+�������c�0W%����+��
U`�����+�������f�0W%����+��
%�����+�
%�����+�
%�����+�
%�����D%�����D
�����D��
�����,�2��
%�����+�
U�������W%��2
U�������W%��2%�����+�
�
G��#���3(�H�������!!����'%�% �-"#������� %�"$$����������7���
C��F�����
a�2�!���X��������C[
B"��"R
�� ��7�
a�2�!���X��������C[
�$��0���6B"��"R��
�� ��7��
������� G�>
!����2�
C��F�����
a�����DX[a�����DX[
M!������#����
B""J
���*������P�����X[
������(+���X[
���*������P�����X[
���4������X[
���*������P�����X[
������(+���X[
���*������P�����X[
���4������X[
dM
7����0��B��$�G�>��
M�7�B�*J
��%��!��������7��
��%��-�����
!�������
�
G��#���3.�H�������!!�����*�� � � ���-"#��#$� "# = 6 %:!������� %�"$���#$���7���
����� �����������!�����2�� ����������������!�������� ����������������������!��!-� ������������
�����������3� *��� �2�� ��� !�������� ��� ��� ����;����.��� ���� ������ ��� ��+��� ����� ����
�������-.���3�)��������������������������,������R���!�������!�� ������������������������
��/��� ��+��3�7����/�������!����������������+�������!��������X������������[@� ��� ������������E����
�����+�� ?� ����� ������3� =����� ��� ��+��� ����+�� ?� ��� �������-.���@� ��� ���� ����� ��� ������@� �����
�����+�@� ��� ��� ���� ������ E���� �� �����3� #�� ��� ��+��� ���� ���������� ��� ������ ���� ����� ���
�������-.���@���� ����E������ ���3�
)��,������R1��������������������������!������� �������� ������ ������������!-�����������3�
4����!���������������!��!� ������������������ �����+.����������������!-��������������������
&�������������������!-���!�����>>��������������������-���������
�
M0O
������������ ������������������� ��������#��������*������3�&����������!������@�����!�����������
�� �����!��� ����� �������@� ����@� ���� ���� ������� ��� ����������@� ��� ����� +�������� ���� ����
���-������������������������������������ ���������2�� ���3��
)�� !����2����������� ���� ����������� ������������ ������ ������@� ��� ��!����� ���+�������!���� ����
�� �����������!������������������������� ���������������������������������������������!������3�
����� �� �����������������!���.����������� ����!��+����!���������!�����@��������������������!��
���������!��+��������!�������������!���������?����+�����!���������!���.��� �����������;����.������
�������������+��3�
5.3 Critère de test et anti-patterns pour les archi tectures OO
)������E�� ����� !���.��� ��� ����� ���� ��������� ��� ������ ��/�!���� ��� !����I���� �����E�� ��� ���
����������� ��� !��� ��� ����@� ��� ��� ��/�!���� ?� ���������� ���� ���� ��������3� 4���� ��� !����� ����
������!����������/���@��������������������������!���.�����������������!����������!��������������+����
!��+�������������������������!������������ ��������+�������!�����3������ �� ���������!����
!���.�������+����?�!��+���������������������!��������������/�������!� ��������������T���������������
�������3�)���������������!�������7�)��������� �!���!������ ���!� ������������� ������������!��
!���.��3� 4���� ��� ������ ��� !����� ��!����@� ����� ��������� ���@� ���� � ������� !�� !���.��� ���
����.��������������@�����!-���!����������E���������� ��!-������ ��������������� ���������3��
4���� ��� �����@� ����� !�����H���� ��� ���� ���!�� ����� ����������� ���� ����.���� ���
����������������������������������������!�������������,������R13�*��� ����.����!����� �������
?� ���� !�������������� ����!���.���� ���� � ���������� ����� ��� ���������� ��� !������� ��� ����
��+���� �����T���� ���� ����.���� ���� ��� ����3� *��� !�������������� ����� � ������ ���� ����;
�������� ���� ��� �����������@� ������������!����� �������?�����!����������������!���������������
����� �+����� ���� ���� ���������� �����������3� ����� ������������ !����� ������� ���� ����� ����� ���
��!����@� ��� ��������� ������ !������� ��-�������� ���� ���������� ��� !�� ��2���� ��� !��� ����;
�������3�
(������@��������!��+����!�������; �������� ���� ��!�������������������������������������
���������� ��� !������� 7�)@� !�� ���� ������ ��� �������� ��� !���.��� ��� ����� ���� !��+���� !���
������!���������;��������3�*�������!���������������� ���������������������2�� �����������������
��+����+�!����!�����������!����������� ����!������.�������+������������!���.����������3�
5.3.1 Analyse informelle des anti-patterns de testa bilité
����� ��!��+���� �!�@� ��� ����.��� ����������@� ���� ������!������ ���� ����� ������������ ����
�+������ ��� ������������ ����� ���������� ��� !������3� 6������� ���2�� ��� ��� ���������� ��� ���
,������R1@�����!����� ����?�����2�� ����� ���������!-���!�����>>3�(�������@�������!��������
�����������/����������������������-�������@�����!�����������������@�������������������������������3�
$�� ������� ������@�!�������!-���!����� ��+.������� ������ �����;�� ����������� ���� ��� �����������
���� ������������ !������3� 6��� �2�� ��� ������� ���� !������� ������� �� ������� ���������� ��� ������
M0� �
�
$���; ���������������������������������������������!�� ������
�
������� ��� ��!���� �>>'� ��� �>>'#&$&(� �� ������� ������ ��� �������3� 4������� ���@� ����
�� �����!��� ������!���� ��+���� ������ �2�����@� !������������>>'(Q(�&� ����>>'� ?� ���+����
���2�!-��������������������������!���������������2�!�������������������+����>>'#&$&(3�4�������
���!���������������������������!�� ��2��@����������������������������������������� ����������
����������������� �������������!�������!-���!�����X�������@���������������������!��+����������
!�������� ��� ��� ����������@� �������� �2 ��������@� ���� �� �� ������ !�� ��������[3� )���
���2�����!������ ����.�������������������������������������!�������������������+���������
• =����� ���� ���-���� m1� ����� ��� !������ �>>'� �������� ���� ���-���� m� ��� ��� !������
�>>'#&$&(@� ���!�������>>'#&$&(� ������������� ���!�������>>'� ���� ��������m3�*����
����������������!�������>>'� �����S�� ����������;�E�����������������������>>'#&$&(3�
• =���������!�������>>'(Q(�&���������������;�E��@������ �������������������2�����.����
�����������������!��������+�!��>>'���� ����.��������������������-�������������+���
�>>'#&$&(������� ������>>'3�
)�� ������� �2�!�� �S������!�����@� ������ ���� ����� !�� ��2���@� ���� �����!���� ?� ����������� ���
���������+��������� ���������������@�!����� ��������������+������������S������.��� ��������
�������������������������.����2-�����+�3��
*��������������������������������+����!�����2�!������!��������!��������� ��+���������������
������������������������!�������S����!������?��S�����@��������!����������������������� �������$���
$����������@�����!����� ����?�����!�����������S�� ���������;�E��� ������������������ �����!���
��������+����S�����������3��
��!��2#���� ��������!����� ������;������������ ������� ��E���� ������ ��� ��� Y�!���;��!C�Z3�
*� ������@� ��������������������������������?������������?��������������������������;������������
���I������!��������Y�!���;��!C�Z� �������������������; ���������������������@��������������������
������� ������ ����������� ��!���� ��� Y�!���;��!C�Z�X���� ����� ����� � ��� ��� ���-���� ����
����/���� ������ ����!�������@�� ���������-����� ���� �� ��������2��+.������������ ���5��
������������^[3�7�����!�����������������������������@�!���������� ���+������� ��� ��������@�
����� ������������ ��������!����� ��� !������� X��� ���!� ��������@� ��������� ���� ����!��� ���� ���
���������� ��� !������[� ��� ��������!����� ����/���� X��� ���!� ����!���� ��������� !��!����� ����
���������� ������ ��/���� ��� ����.��[3� >�@� ��� Y�!���;��!C�Z� ��� !��!����� ���� ���� � ���� ���
���-���������!�������������/�����������.��3�(����@���������.���������@������� ������ �������@�����
������� ��������� ���� ����� �������� ��� !����� ���!��� ��� ���� ��� ���-����3� )�� Y�!���;��!C�Z�
����������������������������/������������ ���� �����/������������� �����!�����/��3�>�@�!�����������
������������������!������������; ���������������������@������� ��������������������/�������� �����
���� ���-���� ���� ��!���!-��� ��� � ��� ��� ���-���� ���� ���;�E��� ��� ���!� �����T���� ����
������!��������� ���� �� ��� ����3�4����!�� !��@� ��� ������������� ����;����������������� �������
���!� ����� �� ����� �������������������; ������3�
*���������!������ ��+����E����+����!�������������; �������� ������������������@� ������������
�+�!� ��������; �����������!��!� ����@����!����������������!����� �������?�����!��������������
*���.������������������; �������� ����������!-���!������>>�
�
M0N
��!�����������������������������!����������� ��+�����+��������!��������!���������+����������
�������������������!���3��
$%�=-�%%��$�-"#������� %�0���%')���������*����� �� �� "������$�����$���������$�������$ ����
�"������������ �$�� ��������� ����� $�� �����/��� �� ���$��� ,� ����� �� ������� 1� $���
���&��$ ������������������ ����������������#$����$����� �N�� �$����$����������������&&� ��
���������"������ ��1�����" �&���������$�� ��' ���������,��
)�� !�� ��2���� ���� ���2� ����; �������� ��������� �������� ���� ���������� ��� �� �����!��
���+������� ��� ������ �S-�������� ��� ������� ��� ������ -����3� )�� ��!����� ���+����� ��������� !��
����3�
5.3.2 Complexité de l'héritage
)��!�� ��2��������?��S-��������� ���T�������������� �����!�����������+��� ������� �������
��� ���������-�����!-�����S-�������3�#������,������R�@������������������!��������!����������*�?�43�
)S������!���������!�� ��2��!������*�������������������!��������!������$����$����$M@�!���������
!������� ���� ���/����� ���� ���������� ������������ ������ �����3� (�� �����@� ��� !���� ��� $� ����
�� ������ ��� $� !����� ��� $M3� 4���� !�� !��@� �S������!����� ��� *� �+�!� !-�!���� ���� ������
������������� ������������ X$����$����$M[������ E���� �2������@� ��� ���� !-�!�����S�����@� �����
��+�����2�������������������������������!���������������-�����!-�������S-�������3�*� ������@����
!������������������.���X����������������� ���� ��!��[@������ ��+���������������!�� ��2�������
�S������!����3�(�������@� ��� ����!�������$����$����������!��������S�������!�@������ ��+���������
�������� ����*���� ���� ����!��+������ ��������� ����$M� ���$@� ���� !������� �������� ����������
������!���!����?�!������2�!�����������������!���S������!������+�!����!������4�������������������?�
���!������$M3�
�
� (
(� ((�
�
�
G��#���31�H��$%���*%�"$����*�� � �F�%��7�� �#$��/�'���*/����?/'��%����
>�� �������� ���!� ���� !����������� ���+������ ���� ���� ������������� ���� ������ ���.��� �����
!� �������� ��������������������!������3�)�����.�������������+�������������������� �����!���
����������+����������!E��������!����������������+���� �������!�����������������������S-�������3�
4�� �E��@� ��� ���.��� ��� ����� ��� ����� ��� !����� ��� �� �����!��� ������ ���� !������� �_���@�
MM0� �
�
$���; ���������������������������������������������!�� ������
�
�����S������ ����� ���/����� ���� ��������� ��� ����� ��� +��� ��� ����3� (����@� ��� ���.��� �����
��������������������!�� ��2��������S������!����3�
5.3.3 Critère de test pour des systèmes OO
����� ��+������ �!�� ���� ���� ����; �������� ����������� ����� ��� ��!����� R31� ��� ��� �������� ����
����������� ���� ��!�������������������������������������������!�������7�)3�)��!���.������
����� ���� !��+���� !��� ����; �������� ����� ��� ����� ��� ���� ���������� ���� ������ ������3� ��� +���� ?�
����������� ���� �������� ����� ?� ���� ������� ��� ����� �������� ���� ���������� ������ ��/���� �����
!�� ��2��3� 6��� �2�� ��@� ��� ��� ��/��� ������������� ������� ����� ������ �������.��� ������!��� ?�
���+���� ��������� !-������ ��� �� �����!�� ����������@� ������� ��� ����/��� �������� ���� ��+�����
��!�-������ +��;?;+��� ��� ����/��� !�����3� 4���� ��� ���� !��@� ���� ����� ���� �������� ���� !-�����
��������� ��� ����������� ��� ��� ����!���� !����� ��!�-����!���� ��� ������� ������� !����� ������!�����
�2 ��!���������+�!������������!��������������3�
4�����������.���>>@�����!��������� ��������������������������� �������������������3�7���
!��������������������!������������������-�����������!�������������� ���?��������-���������@�����
��� ��������� ��� ���� +�������� ��!���� ��� �� �� �3� *��� ���������� ����� �� ���������� ��� ����
����!������� ��� ���� �� �����!�� ��� �� +���� �� ���� ��� ���������� ��� !������3� >�� � ����� !���
����������������������������!�����������������3�
����%�"$�����*%���?#%��� �%�"$)����%���$��� ���������� ������O$���������������������������� �����
����������$ �$������ �����������������8+��O����/�����$����������������$�$����"������������
��1��,��������������O������������������� ��"��+������"�����������/������������1�����������1��,�
O������������� ����������$�������������� ��������$ �$������ �����������������������"����,�
�� B��$ �� PP� ���$�� �� ���� ��$/� �%���� ��� ��������� ��� �� ��������2� $��� ������������ ��� �� ����
��������C��F���������C��F����$����"������������ ��C��F���������C��F,�
)��������� ��� ��������� ����!��� ���� E���� �������� ?� ���� ��������� ��������+�� �S�����������3�(��
�����@� ���� ��������� ���� �2������ ������ ���2� !������� �� ��� ���E��� �S��� �S�� �� ��� ����!������� ���
�� �����!��������������V�!�!�������]���2�������������������+��3�
����%�"$�%��$ �%�7���?#%��� �%�"$)���&� ���$ ��� �����������������"&�������$�������� ����������
� �����������O$�������������� ���������������$����� ���������������,������������������������
��������� � ���������� �$����������,� ��� �������������� &������ �� ���� �O�������������� �O$���
��������� ����������O$������������O$����)��������������������������$���O��)����?���������������+�
����� ������ ���$��������������������+������!��+��������� ���,�
*���.������������������; �������� ����������!-���!������>>�
�
MMM
B""JC��F�����Y �����Z B""JC��F�����Y �����Z
B""JC��F�����!����2�
M
�
G��#���33�H�����%�"$ �����*%� ��$%���*�� � �
6����2�� ��@� ���,������R��������������2���������������������!��������>>'(Q(�&�����>>'3�
7��� �� �����!�� �������� ��� Y������Z� ������ ���� ���2� !������� � �!����� ���� ��������� ����!���
�������������3� )�� ��!����� ��������� ���� ��������+�� ?� ���+���� ��� !������ �>>'#&$&(3� )�� !������
�>>'(Q(�&��� ��������>>'#&$&(������� ��������>>'3�)��!�������>>'(Q(�&� �������!�
�� �������������.�����������+������>>'����������������������������+�!�������>>'#&$&(3�*�����
������������������������������!��+������������-���������>>'#&$&(�� ������ ����>>'(Q(�&�
�����������������+�!����������� ����>>'3�)���������������������!��������,������RO� ���������
���� ��������� ��������+�� ����!��+�� ������ �>>'(Q(�&� ��� �>>'3� )��������� ��/��� ��� �� ��
�>"">K�X���!������ ���>>'(Q(�&[�� �����������-����borrow() �������!������>"4("(4@�
!��������-����� �����������-����setCurrent_state() �����>>'3� ���� ���T�����!�������
��/�������� ���>"">K��� ��������!��+�������������/�������� ���>>'�+��������/�������� ��
�>>'#&$&(3�
B""J
���*������P�����X[
C��F�����
�����DX[
C��F�����
B"��"R
�������
�����DX[
���*������P�����X[
���C
033MY �����Z
Y �����Z
B""J
���*������P�����X[
C��F�����
�����DX[
C��F�����
B"��"R
�������
�����DX[
���*������P�����X[
���C
033MY �����Z
Y �����Z
�
G��#���3,�H�����%�"$�%��$ �%�7����#%��� �%�"$��$%���B��C������%�B��C�7���B��C�����
4����������� ����������� ���� �������� �S������!����� ��� !������� ��� �S����;�����������3� *���
������!����������� ������������ �����S���������������!�����?� ����������������������!�����������
��������+���������������� ����!���3������������������������ ������������������!���������/��������
���� ���� ������!����� ����!��+�� ������� ���� ���������� ������ ������/���� !�������� ����� �� �������3�
*��������� �S������ ������ ��+���� E���� ����!����� ��� ��+���� ������.��� ��J!�� ��2� �����������
�S��/���������2��������������� ������!�3�*� ������@�!�������������������������������+���
����������������.��@�������������!� ����������!-�����@�������� ��+���� ���E������ ������ ����
����!���������������������!����������!��+���������������.��3�*������2��������������������������
������������������������+�����3�
MM� �
�
$���; ���������������������������������������������!�� ������
�
�#�����>�������*��������D �����C
�����D
���*������P�����
�
G��#���34�H�������!!����� '2#�$*�����# %��$%�#$������%�"$�%��$ �%�7���&&�*%�7���$%���
B��C������%�B��C�
�$%���*%�"$����*�� � �A�$%���*%�"$�-"%�$%�����E)��������� ������������������������ ������������
C����� ��$�������2�∃����∈�Θ�����)�∈�Θ+�����≠��)+�����#$�������C��������)�C,�
� �������� ���������$��*$��������������� ��$����$��$ �������������������������,���B��$ ��
PK����$�� ��������$/����&��$ ��������"�" �#$��,�
$ �
4�
d
4
d$ �
4�
d
4
d$ 4
d
$ 4
d
�
G��#���3;�H��$%���*%�"$����*�� � ��%��#%"=#%��� �%�"$�
)�� ,������ R�� ��������� ���� ������!����� ��� !������ ������ �>>'(Q(�&� ��� �>>'3� 4��2�
�� �����!���������!���!�������������� ���������������������!����3��������?������������������.���
��������@� ���� ������!����� ��� !������� ���� �� ������� ���� ��� ���2� ���������� ��������+���
�S�����������3�
�$%���*%�"$��?"0@�% �A�$%���*%�"$��&&�*%�7�E)� ����/�����$��� ���� ��������O��)�����O$����)������
���������������1��?��������������C�����2�∃����∈�Θ�����)�∈�Θ+�����≠��)�+�����#$�������C��������)�C+��$�
������,�
�������)���������� ���������� �����������&&����������$ ���������?,��������������>�
���� ����������������������&&����������$ �������)���+������*����� ����������������,�
6����2�� ��@���� ����������������������!��������,������RO���������!�������������������
!�������������,������R�@���������!��������!�������������>>'(Q(�&�����>>'���������������!�����
����/���3��
*���.������������������; �������� ����������!-���!������>>�
�
MM1
��"-��'%')� �� ���� �� �O���� �������� ��� ������� ���� $��� �� ��� �$�" ��$ �� �$� ���� ��
�O���� ���������O��)���,�
)�� �� ������ ���� �+������� ��� ��� ����� ��-� ��-.��� ���� ��� !���� ���� ����+�� X ������������
����������������?��S������S���$8)�� �� ���[�������.��3��
����������� ���� ����� �+���� ������� ���� ������!������ ��� !������ ��� �S��/��@� ����� ��+����
�������������!���.����������3���
���%:������%� %)�A�$ ��!�#$������*����� ���������������"�2�
− ����� $�� ���� ��� ����� ���� � ��$��� #$�� �/"�$��� $��� ���� ������� �O��)����
�� ����������+��
− �����$�� ���� ������� ��$���#$��)$���&���#$����������*����� ��������&�������,��
)�����������������!���������������� ������������������� ����������������������S������!������
���!������������� ����+�3�)������ ���!� ������!��������������������������������!���������!���������
����������� ��� ���������� ��� !������3� (�� �����@� ��� ���������� ����� E���� ������ ��!-�� ����
��������������� ���������3��E����+�!����!���@������� �����!�������!��+������ ��+���� ���E����
���������������������@�!����������������>>� ������������� ������ -������������������������+�3�
6�������������������������!���������!������������������������ �������������������S������!������
�S��/���@� ����� ��!���������� ���/������ ���� ������������� ���� ��� ���������� ��� !������3� *���
������������� ��+������� ��������� ��� �������� ��� ������� ��������!������ ��� !������@� ��� ���!� ���
���������������!����������!��+��3�)������������������ ���������������������!�����������X ���
�2�� ����2 �������������������������������� ���7�)[�������� ������������������� �!�������
������� ��� ���� ���������� ��� ���� ��+���� E���� ������������� +��������3� )��� ���� ��� ���
+�����!��������������������+�������!���� ������������������������S��������������3�6����2�� ��@����
����������� ��Y�����������Z������� ����� ���������� �����!�����$�+�����@����!����������!������
$� ��+����� � ����� ���������� �������-����� ��� !�������� ����3�*����� !���������� ��� !��!� �����
����E����+����������������������������!���3��
5.3.4 Exemple pour la génération de test
*����� ��!����� ��������� ��� ����������� ��� !��� ��� ����� ������������� ��� !���.��� ��� ����� �������
��!��������� ���� ���2�� ��� ��� ����.��� ��� �������� ��� ��+���3� 4��2� ������!������ ������;
�������������������������!��������!������������ ���������������������������������,������R1��
− $7M�����>>'�+��������;�E���?����+�����>>'(Q(�&��
− $7�����>>'�+��������;�E���?����+�����>>'#&$&(�
− *�� ������ �>>'(Q(�&� ��� �>>'� ��� ���2� !-������ ����������� X��� ����!�� ��� ��� ������
�������?����+�����>>'#&$&([3��
MM�� �
�
$���; ���������������������������������������������!�� ������
�
)��!���.����������� ��!��������������� �����������!����������� ����!-�����������!����3�#������
������!��������� ��������� �����������@������ ���������������� �������!����������!���������!��+��
����� E����������3�7��!������ ����� !�����������!�?�!��������� ������!��������C����?�� ���������
���-���������!�����/��3�
�� 8������"9��
7��!������ ����� !��+�����$7M������ � ������������-��������>>'� ���� �������� �����������
!�������3� 4�� ���@� !����� ���-���� ����� � ����� ���� ���-���� ��� �>>'(Q(�&� ���� ��������
�>>'3� 4���� ��� !������ �>>'@� ������ ��� ���-���� manageEvent() � �������� �����������
!�������3�4���������������!�������!��!�.������ �������������+.���������������-�������������
������������+�������
execute(Book b){...}
4��!������������!����������+.���������������������!�������>>'3�*�����manageEvent() �
�������������/�������� ���>>'(Q(�&@����������!���������������� �����manageEvent() �!��+���
��������!�����$7M3�Q��!������2�� ������������!�����������X&*M[���
public void testManageEvent(){ Book b = new Book(); b.manageEvent(“setDamaged”); }
�� 8������"9 �
7�� !��� !��+����� $7� ��+����� � ����� ���� ���-���� ����� ��� !������ �>>'� ���� ��������
�����������currentState 3�(������@� ��������� ���������-������������!�������>>'������ �����
�������-��������!�����������3�)�������!�����������;������������$7��������!�����������3�
� 8�������%��
�����C �*��������D �#�����$+�������
�#����������D��
�2�!���
���*������P�����
�#����
�����D
*�����$!����
���*������P�����
�
G��#���35�H�������!!����� '2#�$*��-"#�����*� ����%� %�$[.�
*���.������������������; �������� ����������!-���!������>>�
�
MMR
)��!������ ������������!������������� ������������-��������>>'������������� �����������
!�������@� �����������������!�������>>'(Q(�&@����������������!�������������!�����*�3�6�������
�����!��+���� ���!-���������!������>>'(Q(�&�?����C���� ���!-���������>>'(Q(�&�?��>>'�
���� ���+������>>'#&$&(3� (�� �!��+���� ��� !��� ��� ����� &*M@� ����� �+���� +�� ������ � ��� ?� ���
���-���� manageEvent() !��+��� ��� ��������� ��� ���C� ?� �>>'(Q(�&� ��� ������ ��� ���������
����!�������>>'(Q(�&�?��>>'3�)��!-���������!������>>'(Q(�&�?��>>'��������!�!��+����
������!���������������� �����������-����manageEvent() ����>>'3��
6����!��+���������!����!-���������>>'(Q(�&�?��>>'�X?����+�����>>'#&$&([���� ���?�
manageEvent() ����� !��+���� ��� ��������� ������ �>>'(Q(�&� ��� �>>'#&$&(3� 6���� !���@� ���
������ ���������+����������������������������� �������������������+��@������!��!���������-����
execute() �������+���������������������������+�������
execute(Book b){b.getState();...}
(������@���������������������������������������������2�!����� ������ ������+.������@�������
�������������������>>'#&$&(�����>>'�����!��+�����?���������@� ������������!��!���������-����
����� ������� !��!���� � ����� ���� ���-���� ���� ����������� context 3� 6��� �2�� ��@� ��� ���-����
borrow() ����� ���!������$Q$�)$�)(������!-������ ����������!����2���������� �����������!��@�
������� ���+������������ ���������� �������available � ��!���!-������ �����������+���� �������
borrowed 3�Q��!�����!����!����� ���������
class Available{ public void borrow(){context.changeState(new Borro wed());} }
6���������������������.�����/�!�����������@����!�����������&*����+����!��+�����������!�����
*���������>>'(Q(�&�����>>'@�������,������RN�����������������������������!���� ����������
���2�!���������!��!����������3�
public void testManageEvent(){ Book b = new Book(); //the book is in the ordered state b.manageEvent(“deliver”); //puts the book in the a vailable state b.manageEvent(“borrow”); }
)��&�������O������������������������������������� �����������������.�������������������+���
X,������R1[�?� ���������!���.�������������������!����� ��!������3�*���������� ���������������������
!-����� ����; ������� ������� ����� ��� ���������� X��������� ��� ���[@� ���� ������ ����� ���� ����;
��������!��+����� ���!-�����!����������3��������������������!�� � �����������������; ������������
��+������� E���� ������� ?� !����� ���� ����;!������� ��� �>>'#&$&(� ��� �>>'(Q(�&3� )�� ��!�����
R3�31�������������!��!���������!�� ��2�������!�������; �������3�*�����!�� ��2����!����� �������
���������2�����������; ������������ ��+����� ���T��������������+����E����������3�
��0���#�4�H���--"�%����%� %�-"#������� %�"$$����������7�� �
� #7M� #7� *��
#������ � ����������� �
&*M� \� � �
&*� � � \�
MM�� �
�
$���; ���������������������������������������������!�� ������
�
)�������:&��!��@�����������+�����+��������!-� ����� ��!�����@� ����E������������ ����������
�����������������!���������������������������!���.����������3�(�������@�!������������� �����������
���!��� ���2�!������ ���� ���� ���������� �!����� ��� :�+�@� ��� ���� �������� ��� !����T���� ����
������!������ ����!��+��� ��������/���� ��� �����������-��������� ���� � ������ ���� !�����/���3�)���
���!�������������+�!�:&��!��� �������2�!���������&*M����&*1���������������������$���2���3�
5.4 Modélisation des anti-patterns 4����������!������ ��!�������@�������+�����2 ��������� �� ����������������.���������������
�������������!���������+�����+�������� ���� ��+��������������2�!������������������������!������
���!������ �����������.��3�)�����.������������ �� �������������������������� -������������
���������!�������.������������+������?� �������S����������������!�������7�)3�7��������� -��
�S� ��������8�� -������4� �����!������*������� X84*[3�$ �.���+����������� ��!�������� ���
!������!��������!����� -�����������������������������!�� ����@�������������������.������������
�� ������� ��� ��� -�� ���� ������������ ������������� ���� ����; �������3� )�� 84*� ����� ��� �����
����� ������������������-���������� -��!���������� ��������!������������; �������������������
�����!�� ��2���3��
5.4.1 Construction d’un graphe à partir d'un diagra mme de classes d'UML
7����� -�� ��� �� �����!��� ��� !������� ���� E���� !��������� ���������������� ?� ������ �����
�������������!������3�)������������������+������ ��!�������������� ����������������84*������
!�������@����!�������������������?� ������������������������!������3�)S�����������������������
!��������S�������.��������������� ����@�����X![����������S����������������-������S����!������
!�∈��3�
$�M��-/������'-�$��$*�������� � �AM��E)����� ��!������"�����������������������$���
��� ��;��5-E+�Γ.+��>�2�
*� E����� �O��������������������+��!�#$��������� �� "��������$�����������O$���%��'���
� ����"���)��,���������������� �� "����"���� �$���������������,��
*� Γ������O��������������� ���-/+%.�∈�E?+������"��������������� ���� ����"���--/+%.≠-%+/..�
���� ����� ����$/��������+�/����%+� �� "������$����"���������������������� �� "����"���� �/�
1����������� �� "����"���� �%,������ �������� #$"��� �����%�������"���������#$���/�������� ��
���� ��$/� �������+� 1� ����� � �"���������� �O$����������� -������������ �$� �"��������� �8.� �$�
�����!" �����,���
7��84*� ����E������!��������!���������?� �������S����������������!�������7�)@������.�����
��������������������������������,�������03�*���������������������������������2 ��!����������
�������������������+�����3� �����A����@� �����S����������������� ����!-�����!���������!-�����
������� �� �������� ���� ��� ���� ������ !�����@� ����� ���� ������������ ���+�����@� ��� �������
!����� �������?�����!������!��S� �������� �������!3�
���������������������; ��������
�
MMO
�%�2#�%%� �����*)��!�#$��� �������$��;��� �� "������$����"������������ ����$/���������
�O$���%��'���� ����"���)��,��� ����� ����������������∈����������∈��������� #$"��� �����%������
�"��������� �/������� ��� �� �� ��� �,� ��� �"���������� ��$����� (� �� ��� ��$/� �%����2� $�����������
-"��#$������.������$����������$�!" ������-"��#$������.������≠��������!" ��������,�
�%�2#�%%�� )� ��$�� ���������� $�� ��������� ��� �"�!����� 1� �O"��#$����� �� #$�� �� ������� 1�
�O��������� ��� �"�!����� ����� 8-�.� �����%"� �� � ��� ������� �,� �� ����$ � �� � �"&�$�� ��� ����
��������� ����"�!����� ����8-�.� -����� #$�� ��$�� ��� ������������ ���� ��� ��$�*���������8-�.�
$�����"� �� � �.,� ������ � ���&� ������� ���� ���$�� "�� ����� ��� B��$ �� QR-�.,� ����� ��� ���� �$���
�"��������� �O$����������� ��" "��%�"� �� � H�����������I� � �$� H� ����I� ��� �� ���� �������� �� ��� �+�
�O��������� ��� �"�!����� ������"��� 1� �O"��#$����� �� ���� -� ������ -..� ��� ����#$�� #$�� �� ��������
��$�����������"�!�������� "������������������1�� ��� �������� ���������O$����������,��
�%�2#�%%���)�O"��#$������O!" �����������" ��"�������$/�"��#$������2��*�!��������*�� ����-B��$ ��
QR-�..,������∈��+���∈���*6�7+������!" ������ �������������+���� �����%���$��� ��-�+�.��� #$"���*
�!�������$��� ��-�+�.��� #$"��*�� ���,����������$������� &�����$ �+��� �-�+�.��O�/���������-�����
��� ���+� �� ��� ��$�� ���� �����%� � �����"�!����� ��� �+�B��$ �� QR-�..+� ��� ��� ��� ������� �� �"�����
�O�$� ��� �������+� ���� � ��� �� #$"�� �� ��� �� �O�/������� ��$�+� ����� ����� �"����"�� �$/� ��&�����
���� ���������-���B��$ ��QR-�..,���
�
�M
�
�;*-���
�M
�; �����
X�[
H ���� &��� I�
�
�M
�
�;*-���
�M
�
�H ���� &��� I�
�
�M
�
�;*-���
�M
X�[X![
X�[
�!
�!
�!
�!7X�X�[[
�!
�
� G��#���,<�H��� �%��$ &"�!�%�"$ ����0� ���?#$�������!!�����*�� � � �����$�#$�
M���
4�� ��������+����������@�������+������������S������ �����!����� ������?��S������@� ��!��
�����������������!��?������/�������� �� ������ ������������������/�������3�$����@����������������?�
���� !������ ������ ��� �� ����+���� !-����� !������ �����3�)���� �����!����� ��� !������ ������ ?� ���
!������ �����������+��������!��� ������������������� ������������-������-�����������3�
)��,�������M����������2�� ����������� -������� �����!�����!��������������?� �������S���
����� ���������� ��� !������@� ��� � �������� ���� �.����� ��� ��������������� �������� ����� ����
������������!�;������3�
MM� �
�
$���; ���������������������������������������������!�� ������
�
��
� bb�������!�cc
C
B� B(
B(� B((�
M
�
��M
!
��M
�;*-���
7X�X�[[
�7X�X�[[ �;6�����
�;6�����
�;*-���
�;*-����;*-���
7X�X![[
7X�X![[�
��M
!
��M
�;*-���
7X�X�[[
�7X�X�[[ �;6�����
�;6�����
�;*-���
�;*-����;*-���
7X�X![[
7X�X![[
�
G��#���,��H��>�!-���M���
5.4.2 Détecter des anti-patterns à partir du GDC
����� ��+������ ����������� ?� ��� ������� ������; ������@� ��� ���� ������������ ��� ������� ���
�� ������������������������������ -�3�6����!����������� �������������������������!-��������
���!�!�������������� -���������������!��������� ��������������������; �������3�
�/�!�$)�����!������������$��;�������$����"#$������������������5�</��+�/�?+�/�J+9+�/�F=�
�����#$��2��
− -/��+�/�?.�∈�Γ�+�-/�?+�/�J.�∈�Γ�+9+�-/�F*�+�/�F.�∈�Γ�
− /��������� �������$��!�����������������"�� �����-�.��
− /�F����&��+�&��-�.�
− ����/�)�-?�≤�)�≤� �F*�.+���������������������� �"���� ���-������������������������
���������"����������-A..,�
�6*��)��������$���!����+�������$���%��������&��-A.�5�� �����-A.,��
�/�!�$��%�*6*���'�'!�$%����)�����!�����"�"������ ������$����"#$���������������������#$���
�%����� )������ ��$/� &���� ����(��� ������,���� �%���� "�"������ �� ���� $�� �!����� "�"������ ��
�������#$�����$�������������� ���������� "�"�"�$���&���,�
#������,�������M@�U!@��@��@��W����U!@��@��@��M@��W����������!-������������������@������
U!@��@��@��M@��W���������� �����3�4���E��@�U!@��@��@�!W��������!�!��������������@������ ���
U!@��@��@��M@��@�!W3�
�$%���*%�"$������� ��A��E)�����/�����$������� �������������������-�+�.����������������∈���1����
���������∈���*6�7+��O����/������$���������$/��!������"�"������ ���A�����A?������#$��A��≠�A?����
-� �����-A�.�5�� �����-A?.5�.�∧�-���-A�.�5����-A?.�5��.�∧�-���������-A�.�≠�����������-A?..,�
���������������������; ��������
�
MMN
��� �!����� � ��� ����� $��� !�" � �!��� �O!" ������ ��� ����� ��� � ��� �� � #$�� ����� $��� ��$���
�� ������+��,*1*�,�#$��������������� �#$������� ������������������������&������$/���������
�� ������$������ ������������������������ ������$/�����������&����,��
��!7X�X�[[ 7X�X�[[7X�X![[
��7X�X�[[
7X�X�[[
7X�X![[
�7X�X�[[
�
G��#���,(�H����� #��#$�M���
*����� ����������� ��� �S������!����� ��� ������ !�� ��� ���� ���� ������!������ ���������3� 6���
�2�� ��@��������84*�������,�������@����2�������!���������������!��������*X�@�![�����*X�@��[@��
������� ���� ��� ���� ������� ������!����� �*X�@� �[� �S���� ��� ����!���3� ����� �� ������ ������ ����
��������������������!������������������!�����@� �������������������������*X�@�![�����*X�@��[��������
�����������*X�@��[3�
#%"� %��� �%�"$�A E)�����/�����$������� ���������$��*$��������������-�.��$ �������������∈��+��O����/�����$���%����"�"������ ���O� �������,�����*����� ������� �����$�������@$����$��%���,���
����%����� ��� �����$���!�" � �!����O!" ������������ ���� ����!�" � �!�����$������������$���
�� ������+��,*1*�,�#$�����������%����� �#$������� ������������������������&������$/���������
�� ������$������ ������������������������ ������$/�����������&����,�
��!7X�X�[[ 7X�X�[[
7X�X![[ �
G��#���,.�H� ��#��#$�M���
)��,�������1�������������� -�����������������������!�����$7X![� ����E��������!�������������
���!�!�������������������������!�����������!3�&����!������S������!������*@������������������
�S������!�����$7��������!�;�������!�����.�����������������������!���������������3�
5.4.3 Complexité des anti-patterns
)�� !�� ��2���� �S��� ����; ������� ���� ����������� E���� ����������� ��� ������� !�� ��� ���
������ -����� ����� ��� ����.��3� )�� !�� ��2���� �S���� ������!����� ��������� ������ ��� ���
���������!-�������� ����������+����������� -��!����� �������?�����-�����!-����S-�������3���
�"!-��>�%'���#$���$%���*%�"$)������6A�9A��A��!�7�$���������������!�������� ����������1�
$��� ���� ������� ��� ������� ��+� ��� ������/��"� ��� �O���� ������� ���� ��"�� 1� ��� ������/��"� ����
��&&" ������!������������&�S����$������2��
[[X6!�� ��2���[�X6X!�� ��2��X*�[!�� ��2��� /�/�
��6��-�
M� >=Σ•Σ= �
M0� �
�
$���; ���������������������������������������������!�� ������
�
�/�!�$� ��� �� *�$��$*�)� ����� $��� !�" � �!��� �O!" �����+� $�� �!����� ��� ������������ ����
�O���������������������� ���"����� �$���!������������������������� ������1�$����������&�$����,�
*������������ �����I�@�����!-�������� ����������������������!����� ��+���� ������ �������
-�����!-��� �S-�������� ���������� ����� ���� ����!����3� ����� ������������ ������ ��� ����;!-�����
!����� �������?���������!-��������-�����!-����S-����������������S����!��������!����?�����!������
��������!����� ���������� ���,��������3�*������;!-������S� ��������!-�����������!��������
���������-�����!-����S-�������3�#�����!-������� ���������������������!����� ����� ����������
���������!��������S���!-�����������!������������� ������ -�@� ���!�� ��2������� ��������!�����
�����������������H������+�������S���������!���������������!-�����������!�������@��������!����
�����������������!�� ���@� ���!�� ��2������������!�� �����������dX�;M[3�*-�����!������������
����������+�!�!-�!��������X�;M[��������!�����������dX�;M[��������!������ ��+������� �����������
���+����E�����2�������3���
�
� (
(� ((
�
�
�(�M
!
��(�
�;6�����
�;*-���
7X�X�[[
�=����$%
�=����$%�;6�����
�=�/���
�;*-����=�/���
���!-�����������!�����!�
�
� (
(� ((
�
�
�(�M
!
��(�
�;6�����
�;*-���
7X�X�[[
�=����$%
�=����$%�;6�����
�=�/���
�;*-����=�/���
�
�(�M
!
��(�
�;6�����
�;*-���
7X�X�[[
�=����$%
�=����$%�;6�����
�=�/���
�;*-����=�/���
���!-�����������!�����!����!-�����������!�����!�
�
G��#���,1�H����$*/����$ �#$�����*"��� -"$��$%�F�#$��/�'���*/����?/'��%����
#�� ���2� -�����!-���� �S-�������� ����� ��������� ����� ��������!����@� !-����� !������ �S����
-�����!-��� ���� �+���� ���� ��������� �+�!� !-����� !������ ��� �S������ -�����!-��3� $����@� ���
!�� ��2���� �S��� !-����� ���;����� ��� ������� ��� ��� !�� ��2���� ����!���� ?� !-����� -�����!-���
!������� ����S������!����3��
�"!-��>�%'��?#$�*/�!�$���$ �#$���$%���*%�"$����*�� �)�������A�$���!����������#$"������
$��� ���� ������� ��� ������+� ��� �T�+9+� �T��� ������ ���� !�" � �!���� �O!" ������ � ���"��� �� � A+� ���
������/��"����A���������$�"������������' ���$�������2�
� � � ������/��%-A.�5� A.+-�T������/��% �
��� �����
�wMf
�
)��� ��!�� ���� -�����!-���� �S-�������� ��� ����� ��� ���� ��� !�� ��� ����� ��� !��!��� ��� ���
!�� ��2���3�
6��� ��� �����@� ����� ������������ ��� !�� ��2���� �S��� !-����� ���+������� ���� -�����!-���
��-�������3� 6��������� !-������ ��� ���!�������� ����� ���� -�����!-��� �S-�������� ��+����
���������� ���!�� ��2�����S��� !-����3�#�� ��� !-����� ����� ������� !�����������S���� �������
���������������������; ��������
�
MM
����������������-�����!-����S-�������@���� �������+���� ���������!-������������!����������!������
!����� !�����3� 6��� �2�� ��@� ���� ��� ,������ �R@� ��� !-����� U�(+�@� �#�@� ���CW� ���+����� ��� !������
��!����������-�����!-�����-������������>>'#&$&(3�6��������>>'#&$&(������� �������!�����������������������������-�������@����������!-������������!��������!�����H���� �������_����#��
���+����E���� �������!�� �����������!��!���������!�� ��2�������!-����3�4��!@�����R�!-������
������!��������U�#�@�>�W@�U�#�@���W@�U�#�@��)@��,2W@�U�#�@��)@�$+W@�U�#�@��)@�"�W�������� �������
��������!��!���������!�� ��2�������!-�����U�(+�@��#�@����CW3��
�"!-��>�%'��?#$�*/�!�$�-� �$%�-���#$��/�'���*/����?/'��%���)������ �T� �$���!�" � �!���
�O!" ������ ��� A� $�� �!����� � ������� �T+� ��� ������/��"� �O�T� ��$ � A� ���� �O��������� ��� ���
������/��"�������+9+������A�+������!���������������������������T����&�$��S�������������/��"�
���A,�
������/�"%-�T+A.�5� [X� !�� ��2��� �
��46
M�Σ=
�
)�� !�� ��2���� �S��� !-����� ��� ���!�������� !����� ���� ��� ������� ��2����� ���
�� �����!��� ������ ���� !������� ����� !�� !-����3� 4���� ��� ���� !��@� !-����� !������ �� ���� ���
�����������������@������@��S���������!���������������!-����@��������������!��������� ���@��dX�;M[��
������!�����3�
�"!-��>�%'��?#$�*/�!�$������ *�$��$% )�������A�$���!�����������������������!�$��$ �!+�
���������/��"���$ ���A�������� ��2���
������/��"-��.�5 �.*-!! o ��
4������������@�!������������������������������� ������!��!���������!�� ��2�����������2�� ������
����.�������������������+���3�
5.4.4 Mesure de la complexité des anti-patterns : s ystème de gestion de livres
�;6�����
�;6�����
�;6������;6�����
7X�X�(+�[[7X�X�#�[[
�;*-����;*-���
�;*-����;*-���
�(+�
>� �)
"��,2
�#�
���C
��
�;*-����;6�����
$+
�;6������;*-���
7X�X���C[[
7X�X�#�[[
, �8
"
4
�;*-���
�;*-���
�;*-��� �;*-��� �;*-���
�;6����� �;6�����
�;6������;6�����
�;6�����
7X�X���C[[
#4
#"
�;*-���
�;*-����;6�����
�;6�����
�;6�����
�;6�����
�;6������;6�����
7X�X�(+�[[7X�X�#�[[
�;*-����;*-���
�;*-����;*-���
�(+�
>� �)
"��,2
�#�
���C
��
�;*-����;6�����
$+
�;6������;*-���
7X�X���C[[
7X�X�#�[[
, �8
"
4
�;*-���
�;*-���
�;*-��� �;*-��� �;*-���
�;6����� �;6�����
�;6������;6�����
�;6�����
7X�X���C[[
#4
#"
�;*-���
�;*-����;6�����
�;6�����
�
G��#���,3�H�M���-"#������� %�"$$����������7�� �
M� �
�
$���; ���������������������������������������������!�� ������
�
)��84*� �������������������������+����������,������R1�����������,�������R3�$� ���������!��
��� -�@�������������������������������!��!���������!�� ��2���������������!��������!�������������
�>>'(Q(�&�����>>'3�)��!�� ��2�������!�����������!������������ �������������!�� ��2�����������2�!-�������� ���������*M�f�U�(+�@����CW����*�f�U�(+�@��#�@����CW3�
�E������*M�����������?������!���� ������������2��_���@� ���������!�� ��2��������������
����������!���������C(+��������� �������������������-�������3�)��!�� ��2�������*M��������!����
������ ���� !�� ��2����� ��� !-����� !-����� ��� ���!�������� �� �����3� *����� ��� !������
�>>'(Q(�&� ���� ��� ��!���� ��� �������� ��-�������@� ����� ���� !-������ ��� ���!�������� ������� ���������������!��!���������!�� ��2���3�&����!���!-���������������������@�����������!������
��� �E��� !�� ��2���3� ��� �� �� O� !-������ ��� ���!�������@� ��� ��� !�� ��2���� ���� !��� ������
��-��������������OddX;M[fM�3�*��������������!�� ��2�������*M3�
)�� !-�����*� ���+����� ���� �_���� �(+�� ��� �#�� ���� !����� ������� ?� ���2� !������� ��!�����
�����������-�������3�)��!�� ��2������������������������_����(+������M�3�)��!�� ��2���� �������
��!���� ������ ��-�������� ���� ����������� ��� ����� ���� !-������ ��� ���!�����!�� ����� !��� �����3�
4��2�!-������ �������� ���������� ��� ������ ��� ���������1@� ��� !�� ��2���� ������ dX;M[adX;
M[a1dX1;M[a1dX1;M[a1dX1;M[�f�3�)��!�� ��2�������*�������� ��������������2�!�� ��2����@�
!�� ���� !����� ���� ��� ����� ���� ���� !������� ����� ������ ��-�������� ��+���� ���������������
���������� �+�!� ������� ���� !������� ��� �������� �����3� )�� !-����� *� �� ���� !�� ��2���� ���
dM�f103�
)��!�� ��2����������� ������������!��������!������������������� �����������!�� ��2���������
!-������*M����*3�*�����!�� ��2����!����� ����������������2�������������!������!������?�
!�����@� ��� ��� ������ ��� !�� ��� ��� ����� ������ ������ ������� ��� !������� ��� �� ������� /������
����������������3�6����2�� ������!������#(&4$�$8(4��������������+�!���!����!������������3�)�� !�� ��2���� ����� ����; ������� ���� ���� ������ ��2����� ���� ��� ������� ��� ���������� ����
��+������� E���� !��+������ ��� ������� ��� ����3� 4���� ��� ��!����� ���+����@� �������������� ����
���/��������������� ���������������!������������� �����!�������������������!������� �����������
���������� !�������� ��!�� ��� ������� ��� !��!��� ��� ��� !�� ��2���� ����� ����; ������@� ��� ���!�
��������������+������ ���� ��!-��������!�� ��2���������������������!����������/���3�
5.5 Amélioration de la testabilité du modèle $�������������������������������!���@����!������!��!�����������!���.����������@�����������+�����
���� ������!������ �S��/���3� *����� ����� ���+���� �������� ����� ��� ��!����� R3131� ���� ���������
!��������?�!���������������.��@�����������������!��������������� ��!-������ �����������!���������
!��!� �����+���3�
7��� ����.������������!��������?�������������� �&���� �����U> ��C�SSNW�����������.��� ����
��� ��!��@�������!����� �������@�����!���������������� �������!���������������!�3�*������!�����
���������������������!�� ��2������������; �������@� ������������!��!���������!����������������
�����!�����!��������� ���������3�
$������������������������������������.���
�
M1
7��� ��!����� ��������� ���� ������� ���� �������������� ��� �������� ��� 7�)3� (�� �����@� 7�)�
������?��������������������������������������� ��� ��������!���������������������2����������
��������.��3� ����� ������������ ������ ��������� �������� ��� ���� ���������� ��� ����������� ����
������ �� ������� ����� ���� ����; �������� X����!������@� �� �����!�@� ����������@� !�� �������[3�
8�J!�� ?� !��� ��������� ��� � �!���!������ �� �����������@� ��� ����������� ��+����� �+�����
���� ������� ���� ������!����� �S��/���3� )��� �������� ��� ��������� �!�� ����� ���������� �S����
!������������.�����2�!���.�����������������������������U"� �SSRW@��������������������e����������e�
��� ��e�����������e� ���� +��������� ����� ��� ��������3� *�� ���.��� ��� ����� !��������� +���� ?�
�����������������������������@����e���������+��e�����+��������������+������������3���
����� �� ��������������������� ������
− Y�!������Z���!���������������� �������������7�)3�*���������� ��������������������!������
$�?�����!���������������������������/��������� ��$�� �������������-�������!��������X���
!������!����[���� ���!�������3�#����!����������� ��Y�����Z��S���� ����!-������E��� ����@�
������������-�������!�������� ����E����� ����3�
− Y�����Z�������������� ��Y�����Z�������������������!������$�?����!�������������������������
��/��������� ��$� ��+����� ������S�� ���������������-����?��S�2!��������������-�����
��� !��������������/������� �� ���3�)��� �������� ��� ���+����� ���������� ����������!�����
������������
o Y����P!�������Z�� ���� � �!����������� ��� �������� �� Y�����Z� �B� ���� ���-�����
� ����������������������/��������������������������/��������� ���3�
o Y����P����Z�� ���� � �!����������� ��� �������� �� Y�����Z� �B� ��� ������ ���� ����
���-������ ����������������������������������/��������� ���3��
6���������@� �������!������������� ������������������+����?�����!��������������Y�����Z����
Y�!������Z3�
)����������� �������� �������!�� ���������������� �������������������� -���������!�����
���� ������ +������ ��2� ����������� ��� 73� *�!�� ������ ���������� ��� !��!� ����� �S��������
�S������������� ��� ���.��� � �.�� �+���� �/����� ���� �������� ��3� *����� �������� !����� ���� ?�
�S��� �� � ��� ��� ���-��������� �� ����� ����� ��� ��!����� R333� )S������������ ���� �������� ���
���������S��������!����������������!�������S��/����!���������3�
��%�"$��)��$%���*%�"$ ��?"0@�% )������A�����A?���$/��!����������������������� ������������
�+��"&���������$������� �������������������� ��������,����������� ����� �����$��@$��&��-A�.+����
�?��� ����� ��������@$��&��-A?.+�$������� ��������O��)����/���������2�
�������?��������" "��%�"���H�$���I��$�H�$��D��&�I,���
M�� �
�
$���; ���������������������������������������������!�� ������
�
��%�"$�()��$%���*%�"$��?"0@�% ��?�#%"�#%��� �%�"$)������A�$���!��������������������1�����*
�(��+��"&���������������$������� ��������O�$���$�������������$ ��,���������� ����� �����$��@$��
&��-A.+�$������� ��������O��)����O�$���$������������/���������2���
��������" "��%�"�H�$���I��$�H�$��D��&�I,���
* 4
�M�Y ���P��� Z
��Y ��� Z
6M
6
�
G��#���,,�H� $���$%���*%�"$����*�� ���$%������%���
)��,����������������������������!��������!������3�)���!-����������������*�?�4��������������
���������� ��� �+�!� ��� ��!� �������� �� Y�����Z� ��� Y����P����Z@� ��� !������� ��� ���� ������������
!�������!������ ��� ��� !������ 4� ��� ��� !������ *3� *-����� !-����� ���� E���� �2������
���� ���������������������������!���.���������������$��2������ �� ���������U$��2�����SS00W3�
)�� !���������� ��� !���� �+�!� ���� !����������� ���� �������� ��� ���� E���� +��������
���������������3�6����2�� ��@����+�����!�������S����������� ��Y���;!������Z����*�?�4�!��������
?� +�������� ���� *� ��� ����� ���� ���� ���-����� ��� !������������ ���4� ��� ���� ���� ���-����� ���
!������������ ��� 4� ��� ���������� /������ �S����� ��� 43� 4���� ��� !��� ������ �����;����������@� !���
�������� ��� ��+����E�����������������������������������������������@� ����2�� ��@�������-����
��!����� ���"�!-�������4�!����������U"�!-���SSNNW3�
)�� ��!����� ���+����� ������������� ����.���� ������������� ������������ ���� ������ �2�� ���@� ���
������������������������������� �����+��������� ����.���������������+����������� ���������3�4���
�������� ��� ����� ��������� ����!������� ��� ��� !��!� ����� ���� +���� � �!������ ��� ����!���� �+�!�
���� ��� ��!�����3� 6��� ��������@� ����� +������ ����� ��� ������ ���� ���� �������� ��� ��+����
����������E���� ������������������������@��������;��+������7�)� ��������������� �������3�
*����� ����� ������������� �S��� ���.��� �� ������� ���� !�������������� ����������� ����
��������������������!�����R331@�� �.��������!������������������������������������ �������3�
5.6 Exemples d'application *����� ��!����� ��������� ���� ������������ ��!-������� ���� ���������� ��� ������������ �����
���������� ��� !������� ���� ������ �2�� ������ ��� ����.��� ��� �������� ��� ��+���@� ��� ���+���� ���
��������+���������������!�� �������3�)����������!������������� ����������� ��������� �����������
���� !��!� ����� ���� ��+���� �����T���� ���� �� ���������� �����!���� ?� ������� ������ ����� ����
����� �����3�
5.6.1 Le gestionnaire de livres
)��84*� �����������.�������������������+�������� ��������,�������R3�4���������!�����R3�3��
����� �+���� !��!���� ��� !�� ��2���� ���� ��������!����� ��� !������ �*X�>>'(Q(�&@��>>'[� ���������+��������������������������������������!����������������������@���������+����������!�
(2�� �����S� ��!������
�
MR
���E���� ���������!�� ��� �������!��!���������!�� ��2���3�6�����������@� ����������������� ���
���������������� ����� ������� ��� ��!����� ��� �I������� ����������� ���������������� !������3�*�!��
������ ��� ������� ��� !�� ��� ��� ����.��� ����������� ���� ����������� �� ��� ��� ���������� ���
����������!��!���������!�� ��2���3�
)�������!����� ��� !������ �*X�(+�@� ���C[� ���� E���� �� ������ ��� � �!������� ���� ���
�� �����!�� ������ ���� !������� �>>'(Q(�&� ��� �>>'� ������ ��������� ������ ��!����3� )���� �����!�� ���� ���!� E���� �������� ��� Y����P!������Z@� ��� ��� ���� �� ���� ��������!����� ���
!������3�*� ������@����!-��������������>>'(Q(�&�?��>>'�������+��������>>'#&$&(����������/����� !�� ��2�� ���� ��� ����3� *����� ������ ��� ���������� ���� E���� ���������� ���� ���
������������ ��� ������������� ���� !��������>>'(Q(�&� ����>>'#&$&(� ��� !����������������!�3�*�!�� �+�������� ���� ������!������ ������ !��� !������� ��� ������ !������� ������� ��� ������� ������ ���
!�� ��2���� ��� !�� !-����� ��� 10� ?� R�3� 4�� ��� �E��� ����.��@� ��� !�� ��2���� ���� ���2�
������!������������;������������#7MX���C[����#7X���C[� ����E��������������������������������
!��������>>'(Q(�&�����>>'#&$&(����!����������������!�3�
5.6.2 Serveur De Réunion Virtuelle
8������
��" �
�-�$
�%�R��$���� ��������
��" ���$�!� �M���������������
���� %����
��� �����
S��%�$��"�-��J
a!����!���6������
�$���%�$�
M;!������#����
�-��J�$�
M
��
Md
M
;�������;���-���A��
8�����
dM
;������A��
M
� ����M�����
d 8�����������
���7��
����%�
�"$$�*%
�-�$��
bb�������!�cc�"!!�$�
���7�
�$%��
M
;!������� d
�-��J
�� *"$$�*%
J
���$$��
MM
M
;!������#����
M
M
;��������d
�"&%��!��
��!����$����
d
M
;��������>�/�!��
M
;������d
MM
���7�%��%� �%�$�����%�d ��!"*��%�*�%�
�
G��#���,4�H���� ��7�#���������'#$�"$�7��%#�����
)�� ���+������� ��������+���������+���� ?� ������������ ������������ ���+���3�7��� ����� ������ ���
���+���@� ��� ����!� ���� ���� ������� ��� ������� �S���� �������@� �����@� ��� ��������� ������+������
��������3�����2������������� �����������������
− "�������� ���������� �B� ��� ����!� ���� ���� �� ��� ������ ���� �������� ��� ��������������
X������ ����S��������������������������[3�
M�� �
�
$���; ���������������������������������������������!�� ������
�
− "������������!�����������������������������������B����������������������������,�,>�
X��� ������� ����!� ����?������������� ������������� ������������� �������?� �����[3�
− "�������� ��+������������������������������+�!��S�!!.���������?�����������������������
����!� ����3���
&����������!��������� ��������������������������-������������S�������!��!������3�)���������
��������� ����������S���!����������S�����������������!����I���� ������ ������������3��)��,�������O�
����������������������!������������+������������������+��������3�
)����� -������� �����!�����!������������+������������������+�������������������,�������3�
7�� ������ ������� �S������!������ ��� !������ ����� ����!����� ���� !�� ���.��@� ��� ����� ��� ����
����������� �����������!�3����������������/�������������!����������������������������������������
�����E�������������.������ ���XN�!������[@�����!�� ���� ����.��������������������3�
7#
K&#
��
"
#
7���
6�
��
#�
���
#��+
4�6 * >
�#
" #&
&�
*��
( *�
>
#
*�*�
)
$
4
�;!-���
�;!-����;!-���
�;!-���
�; �����
�; �����
�; �����
�; �����
7X�X7#[[
7X�X7#��[[7X�X7���[[
�; �����
�; ������;!-���
�;!-����;!-���
�; �����
�; �����
�;!-���
�;!-���
�; ������; �����
�;!-����;!-���
�;!-���
�; �����
7X�X"[[
7X�X#&[[
7X�X&�[[
7X�X���[[
7X�X7���[[
7X�X7���[[
�; �����
7X�X���[[
7X�X*��[[
�;!-���
�;!-���
�;!-���
�;!-����;!-����;!-���
�;!-����;!-���
�;!-���
7X�X���[[
7X�X���[[
7X�X���[[
7X�X���[[
7X�X���[[
7X�X���[[
7X�X���[[
7X�X���[[
7X�X7���[[
7X�X7���[[
7X�X�#[[
7X�X7���[[
�
G��#���,;�H�M����#� ��7�#���������'#$�"$�7��%#�����
����������2�������!�������S����;������������������������������7�����������@���������������?�
�S������������ ��� ������� �����3����������@� ��� ��� ������� ������ ���� !����!������� �� �����@� !�����
!���������������� ������������������!����������!���������/���@� ��������S�������!���������� �����
����������������-�����������!����2��� ��������������S�����!����������!����2��@���������������
!����2������.���������������������� �����������������?����������!������3��
7���������!��������!���������������!����������#��+����"���������+���� �����!!�����?��S�������!��
"��8$�)(� ��� �S�������������� ��� ��� !������ &��("�$�$8("� ��� ��� ��� !������
4(�>*"$&�*�&83� *����� ������!����� ��� !������� �������� E���� ��!�������� �+����� ���
������������� ��� !������ ���������� �((&��8� ��� �������!�3� 7��� !������������� �������������
(2�� �����S� ��!������
�
MO
�S������!���������!�������������������2�����������7���@�#��+@����������3������������������!�����
���!��������*X#��+@�7���[�������#��+����7�����S���!���@�����*X���@�7���[��������������7�������
�������3�����A������*X#��+@�7���[���!�����*X���@�7���[3�
7���
��
���
#��+
�;!-���
7X�X���[[
7X�X7���[[
7X�X7���[[
7X�X7���[[
7���
��
���
#��+
�;!-���
7X�X���[[
7X�X7���[[
7X�X7���[[
7X�X7���[[
�
G��#���,5�H��"$&��#��%�"$��� ��$%���*%�"$ ����*�� � ��$*�# � �
4��2����������� ��+����E���������������!�����!������������� ����!���.�����������������,������
�N3� 4S�����@� ���+���� ��� ����.��� ����� �S������!����� ���������� �*X���@� 7���[� ����� �������@�
�S������!����� ��� !������� �*X#��+@� 7���[� �S���� ��� ��!������������ �������3� 4��2�.������@�
�E����S����S���� ��� ������������� ������*�X���@�����[@�*�X#��+@�����[� ����E�����������@� ���
�2�� ��� ��� �/������� ��� ���.��� ��� �������� �� Y���;!������Z� ���� �S����!������� ��� ���+��� ?�
�������3�4��!�����!������������@������ ��+��������������������������!���������!������� ��+����
E����!����������������������������.���V������!��������!��@������������������!���������!����������
����� �����!������������ ���������!�� ���X!������������,�������[@�������S�������!��@��������
��!������������������������������������!���������!�������X!������������,�������N[3�
4S�������������!���������!������� ��+����E��������!����@� ����2�� ����������?�7����X�B�����
�����!!�����?����������!������@� ��������� ������������6�[�������#��+�?����3�
5.6.3 Une architecture de compilateur
)�� ,������ O0� ������ ���� ��!-���!����� ��������� ��/��� ���� ��� !�� �������� ���� �����
U:�A�����SSNNW3�*����� ��!-���!����� !�� ���������!������#*$��("� ���� ������� ���� /�����@�����
!������ 6$"#("� ���� ������� ��� ������ �����2����� ��������� ��� ���������� �>4(P�7�)4("@� ���
6">8"$�P�>4(��� ��������������_������������������S�����������2����3�
)����� -������� �����!�����!����������+�����!�������!-���!����������������������,������OM3�
4��2�������!���������!������ ��+����E��������!���������!����� -�3�)�� ����.��@��*X,�@�6�[@�����
���� ��2����2�!-������ U,�@���@�6�W���� U,�@��Q@�6�W3�)�����2�.��� ������!����� ����������@�
�*X�Q@� 6�[@� ���� ���� ��2� !-������ U�Q@� ,�@� ��@� 6�W� ��� U�Q@� 6�W3� )��� ���2� ������!������
��������� ��� ���� ������������ ��� !��!������� ���� ������� !������@� ������ ��� ���� ����������
��� ���� �S������������3� *� ������@� ����� !�� ��2���� !��T�� ����������� ��� ������� ���� ��A��
!���������������-�����!-����S-�����������6">8"$�P�>4(��������!-������������!�����!������������ ������ ����� �� ������� ����� �*X,�@6�[� ��� � �*X�Q@6�[3� )�� !�� ��2���� �������� ��� !�����
-�����!-��������
M� �
�
$���; ���������������������������������������������!�� ������
�
PU�..*-J-J��
foxN
f� )�� -�����!-��� �S-���������>4(PQ�#�&>"� �� ��� ���� ����� �� �!�� ���� ���
!�� ��2���� �����S��������������������2�!������3�)��!�� ��2���� ����!�����-�����!-��������3���
�+�"��+M�$���%"�
B�$+�>-�� �"$
�*�$$��
����
�"!-����
��� ��
����D �����
�%�%+M�$���%"�
A �� ��D����
�/� ������
�$%����+���#������0��+��&�"$��%�"$$��
d
d
M
M
M
"��+B#�����
���������
��$!�$% ���$%S/��� B�"*J
��$J��+�� %
&
M
�
G��#���4<�H��*/�%�*%#����#��"!-���%�#��
*��������������!-������!��!���������������������!������!�������� �����E����-�����!-���@�
�����������������E���!�� ��2�����R�×��f�M�3�4������E�������.��@��������2�������!��������������E���!�� ��2��������������� �������������!�� ��2�����������2�!-��������M�×R�fMM���3�
�!�@� ��� ���.��� ���� E���� �������� �+�!� ���� �������� ��� ���� ���� ����!�������� ��� ��H���� ?�
�>4(PQ�#�&>"� ��� ��� ��H���� ?��>4(P�7�)4("3�(�� �����@� ���� ������!������ ��H������+�������
�� ����������������!�������>4(PQ�#�&>"����������� ��������!������������@��S����!�����������
������ �������� ��� Y����P!�������Z3� )S����!������� ��� ,$y$4(� ?��>4(P�7�)4("� ��+����� E������������ ���Y����P����Z� �����������������!��������H���� ����������!-�������S���������������!���
����>4(P�7�)4("3� � #�� !��� �������� ��� ����� ���� ������.��@� ��� ����������������+����� ����� ��������S������!�������S��/��3���
:����S�!�������������������!��!������� ������������; ����������� ������������ ���� ������.���
�������� ����� ����.��3� ����� �+���� ������� !������� ����!���� !��� !�������������� ���� ���
������������� !������@� ���� ����� �+���� �� ���� ���� �.����� ���� ��!����� ������.��� ����� ���
�����������!�� ��2����������������; �������3�4�������������������@�����S�����+������S��� ����E����
��.�� �����!���� ��� ��������� !��� ����.���� ��� ������������ �������.��� �������� ������� ����.��3�
7����������������������������������� ����.�����������������;����.���3�)�����!������R3O����R3�
���!��!����������������������� �������@������ ��������������������������;����.����������������
����� �������� ����� ��� ������������� !������� ������3�)�� ��!����� R3O� ��������� ���� �+�������� ���
�������������������������!��!�+��������������������� ����������������!�����R3����!��!�������������
��������������� ����.������������������� ��������� ��!����������������� ������3�
(2�� �����S� ��!������
�
MN
7X�X6�����[[
7X�X,�[[7X�X��[[
�;*-���
�;*-����;*-���
6������QM
��
((M
,� #!�����
�Q
�;*-����Q
(
(1
�;*-���
6�
#
�;*-����;*-���
##M #1
�;*-���
#�
�;*-���
#R
�;*-���#�
�;*-���
))���
�;*-���
�; �����
�; �����
�; ������; �����
�; �����
�; ������; �����
�; �����
�; ������; ����� �; �����
�; �����
�;*-���
�; �����
�;*-���
�; �����
����
7X�X6�[[
7X�X�Q[[
7X�X6�[[
7X�X#!�����[[7X�X,�[[
7X�X#[[
�
G��#���4��H�M���-"#���?��*/�%�*%#����#�*"!-���%�#��
5.7 Design Patterns pour la testabilité du modèle :����S����!������@�������!-���!�����>>��������� �������������+����!�����������������
!�� ��2�� ��� !������� ��������� �S���� ���� �S������ ��� �������!�� ��� ����;���������� ���������
���������� ��� ���.��� ������3� *� ������@� ��J!�� ?� 7�)@� ���� ���-���������� ��������������
������� ���� *��������#�� U4S#��A�SSNW� ������������������� ���� � ��!-�� ��� ��!�� �������� ���
�S��!-���!����3� *��� ���-���������� ������� ?� !��!�+���� ��� ����!���� �������� ��/��� !����� ����
��!!����������������������@��� ���� ���� ����.������� ������ ����������/�����?� �S�2�!�����3�(��
����!�����@� ���� ������� �������� U8����SSNRW� ��+���� ���+��� !����� ����� ���� ���� ������
������������3� h� ������ �S��� ���������� ��� !������� �S�������@� ���� ������� �������� ������� ���
!��!� ����� ��� �� ������ ���� ������������� !��!� ����� ���� ��������� ���� ����.���� ����� ���
!����2��� ����!�����@� ��� ������ ������������ ��� ���������� ��� ��� ������ ���� �������� +����
�S�� ���������3� )��� ������� �������� !����� ������� ������ �� ���� ����;���������� ����� ���
���������� ��� !������@� ��� ��+���� E���� !���������� !����� ���� ����!����� �������������� ������
�S��!-���!�������������������!��������� ��3�*�������!�� ���������������.������������������������
������������� �������������!�������� ����.����?������+������!��������������������������+����
�������������� �!�� ��2�3�
5.7.1 Concevoir par cristallisation de patterns
�� ��$�-�%%��$ )���������������� ��� �� "���������������$�������$/�� ���'����#$���$ ��������
#$����$����������������"������"������$�������/����� ���$��� ,���������������� �����$�����(� ��
������" "����������#$����� �� �!�����$ ��� "$�����������#$������ ��$����1�$���� �!�����$ ���$�
�%��'��� �������V� ���� ����������� ���� �� $��$ ��� �%����#$��� ��� �����#$��� ��� ���� ������� �������
��� ������� ������$/��� �����������$����'����������������,���
)��,������O����������� ����������.�������������/���X��� ���S�������[� �������!���������
����������� �����������3�)��,������ O1� ������������� !��!� ����� ���������� ������� �������� � �.��
M10� �
�
$���; ���������������������������������������������!�� ������
�
������������ ����S������������@����������������������!������������� ��������������������� ����
���������������7�)3�
����$%B#��6
B#��6��X B#��6��
bb�������!�cc
�� ���A ������
bb�������!�cc
���� ���A ������
��X����*%��"%"*"�
��X�$����*%��"%"*"�
������*%��"%"*"�
���$����*%��"%"*"�
bb�����������cc
d
bb�����������cc
M
bb�����������cc
bb�����������cc
�
G��#���4(�H� $�*���$%����!� ��������$ %�$%�$'��A������!!���?�$��6 �E�
B#��6"$�"$$�*%��
�����������
����$%�"$$�*%��
����$%"$�"$$�*%��
bb�����������cc
B#��6
bb�������!�cc
�� ���A ������
bb�������!�cc
���� ���A ������
��X����*%��"%"*"�
��X�$����*%��"%"*"�
������*%��"%"*"�
bb�����������cc
C$��%�����
B#��6�"$$�*%��
B#��6��X
M M
d
M
M
����$%
B#��6��
Md
M M
bb�����������cc
d
bb�����������cc
���$����*%��"%"*"�
#��������� !����2� #����
�����!����2�
$�����!��,�!����
����!�
����!�
��!����
�
G��#���4.�H� $�!"�:���8�&�$���9�-" �0����-"#�����*���$%����!� ��������$ %�$%�$'��
)S��!-���!�����������,������O1���������!��!� ����������������/����� �������������� �.������
��� ������!��������������3�7������ �����!���������������!�� ������S��� ��������S���������� �������
?�����������������!������3�
*������ ��!-�������������-���������������� ������ ���� �������S��� �����������������
�S��������+������������� ������������+�������2�!�����3�$ �.���S� ��!�������S���������� ������@�
����!������� ���!� ������S������������������ ���� ������������3�4�����+������ !���������� ������
� ���������� ��� ��������� ���������� �S����!�������� ����� �� ������3� 4���� ���2�� ��� ��� ���
4������6�������� �������������������������.���
�
M1M
,������ O1@� ��� ���������� ��� !������� �S�������� �� ���� �������� ?� ���+���� ������ ��� ���
���� �������������!����� �������?��S��� �������������!�������������� �������$�����!��,�!�����
���������2� ��������#����3�)������+�������������������!������������������� �����������������������
���.�������� ������������������ ���������������������������!��!� �������.����������������V����
����!������ !-����� !������ ���� ��������������� ���������� �+�!� ������ �����3� *� ������@� ���
���-��������� ��� ��+��� ������ X!��������������� ���� ������� �������� ?� ������ �S���� ����.���
�������[� ����� ������ ����������� ��� !���������� ��� ��������� ��� ���.��� ���� !����� ����
!�� �������� �����!����!-���!������ ���� !����� ��� ����������������-����� ��� !������� �����;
!����!����3� 6��� !���������@� ��� !�� ��2���� �������� ���� ��!�� ����� ��� ���� !����������� ���
!�� ��2����������!����!-���!�����@���� ��� �J!-����� ������������������ ������3�(�������@����������
���� ���� ����;���������� ����� ���������������� ������.��@� ��������� ����.������� ����� ��+����
E������������?������+������!���X��!����!-���!����[3��)�������������������
• =������� ����� ���� �������������� ���� ��� ������������ ��������� ��� ���������� ���� �������
�������u���
• )��� ����.������������������� ��+���;����E������!�������X!�������[��������;������������
��������������!����� ����?��S� ��!�������S���������� ������u��
������� �������?���� ����.��������������������!����2����S����!�� �����������������������
�������S����������������������������� �������#�������� �S�� ���������� ��!��������!����������S����
��!-�����S�����������������������������!�����3�
��������!��������� ������2�.������������ ;� �������������� �.����%!����������� ���� ������.���
�����+��������������; �����������������������;�?����+�������������������������!-������!�����������?�
������.���������������S�� �����������������������3��
5.7.2 Application du design pattern State pour amél iorer la testabilité
����������������� ��� ������������������������/��� ��� ��� ������������� ��!�������� ���
�S������� !����!��� ?� ��� ������������3� ����� !����������� ��� ����!���� �������� ��/��� !����� ���
����!���� ����������������/����� ����������S�����������!����!����?����!��!� ���������S��!-���!����@�
�����!�� ������������������X!�����[@�������!�� ���������������!�������X������������������������
�������� ���� !������!������ ���������� ��/��� ����!���.���� ������� ���� �S-�������� ��� ���
������ -����[3� ����� ����������� ���� ��������!��� ������ ������������� ���!���������� ��� >>�
��J!��?����2��� ������������S������!-�����S�����3�
)S�2�� ��@� ���� ����� U:�A�����SSNNW@� �� ������ ��� ��!-���� �S������ ����� ?� ��� !������ �������
X,������O�[3�*�����!�������������������������!�� �������� ������+����������!�+�����������������
���� ��������������������������!����2����������3�=��������!����2������������������ ������@�
��������������������� ��������2 �����3�#���������������� ������@��������������?���������������
���!C��������������+���������������������������������������������������������!����2�����������
��������������3�
M1� �
�
$���; ���������������������������������������������!�� ������
�
*���� *����!����
*����!���
����
����%���P ������P�������
������P!����!�%����P ������P�������������P!����%!����P!��
������P!����%!����P!��
������P��!��+�%!����P!��
!����%!����P!��
� ��
����%���P ������P�������
�
G��#���41�H���*/�$���?'%�% �-"#�����*�� ���������
7����� ���������� ��!�����������!�������!-�����S������!��������?�!����������!-����!�����
���� ������ !�����3� 6��� �2�� ��@� ��� !�� �� ��� !-�!���� ���� ���-����� �� ��������� ��� �������
!����������������������!�������������3�4������������-�����X ����2�� ���send() [�+������������
+����������S�����!������@�����2�!������������������������������������!��������!�����+�����3�*�!��
��������������������,������OR3��������������������2�����������!�������S�� �������!���� ����������
���_�+��3�4S�����@���������?�����������!���� ���!����@������!����?�����@�?������������������������3�
(�� ��!���� ����@� ��� ����� ��� ����!���� �����!���� ?� ��������� ����� !�� !��� ����!�����@� ���/���� �����
���+���������� �����S�/�����S������+����!��������!-�!�����������-������� ������������������@�
!����;?;�������������!-����������������2����������+�������!������� ������������-����3�6���
!���������@��������������!����������������������������3�
bb:�+�*���cc
!����!������������� ����Xl&��������������D-����!��������!����!����m[V��������P ������P�������X����[V�����!������#������f�!����!����[V!����!����!������������ ����Xl&�������������m[V��������P ������P�������X����[V�!����!����!���������� ����XY�(���!��+�������Z[V
������
a����X�����������������[
a���6������=����X[
bb!�����cc
a!�����X[
; ������=�����UdW���������
a���#����X�����������#����[
;!���������������
;!����!��������������
;!����!�������������
;!������#��������������
a����X�����������������[
a���6������=����X[
bb!�����cc
a!�����X[
; ������=�����UdW���������
a���#����X�����������#����[
;!���������������
;!����!��������������
;!����!�������������
;!������#��������������
�
G��#���43�H���*/�$���?'%�% ��!-��$%'����$ �#$�� �#���*�� ��
6�����������@�!������� ���������������E����������� ����+�������!-��������-���3�7������������
�S������!��������!����������������������� ����!�����@�!-��������-���������2������� ����!��������
��� ���� !-����� ����������� �2������� �� ���� !��� ����3� $����@� ��� ������� �S������!������ ����
�2������� !����� !������ ���� ��� �S������ ��� ������������� �S������!������ ������� ����������� ���
!������ ����� ��� ����� �����@������ ���� ��� ��� ������������� ��� ������������ ���������@� ���� ���
��������S������!����������������������� ���������������!�� ��������3�
4������6�������� �������������������������.���
�
M11
������
a����X�����������������[
a���6������=����X[
!�����X[
������=�����UdW���������
a���#����X�����������#����[
bb:�+�*���cc
#�����3���3 ������Xe��������������e[V!����2�3���6�������������X�������[V!����2�3���#����X��D�*����!����X[[V
8���� �����
W����-����������2�� ���.
�"$$�*%�$�
a����X�����������������[
7����0��
a����X�����������������[
;�����������X�����������������[
bb:�+�*���cc
#�����3���3 ������Xe��������������e[V!����2�3���6�������������X�������[V
bb:�+�*���cc
#�����3���3 ������Xe���������������e[V�����������X�������[V
bb:�+�*���cc
!������#����3����X�������[V
!����2�
!������#����
M
M
a����X�����������������[
a���6������=����X[
!�����X[
������=�����UdW���������
a���#����X�����������#����[
W����-����������2�� ���.
a����X�����������������[a����X�����������������[
;�����������X�����������������[
��" ��
a����X�����������������[a����X�����������������[
�
G��#���4,�H���*/�$���?'%�% ��!-��$%'���7�*������ ��$�-�%%��$� %�%��
����������@��� �������������!-�����S�������+�!���� �������������U8����SSNRW@���S��!-���!�����
���� ������� ,������ O�3� (���� !�������� ��� !������ �$�)("� ��� �S�������!�� �$�)("#&$&(3� )��
�$�)("#&$&(�����������!-��������-������������������������� ��������S�����!������3��������
����!������!��!�.����S����� ����!-���������� �������3�4�������!�������$�)("@�������������������
���-����� �� ��������� ��� �S����� !������� ���� �������� ?� �S��/��� !������#����@� ���� ���� E���� ����
��������������?��S�� ����������!������-��������������!�������$�)("#&$&(3�6���!���������@�
���!����I������ ���+��������� �S�������� ��� ����� �����2 ��!������������� ���!������������3�)������
������������S�������-�������� �������J!��?���� �����������������3�*�!����������!�������$�)("�
����!�� � ���� !�����@� ��� !�� �.������� ���� �������� ��� ��� ��!-���� �S�����3� )��� ���2�
����.��������!��������������������� ��!�������������������3�)��!�������!-��������-��������
���������������!�� � ���� �����X!-��������-�����2�!������������������� �������[@����������
�����������3�4�� ���@��S��!-���!�������!���������!-�����������������!-�����S�����3�6����2�� ��@�
�/������������+��������!��������?��/�������������+�����!������!��!�.��� ����!�������3�
6��������� ��������� �������� ��� !��!� ����� e ������e� ���� ��������� ���� ��� !��!� �����
e!��������e@� �E��� ��� ����� ������� ���� !�� ������� ��� ������� ��� ������� ��� !������� ��� ���
������� ��� !�� ����� ������ !��� !������3� 4S�����@� ��� ����!����� ��� !����I��� !�� ��2�� ���
�S�� ������������ ��!������������ ���3�)��!����I����S�� �����������SE�������������������������@�
�����S��������� ��������J!��?���� �����������������3�(������@���������������� ������ �����������
!�� ����������� �!�������� ����!-���������������������������������������!������3�$����@��������
�� �������������� ������������������S��/���������������� ����!�������+����������������3�(�������@�
M1�� �
�
$���; ���������������������������������������������!�� ������
�
���2�!�������S�������-���� ������������������������������!�����������2�!������!��������-����
��������������!��������!������!����� �������?�!�������3�
*� ������@�������+���2� ����.����������������������@��������������� �!����������������?�
���!��!� ����������������/��@���� ���� ����!���.������@�?������!����!-���!�����!����� �������?�
��� ��!���������������� ������3�
5.8 Analyse de testabilité des design patterns ����� ����� ������������ ����������� ?� ��� ����������� ���� ����; �������� ��� ������������ ?� ���
��+���� ��!��@� ���� ��������� ��� !�� ��2���� ��� ��� ������������ ��� ����.��� ������� X!�3� ��!�����
R3�31[3� ����� ����������� �S�������� ��� ������������ �� ����� X+���� ��!����� R3�[� ���� ���2�
��!����!-���!�����@� !����� ������� ��2� � ��!������� ���� ������� �������� $�����!�� ,�!����� ���
#����3�)��!-��2��S���������������������������7�)%>�&� ������!������������!���������������
������������U8����SSNRW��.���?� ������������������S����� ��������3�6�����������@��S�������!�����
��� �������� ��� � �� ����� ���� !��������� ��� !��!� ����� ����� E���� ������ ?� ��� ����3� �����
�� ������ ������ �S�� ������ ���� ����������� ��� !������������� !����� �� ������������ ����
��!���������������� ��������U)��8�����!SS00V�#����SS00W3�4����� ���@�!������� ���������������� ����
��� ����?� ������!�� ����������� �!������������������������������� �������3�4������� ���@� �����
�������+���?������ ��!����������������������������� ����������������������������!������3�)��
����������� ���� !����������� ���� ��� ������������ ��� ��+���� ����� ������ ������ ���� � ��!������
������������������������ �������������.��3��
5.8.1 Analyse de testabilité de State
Y�#�����Z������/�
&*6*����!����
> ��X[*����X[$!CX[#��*������#����X[
��A�����
����-.
�����-.
��F-.
&*6(�������-��
> ��X[*����X[$!CX[
&*6)�����
> ��X[*����X[$!CX[
&*6*�����
> ��X[*����X[$!CX[
�����
!������#����M
�
G��#���44�H� $���--��*�%�"$��#��� ��$���%%��$��%�%��
������ �������� ������������� ������������ X��!�����R3�[� �������� ������!������������ �������
#��������������������������!������������������������,������OO3�*�!������� �������������!����
�+�!� ������� ��!���������� ����.�������������������� �!��������?��S� ��!��������� �������#�����
�+������ ?� ��� ���� ��� ��� ��!����� R3O3� 4���� !����� � ��!������ ����!���.��� �S����!������� ������
&*6*>��(*&�>�� ��� &*6#&$&(� ���� ������!������������ &*6*>��(*&�>�� ������ ����
$��������������������������������� ��������
�
M1R
�������!���������������!������@����!-�!�������������!��!����������!����T��������!����2��� ����
!-������ ���+��������� ������� !������3�*���������!�������������!����������!��������� ������!������
����� �����S���������������������������&*6*>��(*&�>�3�
7��� ��������� ���� ���������� ��� ������������ ��� ���������� ��� !������� ��� ��� ,������ OO� ����
���� ����������������� �������������������!���?���� ��!������!������������������V�!�!���+��������
������ ������� ���� !������� ������� +���� ���� !��������.���3� #�� ������� ���� !������� ��������� ����� ���
-�����!-��� ��-�������� X!������� ���� �S���� ��!��� ���!������[� ����� ���� !������� !��!�.���@� ���
!�� ��2������� �S������!����� ���+�������!�����-�����!-������� �������� X����S���� �����S������!������
����������!���������������-�����!-��[3�
)�� �������� �S� ��!��������� �������#�����!��������?�+������������ �������-�������� ���!������
&*6*>��(*&�>���� �����������������!��������������� ���������!-������S���������������+���������������currentState 3�6�����������@���������+���������������������!��!������S� ������� �������
���-��������!����2����������������������?��S���������currentState 3�#��!���!����������������
+��������@� ��� �S�� �� ��!���� ������!����� ������� ����� ��+���� �������� ��S��� ���� ����� ���
�S������!������������������������3��
(�� � �������� ��� �������#����� !���������� U8����SSNRW@� ������ ����; �������� ��� ������������
����� ����!���� X���� ������!������ ������������ �S$7[3� #�� ������� ���� !������� ����������� �����
!��+�����������������!��@�����������������!��������������������������������!�� ��2��3�(����@����
���!������������������������������.�������+�������@�����S������� �����S������!���������������3�
5.8.2 Analyse de testabilité d'Abstract Factory
)�� ,������ O� ������� ���� � ��!������ ��� ������� ������� $�����!�� ,�!����� � ����� ���
U8����SSNRW3� 7��� ������!����� ��� !������� � ���T�� ������ ��� !������*)�(�&� ��� !-����� !������
������� !��!���� XK��4>K� ��� #*">))�$"� !��!�.���[��� ��� !������ *������ ���� ��������� ���
�������!��!��������!����������?����+�������-�����!-����S-�����������K�48(&,$*&>"93�����
*����� ���� ��� ������� #����@� ���� �.���� ����������� ���� ���������� ��� ������������ ���
������������� !���������� ���,������O� !�������� ?��� ������������� �S�������!������� �������3�
6������������S� ��!��������� �������$�����!��,�!����@��������+����+����������������������������
*)�(�&�?�K�48(&,$*&>"9�!���������������/��������������� ���������!-���3�#���S� ��!���������������� ������� ���� !����!��@� ��� !������ *������ ����� �� ������ ���� ���-����� ��� !�������� ����
�������� !��!����� �� ���+���� ��� -�����!-��� �S-�������� ��� K�48(&,$*&>"9� ��� ���� ����������-����� ���� �������!����2�������!������� ��������!��!����3�4����!��!�������S������!�������;
������� ������� ���� !-������ !��!�������� ������ ��� !������ ��� ���� �������� ����� ��������� ����
����������� ����3� (�� � �������� �S$�����!�� ,�!����� ������ ���� ��!����� ����� U8����SSNRW� X,������
O[@�������� ������!���������!������ ��+����E��������!����3�#�� ������� ����!�����������������������
!��+�����������������!��@������������������!��������������������������������!�� ��2��3�(����@�
��������������������������� ������@������������������!���������!�������������������3�
M1�� �
�
$���; ���������������������������������������������!�� ������
�
����$%X�����B���� %
X����Y
�� ���C�
��S����%G�*%"�6
��S�$�"R
���*�"��B��
�"%�&S����%G�*%"�6
�"%�&S�$�"R
�"%�&�*�"��B��
M
M
M
�
G��#���4;�H� $���--��*�%�"$��#��� ��$���%%��$�0 %��*%�G�*%"�6��
6���� !�� ���� !��!����� ��� ������ �� ������������ ��� ��� ����������@� ��� ��������� �������
�S�2 ������ ���� !����������� �S�� ���������� ���� ��� ���.��� ���� � �!������ !���������� ���
����������3� *� ������@� ��� ������� !����������� ��+������� E���� �2 ������� ��� ��+���� ��� �����
���.��@� �����S������ !��!������� ���� ��������� 7�)� ��� ���� !��!� ��� ���� ���������3� 6����
��!�������@� ��� ���� �� �������� �S�2 ������ �+�!� ��>*)� ��S���� ���-���� �� ����� ��� ���� ����
�!����� ?� �2�!����� ��� ���� !����� �!����� ��+����� � ����� ���� ������ ���-���3� 7�� �������� ��
Y����������Z� ��������E�������!������������� �������� ����!�� ����.��@� �����S����������� ��
���� �+���� ���� !���������������������+���3�*� ������@� !����� ����������S���� ��� �������������@�
�����S����������� ���S�� ������ ����.����������������� �����������������������-������������3�
6�������������!�� ����.��@�������� ������������������� ���������������������� �������@�����
������ ���2 ������ ���� !����������� ���� ����� �� ���������@� ��� ������ ��� �� ������ ���� ����;
�������3�
5.8.3 Définir des contraintes de testabilité au niv eau méta
)�������������������!�����7�)%>�&����������� ������������U8����SSNRW��� ������������
���.������� ������������!���������������������!!�����!��X���������!�[��S���������� ������3����
��� ����������� �����+���������!����@��2 ��������� ����������e�I���e@� /����� �������������������
���.���X!������@����������@�����!��������������-����[3�
���������������� �!�� ���2� ���������� �����2 ����������������� �������� ����������+���@� ���
����.����������������������!�������������� ����������7�)@���������!�����!��������?���������
�����������.���7�)3�)S�����������������!�������������������������� ��+����E��������!-����?�!��
�������+������� ���������� ���� �������� ���� �� �����������������������������/������!-�����
$��������������������������������� ��������
�
M1O
����� ��S��� !��!� ����� !���� ���� ������!�� ����� ������3������ ����������� !����� � ��!-�� ���� ���
������� ��������,�!�����
%,�!���� %6����!�H� ����I
�
G��#���45�H��"���0"��%�"$�-���!'%�'��
)S����������������!�������������� ����������������7�)���������� ��!-�� ����������� ����
��!����� ��� ����!����� �S��� ������3� 7�� �2�� ��� ��� !����� ��������� ���� ���������� �S$�����!��
,�!����� ������� ���� �������� ���� ��� ,������ ON3� *�� ������� ���� !�� ���� ��� ���2� �I����
!�������!�������X,�!��������6����!�[��������!����������������������Y!�����Z3�*� ������@���� �.��
U#����SS00W@� ����!�������������� ���������� ���/��������������������� ��+���� �� ����������+�!�
��!������!�� ������3�6���� ��!�������@�����!��!� ��������� ��+���� ����������������!����������
��������I�������!�����������+��������@���������-�����!-�������!������3�)��!��!� �������� ����
������� �����������������,�!�������+������+�����������-����e!������!�e3�
H !�� � �!% I
%,�!������*���������
H � ��� I
%*�������,������d
H !�� � �!% I
%6����!���*���������d
H� ����I
�
G��#���;<�H������ ��$�-�%%��$�0 %��*%�G�*%"�6�
)��,������0� ������������E��� ������@�������������������������������������@� �� ����������
U)�� 8�����!SS00W@� �B� ���� �������� ����� ��!����� ��� ����� ���� !�������������� ��� ��+���� ����@�
!�� ������� ������� !����������3� �!�@� !�����.��� ��� !�� ������� ������ �I������,�!����@�6����!��
����*������3��)�� ��������I�����������e�-�����!-��e@��3�3����������������!������������� �������
��������� ��� ��������������3� )�� ��!���� ���� ��� ��������� ��� Y�-�����!-����Z3� ,���������@� ���
������.��� �I��� ��!���� ��� ��������� ��� e������e3� 7��� e�����e� U(���SSNNW� ���� ��� ���������
����������� ������������������������!������3�*-����������������� ������� ��������������
��� ��� -�����!-��� ,�!����3� 7��� !���������� ���� ����!-��� ��� �I��� !��������� ��� ����� ����!����� ����
�!����� ��� ��@� �S������!������� �S��� ����!�� X!����� !���������� ���� !��!�������� ��� ��� �����
Y!�����Z[3�*�!���� ������������������ ��!�������*���������������+�������?�!���������-�����!-����
��� ����!�3�
7���2�� ������!�����.������� ���������������,������M3�K��4>K����#*">))�$"�/������
����I������ ����!��@�������-�����!-������!������K�48(&,$*&>"9�/��������I������,�!����3��������
���2�!�����������-��������!����������������-�����!-���K�48(&,$*&>"9�X*�����#!�������X[����*�����K����DX[[3�*�����������!�����,�!��������!������������+�!����������� �������������
����������+��������,������ON����,������0��� �����������S�� �������������� �����!��������
K�48(&,$*&>"9�X����!��������������!������I���,�!����[����K��4>K����#*">))�$"�X����!���� ���� ������!�� ��� �I��� 6����!�[� ���� �������� ��� Y!�����Z3� $����@� ���� �������� ��� ����
��������������������������������������� ��!��������� �����������������������������/������ ����
M1� �
�
$���; ���������������������������������������������!�� ������
�
�+������S������!��������!������������!������!������+��������!������� ����!�3�)���J!-�����+���������
���� +�����!������ � X���� ���� E���� ����!����� ������������� ��� ��� *$#(� ����[� ��� ��� !����������
Y!�����Z��������� ���������3��
����$%X�����B���� %
X����Y
�� ���C�
��S����%G�*%"�6
��S�$�"R
���*�"��B��
�"%�&S����%G�*%"�6
�"%�&S�$�"R
�"%�&�*�"��B��
M
M
M
$�����!��,�!����
6����!�
6����!�
,�!����
����$%X�����B���� %
X����Y
�� ���C�
��S����%G�*%"�6
��S�$�"R
���*�"��B��
�"%�&S����%G�*%"�6
�"%�&S�$�"R
�"%�&�*�"��B��
M
M
M
$�����!��,�!����
6����!�
6����!�
,�!����
�
G��#���;��H� $��>�!-����#��� ��$�-�%%��$�0 %��*%�G�*%"�6�
5.8.4 La grille de testabilité des design patterns
6���������������!��!� �����@������ �� �������������������+�������������������� ����.�������
������������ ���������� ���� !-����� ������� ������� �������� ��� �I��� ���� ����!�������� ������ ����
!������������� �����������2 ��!�������3��������� ���������������!��������������.��� �� ������
���8�����U8����SSNRW� �������������������!��+���!���������� �� ��������!��!� ����������
�������� !����� �������!��3� *�!�� ����� ������ ��� ���������� !-����� ������� !����� ����
���!������������������ ���!� ��2���S����� �����3��
����� ����� !��!�������� ���� ���� ������� �������� �����������2� ����!�������� ���
U$�����SSNW��� $�����!�� ,�!����@� ������@� �������@� *�� �����@� 4�!������@� ,��D���-�@� 6��2�@�
��������@���������@��������� ��� #����3� ��� � ���T�� ���� ���� ���.���� ���� ������ ���������� �����
������������Q������3�����������������.��������������� �������>����+��@�����������������������������
�2-�����+������ �������� ��� �!� 8������ U�!8�����SSNNW3� =����� ��� ������� Q������@� ��� ����
����!���.������������!����?��������?�!������S��������������������������� ������ -������������
�2�!��������������������Y�����������+���Z3�
�
4������6������� ���������� ����!� ����� �������
��������!���������
!�������
������� ��������!������
������;������������
$�����!��
,�!�����
M�!������
M�!������,$*&>"9������������
�
�
�
�
$��������������������������������� ��������
�
M1N
��!�������,$*&>"9�!��!�.����
�� ������������������
� ��������!��!�����
≤�\�≤�d � ��!���
��������������������������������
����/�����
��!��� ��!���
�������� M�!������M�!�������7�)4("�����������
���7�)4("�!��!�����
� ��������
≤�\�≤�d �X�E��� �� �� ����
$�����!��
,�!����[�
�
��!���
*�� ������ M�!������
M�!������!�� ����������������
��!�������!�� ������!��!�.����
�
��!���
�
��
�
4�!������� M��������!��
M�!������!�� ������
M�!������4(*>"$&>"�����������
�� !������� 4(*>"$&>"�
!��!�.����
�
��!���
�
�
��!���
�
,��D���-�� *��������3���!�3� *����� ���3�
��!�3�
*��������3���!�3�
��������� M�!������
��*>�*"(&($88"(8$&(�
��*>�*"(&(�&("$&>"�
�
�
��!���
d��
X�� ��� !������ ����
*>�*"(&(�&("$&>"@� ��
��� !������ ���
*>�*"(&($88"(8$&([��
6��2�� M�!������#7�:(*&�����������
M� ��2��
M���/��������
�
��!���
�
��!���
*-���� ���
��� �����������
M�!������
M�!������5$�4)("�����������
��!�������5$�4)("�!��!�.����
�
��!���
�
��
��������� M�!�������(4�$&>"�����������
M�!������*>))($87(�����������
�� !������� *>))($87(�
!��!�.����
��!��������(4�$&>"�!��!�.����
�
��!���
�
�d��
�������� M��(�(�&>��
M�>"�8��$&>"�
M�*$"(&$'("�
�
��!���
�
��!���
#����� M�!������*>�&(\&�
M�!����������������#&$&(�
�
�
�
�
M�0� �
�
$���; ���������������������������������������������!�� ������
�
��!�������#&$&(�!��!�.����
X����������� �� ��!���� ����
!������� #&$&(� !��!�.���� +����
*>�&(\&[�
��� ��!���
Q������� �����������+�������
�X*>�*"(&(()(�(�&[�
�+���������
�X*>�*"(&(Q�#�&>"[�
�
��!���
�
�d �
5.9 Conclusion $��!��������!��!-� ����@�������+������������������������������������������������������������
!�� ������3� 4��2� !�������������� ���� ���� ������������ ���� ��� ���������� ��� !������@� !�����
��+����������������������������������/���������!�����?�������@���������� ��������������; ��������
��� �����������3� ����� �+���� ���!� ������� ��� !���.��� ��� ����� ���� !��+���� !��� ����; �������@� ���
�� ������������������!�� ��2��������!���3�*�����������@����������+�����������������������
��� !������@� !����� ���� ?� ��� ������������ ����� ����������3� (�� �����@� !����� ������� ������
���+�����������������!�������� ����+�����������!���.����������������������������3��
*����� ��� ������� ���� �+������ ���� ���� � �!���!������ ��� ��������@� ��� ��� ���� ���
��������� ����@� ��� ������������ �������� ���� ���� +������ ����!��+�� Y���� ����Z@� �3�3@� ���� �����
����!��+��������������������������������!�����������!�������+������������������������������/���3����
� ���T�� ������ ������� ��H��� ������������ ��� ������������ ���� ���/������ ��� �������������� ���� ���
���������� ������� ��������!������������ ���������������?�������3�)����!�����!������������
��� !�� !-� �����!��������?� ��!�����!����� ������������?� ���������� ������ �������� ��� � �!��������
�������������������I����������� �����!���S��� ��������+��������X!������������@�����!�������������
�����������������[@�������������������������!���������������2�����������3��
$��!�������������!����� ���������!����������������������������!��!����������������������
�������� !����� ���� ����;���������� ��������� ����� ��� ���������� ������3� (�� �����@� ����
����.�������������������?������+������������� �����������+�����������������������!����������
�S������!��������� ��+���� E���� ������ ��.�������!����� ?� ��������3� ��� ��������� ���!� ���������������
����+��������+������������������ ����������������������������3�)S������������������������ �������
��������������!������������� ������������������������� ����.���� ����������E������������?����
����� ��� ����� ���������� ��J!�� ��2� ����������� ��� !������������� X���� ��������� ��� �� ���
��������������� ��� ���.���[3� *����� ��������� ��� �S������ ���� ������� �������@� ����� �+����
�� ���� ���� ������� !��������� ��� ������� �S����; �������� ��+���� � ���T���� ��� ��!����
� �!���!�������� ������������S�����/���������������������S����!�����������������������!������3
�
�
�
!�
"��������������������#���
$�� !����� ��� !����� �-.��@� ����� ����� ������� ����������� ?� !�������� ��!�������� ���
!������!������ ����!���������� �����������/��� ���� �� ���������������������� �������������
��� !��� ���������3�)��� ������������ ������� ��!������ ����� !�� ��!������ ��� ����� ���!������
��������!��������������-������������������� �������!��!� ��������!�� �����������!�����
�������3� *����� ���-��������� !�����.��� ��� ����� !����� ��� ������ ���!� ��� ���� ���
+��������������� ��������3�(������ �������!���� ����������!�� ������!��+�����������������
��� ����� ���� -����� ���������@� ��� !��!� ����� ��� ���� ���������3� )��� ���+��2� ���������
�����!����!������������������!��������������������� ������ ���!� ��2������ �������?��������
�� �!�������������������+��� �����������!�� �����3�
6.1 Contributions majeures )��� ������ !������������� ��/������ ��� !����� �-.��� ������!������ ������� ��� ���2� �2���
!�� �������������� ��� !��!� ����� ��������� ��� ����.���� �����������/��� ��� ����������� ���
!�� �������������+��������������!�� ���������������������3�)������2���!���������+������
���������!���!������������3�
6.1.1 Validation de composants
)���!-� ������1�������������������������?����+�������������!�� ������������������������
����� ��� !����� ��� ��� ���-���� ���� !�� ������� �������������3� ����� �+���� ����� ��������
������� ��� ���������������!������ ����� �������!�� �����@� ���� ���!��!� ����� ���!�������
�������+���������������������������!�� ������3�
M��
�
*��!����������� ��� �!��+���
�
$�� !����� ��� !-� ����� 1� ����� �+���� �� ���� ���� ��������� ���� ��� ����.��� ��� ���
����������� ��� ��� ��� ����������� ������������ ����� ��������� ��� !��� ��� ����� ���� ���
!�� �����3� ����� �+���� ������� ��� �������-��� ���������� ���� ��������� !�� ����.��3�
)��������� ���� ���������� �2 ���������2� ���I�� ��!�+����� ����� �� !������� ?� �� ����� ����
��� ������� ��� ���������-��� ���� ����� � ������ ��� ���� ��!��� ����" ������#$�3� )��
��+��� ������ ����� ������ ����� �� ������ ������!����� ��������� �2 �����!��� ���� ����
!����������� �������!�������� ��!-�� �����������������!�� �����3�
)��!-� ������� �� ��������������������!��!� ����� ���!������� ���������������������.���
>>3� ����� �+���� �������� ��� ���� ��� !����� ���-���� ���� ���2� �� �!��� ��� ������� ���
����!�������� �����!���������������������3�6����!���@�������+�������������� �!��+�����@� ����
�������� ��� ����������� ��� ��� ��������������� ���� ���� ����.���� >>� !��H��� ��� !������3�
*�!����������������� �������������������� �!�������������������������������������!��������
���� !��� ���2��������3� )��� ���������� ����������� ���� ��� ��� ��� �������!����� ��� !��������
��������� ������������������������!�������������!���������������������@���������;���?�������
�������� ��������@� ��� �������� ���� !�������� X����� !� �!���� ?� ����!���� ��� ����� ������� ���
����.��[� ���� ��� ��!����� ��� ���� �� ������� ���� ������!��� ��� ����������� ��� ��!������� ���
���������!3�
8����������������������!�������������� ����.���
-��������������
� ���������������!������������������2
����������������!�!��������!�������
$����������������!�������
"�!������!�������������!��
�� ������������������������+������4��������+�!��������+���2�!����������
!�������
������ �3
!�������
������ �3
!�������
������ �3�#f�����
!�������
������ �3�#f�����
!�������
������ �3
�#f�����
!�������
������ �3
�#f�����
!�������
������ �3
!�������
������ �3
!�������
������ �3
!�������
������ �3
!�������
������ �3
!�������
������ �3
6��!����������������
M 1 R� �
�
G��#���;(�H���"*� # ���"0���-"#�����*"$*�-%�"$���#$�*"!-" �$%�&��0���
$� ���������!������2�������@������ �� ����������� ��!-���������+��������!��!� �����
��� !�� ������� �������������3� *����� � ��!-�� !�������� ?� ���������� ���� ������ ��!������ ���
!�� ������������������@������2���� ���X,������[���
M� ���� +������� ��������� ��� ���� ���������@� ���� !�������� ��� ���� !��� ��� ����� ����
��� �������
� ������������������������ ����������������������!����������3�������+�����������
���2��������-�����+�������������� ����������������!�������� �3�
*���������������/������
�
M�1�
1� ����!�����������������2�!������������� ���������3�#�����������������������!����@�
���������+����E������!�����������!��������3�4����!��!��@�����������+�����?������ ��
M@� ���������� ������!������ ��� ��������� �������@� �������� ��� ����������� ���
�������@�������!������������������!����������3�
�� ������!�!���� ���� !�������� ���� �������@� ��� ���+���� ?� ������� ������ �������� ���
��������3�*���������@����������������������!��������!��������!���� ��������!����
�����������3�)���!�����������������������!����� ����?����������������!�������3�
R� ����!����������������������������!�������3�
�� ���������������!�����������������������@�����2�!�������� ���!�� �����3�)������
���!�� �������������+�������� �.�����2�!���������!-�����!����������@����!�����
!����������������!���������3�
6.1.2 Testabilité d’un assemblage de composants
)��������.���!���������������!������-.���!��!����������������������������.�������������
��/��3� *����� ������ !�������� ?� ������� ��� !�� ��� ���� �!�� ���� ����!������ ��� !����I���
����!���.���� ����������� ��� !���������� �������������� !�� ������� ���� ��� ������������ ����
����.���3� (�� �����@� �������������� ��� ��!�������� ����� ���� ��� ����������� ��� ���
������ -����� �����T��� ���� ������ �� ��������� ��� !����I��� ?� ���+���� ����� ��� ����.��@� ���
�� ����������������!������!�� ��2���������������/�����������.��3�������+�������!��������
���!���.���������������+����?�!��+����!���������!�����3�$���!����?�!��!���.��@������ �� ������
��������������!�� ��2���@�!��!�������?� ������������������������!�������������� ������
���+������ ��� ������������ ����� ����������� ���� ��� !��!� ����3�$�� !����� ��� !����� ������ ���
�����������@� ����� �+���� ������ �����+�� ��� !�� ��������� ����!������ ��� ��� ��!������ ����
������� �������� ���� ��� ����3� ����� �+���� ������� !������@� ��� ���H���� ���� ������������
�� �������� ��� ��-�������� ��� ��� ��� ����������@� ���� �� ������� !�������� ����.���� ���
������������ ���� ���������� ��!������2@� ����� ������������� ��!��������� ���������
�����!�����3�>�@�!��������!������ ��+����E������!������?� ������������������������!����������
��+����E�����+��������+�!����!���.����������� �� ���3�
6.2 Perspectives
6.2.1 La génération de test pour le diagnostic
)�� ���������!� ���� ����� �� ��� ����� ���� !�������� ?� ��!������� ��� !�������� ���� �������
����������!��������������!-���3�)��� �!��������������������������!-����������������!�!�������
���������!� ���� ���������� ��!�����3�*� ������@� ��.�� ��� ��� ���+��2� ��� ����� ����������� ?�
�����������!����� �!�3�#���!�� ����@�������+����!�����!���������+��������������@�?� ������
��� ���������� ���� �������-���� ��� ���������!@� �������� ���� !���.���� ��� ����� ���� ����
��!���������� ����!�!�� ���� �������� ����� ��� ��������3� ����� ���������� �������� ���
�������-��� ��!������������� ���� �������� ���������������� ���� !��� ��� ����� ���� +���������
!��� !���.���3� )��� �2 �����!��� ��+������� ����� ��������� ���������� ������!�!���� ���� !��� ���
M���
�
*��!����������� ��� �!��+���
�
����� �������� ���� ��� ��!���������� ���������@� ������ ���� ��� +�������� ��� ���.��� ���
��������������� �� ���������!������-.��3�
6.2.2 Les contrats comme oracle de test
$��!��������!������-.��@�������+����!�����!�@����!��������������+�!��������� �����
�����+������� ��� *�������� ?� >���D�@� ?� �������� !��������� �� ������� ���� !�������� ����
����������������+���������������!�!���� �����������!�������������3�)������������������������
���������������!�����������������!���������������!����2 ��!������� �����!�����!�������3�(��
�����@� ������ ����� ������ �������+��� ���� ���!��� ���2�!������ ���� !��� ��� ����@� ��� ��� !�������
������������!�����������������!�����������������������!���������������������������2�!���������
!-�!��3� >�� ������������ ������ ��� ��������� ��� !��� ��� ����� ���� �2�!������ ���� ������� ���
����.��� ����� ����������� ���� !�������� ����� �������� X����!����� ��� ���������[@� ��� ����
��������� ���� ��������� �!�����������!����2 ��!���3�)���������������� �����!��� ���� ����!������
������2�!����������!������������!�!��� ��������E������ ������?� ��������3�,����������� �@�!���
���+��2������� ��� ���������@������!�����������E�������� ��� �!��+��������������� �������
�������������������������������X�����!�����������!����������������!����������!��[3�
6.2.3 Transformation de modèles pour la testabilité
8����������@� ��� ������ ���+���� �� ������ +���� !���� ����� ��� ���� ��+�����@� ��� ����� E����
�����������!!�� �������������������� ����������������������������������������!��!� �����
��� ������������� �������.���� ��� ������ ������������ �+���� ��� ������� ���� ������������ ��� ���
�����������3� 7�� !��� ����!������ ��� ��������������� ������.��� ����� ��� ������������ ���� E����
!����I���� !��!����� ���� ������� �������� �+������ !�;� �.�3� 4���� ���������� �B� g� ����� ���
!����2��� ��� �4(� X������ 4��+��� (����������[� g� ��� ��� ���� ����� �������� ���
��������������@� ������� ��� ��+��������@� ������ !����� ��!-������ �������� E���� � ������� ���
��H��� ������������� ?� ������ ��������������� ����������� ��� !���������3� $����@� ���/���� ���
�������� �������������� ��!���������������� ���������������+���!������������������������
��� ���.��@� ��� �������� E���� ������������ ���� ������� ���� ������!��� ��� ������� ��������
�������������������������������!������3�
6.2.4 Design patterns et test
(�� ���H���� �������������������!����I���?� ���+���� ���������!������@� ����������� ��������
�������� ���������!��������2 �����������!����������!��2�?�����!�����3�7�� �����������������
������������������������� �������������������������!��������!������������!�!�����������!�����
������!��!� �������������������� �������@�������2 ���������� ���������+�������
;� �2����;�;��� ���� �.����� � �!�������� ���� ��� ����!����� ��� !�������� ����� ���
��� ��!���������������� ��������u�
;� ���� !�������� ��+���;���� E���� ����!�!��� ���� ��� ����!����� ��������� ����� ���
��� ��!���������������� ��������u�
�
�
�
����$���
$���2��$�
�
M�O�
����$���� ������������������������
��������%��&���''�
*����� ����2�� �������� ��� ������� ��� ��� ������� ��� ��� �� ��������� ���� !�������� ���� !����
����.���� �!����� ��� :$Q$3� *��� ���������� /���������� ��� +�������� ��� ��-� ��-.��� ��� �� ���������
�������������!����������!��������������.��������������������������������!-� ������3�
*����� ������������������������������������������������:&��!��3��
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
Executed contracts (%)
Exe
cute
d co
de (
%)
�
G��#���;.�H��'-��%�%�"$��� �*"$%��% ���$ �#$��*�� ���� %�
M��
�
$���2��$
�
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
Executed contracts (%)
Exe
cute
d co
de (
%)
�
G��#���;1�H��'-��%�%�"$��� �*"$%��% ���$ �#$� ��7�#������'#$�"$�7��%#�����
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
Executed contracts (%)
Exe
cute
d co
de (
%)
�
G��#���;3�H��'-��%�%�"$��� �*"$%��% ���$ ���� #�%�����%� % ����� $�%�
$���2��$�
�
M�N�
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
Executed contracts (%)
Exe
cute
d co
de (
%)
�
G��#���;,�H��'-��%�%�"$��� �*"$%��% ���$ ������C�
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100
Executed contracts (%)
Exe
cute
d co
de (
%)
�
G��#���;4�H��'-��%�%�"$��� �*"$%��% ���$ ��%����
$���2����
�
MRM�
����$��(� ����������������)����
�������������������������#����
����� ���������� �!�� ���� ���!������2�!����������������������� -������������������������/����
X�������� �+�!� :���!��[� ���� ���� !��� ��� �����&*M� ���&*1� ��� ��� ��!����� R313�3� :&��!��� ���� ���
�����D��C� ���� ���!��� ���2�!��������� ����������:�+�@������������������� �!�� ���� ����������
�������������2���������������������������������������/���3�*���������������� ���������2-�����
���2�������!����������/���@����������������� �������������!������.��� ��������������� �.��������
!���.��� X��!����� R31[3� ����� !�����H���� ��� �2-����� ���� ������!����� ������;������������
����!��+�@� �������� ������!���������/���3�(����@�������������� ���� �������������:&��!����������
������!���������������!��+�������������!����� ����!�� ��2�������������2� ����.����
AU1 *�������!�������������������!������2�!������ �������!�����������&*M@�������������������!�����
������;������������$7M�����>>'�+��������;�E���?����+�����>>'(Q(�&@����������������������
�����+���3�
����������������2�
public void testManageEvent(){ Book b = new Book(); b.manageEvent(“setDamaged”); //the trace is produced from this call }
�
� ������/�$�������$ �����2�
| | | | | |->[email protected] | | | | | | |->[email protected]
MR�
�
$���2���
�
���� ��������)������$ ����2�
�
AU2 *�������!�������������������!������2�!������ �������!�����������&*1@�������������������!�����
���!�������$7M��������>>'(Q(�&�����>>'� ������2�!-�����������������X�������!��������������
�������?����+�����>>'#&$&([@���������������������������+���3�
������������2�
public void testManageEvent(){ Book b = new Book(); //the book is in the ordered state b.manageEvent(“deliver”); //puts the book in the a vailable state b.manageEvent(“borrow”); //the trace is produced from this call }
� ������/�$�������$ ���J2�
| | | | | |->[email protected] | | | | | | |->[email protected]_state | | | | | | |->[email protected] | | | | | | | |->Borrowed@86.<init> | | | | | | | | |->Book_State@86.<init> | | | | | | | |->[email protected]_state
���� ���������)������$ ���J2�
�
$���2����
�
MR1�
IC(BOOKEVENT, BOOK) ����� ����������� �!�� ��� !��� ��� ����� ���� !�� ��2�� ���� !��+��� ��������!����� ��� !�������
�������>>'(Q(�&� ��� �>>'��� ��� ���� !-������ ����� ?� ���+���� $Q$�)$�)(@� "(#("Q(4� ���
�>>'#&$&(3�
������������2�
public void testManageEvent(){ Book b = new Book(); //the book is in the ordered state b.manageEvent(“reserve”); // the trace is produced from this call }
� ������/�$�����2�
| | | | | |->[email protected] | | | | | | |->[email protected]_state | | | | | | |->[email protected] | | | | | | | |->Reserved@87.<init> | | | | | | | | |->InLibrary@87.<init> | | | | | | | | | |->Book_State@87.<init> | | | | | | | |->[email protected]_state | | | | | | | |->[email protected] | | | | | | | | |->[email protected]_nb_res
���� ��������)����2��
�
8���������
�
MRR�
����������
$������-����+����������������2��������������������-������������� ������!�������������.�������
!�������!������������ ������������������������B�!-��������������������� ��������3�
$������-��� ���������������.��� !�� ����������� ��� ��� ����������� ��� ����.��� ������ ���� ����
���!� ����������������������������!�����������������������3�
$����������� ����!������!�������������� ����!���3�
*������������� ��!���������� ���������2�!�������� ��������������������+�!�������������������3�
*�����������!�� ������*������!�����������!�� ������*/���������������������+�!������*/�X�3�3����*����
�����������@�����+����������!���������� ����.����������-��������� ��*/[3�
*�� ������ ��������������� !�� ������ ����!���� ����� ������� ����� ������ ��� ���� �� ���������@�
����� �!���!��������������������!���������2�!�������@�������������������!����������3�
*��!� ����� ��� !������������-��������� ��� !��!� ����� ���� ���� ����.���� ��������� ��/��� ����
!��������?�������������!��������?���������������+����������������������������������������.��3�
&����� �� ��� ���!� ��2�������������� ��+����E������������������ ������ ����!���������� �����
���� �������-����@� ��� ��� ��+������� ���� ���� !������3�)�� ��!��������� �������� ��� !���������
������� ��������������������-���3�)�� ���!��������������������� �� ��������������������������
��� ������-���3�7�� ��+������������������� �� ��������������+����+��������� ���������� ����/���
�+�������� �.��!-������ ���������-���3�
*�� ��������������������!��������������������������2��������@��3�3�����!���������������!�������
���.���������������/��3�
*���.�������������!���.������������E����+������� �������!������������������ ������������������3�6���
�2�� ��@�!��+�����������!-�����@�!��+����������� ����!���@��!���������������^�
MR��
�
8��������
4��������!����+�����������+��������������������+�!������+�����+���������!!�� ����������������
���!������������.��3�
4������ 6��������� ��� ������� ������� �� �������� ���� ��������� ��2� ����.���� ���� �����������
�������������!����������+��� ����������!����2��� ����!�����3�)���������� �������� ��+����
E���� !���������� ��� ����� ���� ��!����!-���!������ �������������� ���� !����������� ?� ����
��!-���!������������.����������V������������������������!�������������������������������������
!������������������������ ���!� ��2� ����!� �����������.������!��!� ����3�
4��������������!���������� ���������������/�������!�������@� ���������/��@�?���������������
��� �����������������������������-����?������������/��3�
4����������������������������������� ����������������!������ ��������3��
4��������!�����!�������������!����!���������������������������!��������������!-���3�
4��������������������������������� �����2�!�������� ������������������3�
4���������+��������������!��������������������3�
4��+��� ��� ������� ��������� ���� �2�!���� ���� !��� ��� ����� ���� ��� ��������� ?� ������@� ��� ����
���+�����������+����!��� ����!-�����!����������3�
(������� �������������������������.��������������!� �������������T�����������������!�3�
,������!�������/���������� �����������������3�
,����D��C��� 7�� �����D��C� ���� ��� ��������� ��� !������� ��� ��� !�������������� ������ ����
������!������!���!������3��
>*)���>�/�!��*����������)�������3�)�������������������� �������2 �����������!���������������
������.���7�)3�
>��!������������!����������!���!��!�������+���������������!������������������� ������������
���!��������������������������3�
>���������/���� X!��!� ����[��� ���!��!� �������/����� ����������� �� ����� ���� ���������������
�����������������������������������/��3�
6������ -�����������������������������!�� ������ �����������������/��������� �����������������
!�����������2�!�����3�
"������������)������������������!�� ������������������!��������!� �!�������!��!�� ������?�
���!�������� �E��� ����� ���� !���������� ���������3� )�� ����������� ���� ������ E���� +���
!�������� ����������������������������������!��������������� ��������!����������2!� �����
��!-��������������������!����� �������!�����������������3�
&������������� )�� ������������ ���� ��� ��!����� ��� �������@� ������� !����� ��� ��!������ ?� ������� ���
����!���3�)���������������������+�����������������������
8���������
�
MRO�
• ���!�]����������������������!�]��������� ����������������!�����������+������������!���.���
��������������
• ��� !����I����������� ��� ��!������ ���� �������� ���� �������� ��� ����� ����!�!��� X �� ������
�������.�����������!�������������[�
• �������+���������� ��� ��!������ �+�!� ��������� ��� ���� �������� ��� +�������� ��� �������!������
������������������� �.�����2�!����������!�����������
&�����������!����������2��������2���������!����������������������!������
����������������������!��������?��2�!���������!������������������ ������������+��������
������+������������������!��������?����+��������������3��
��������������������������+������ �� ���������������������� ��������� ��������!��������
������3�
7�)���7�����������������)�������3�)���������� -����� �������!��!� ������������!����@����
����!��������������!����������������/��3�
Q����!���������������!����������������� ��� ���+��������������� �.���2�!���������!���������������
!��������?������!��@����������"�!�$�3�
��������� -���
�
MRN�
(���������*���
�
�
U$�����A�CSS00W� $3� $�����A�C� ���� $3� :3� >�����@� e7����� 7�)� *������������� 4�������� ���� #����!�
*-�!C��������&����8���������e3����6��!������������8ORR@�9��C@�7'3� 3�11�;�1NR@�>!������
0003�
U$8(4�#SS00W� $8(4�#@� e$��������� 8���������� ���� (2�!������ ��� &���� #������ ���� 4�����������
*�� �����;������#���D���e3�
� -�� �%%DDD3������3��%����23�-���3�
U$�����SSNW� (3� $������ ���� $3� *������@� e5�D� ��� 6�����+�� �-�� ��������� ��� 4������ 6�������e3� ���
6��!�������������A��OZK@�Q��!��+��@��*@�*�����3� 3�M1��;�M�1@�>!������MNN3�
U$���D��SSNRW� 53� $���D��@� :3� 5�����@� #3� )������ ���� K3� K���@� e,����� )�!���A������ ������
(2�!������#��!�������4������D�&����e3����6��!����������������OZP�-���,��%�����$�������&�Y� ��
����������%�������� ���.@�&�������@�,���!�3� 3�M�1�;�MRM@�>!������MNNR3�
U$��2�����SS00W� "3�&3�$��2����������:3�>�����@� e*�������� ����&�������6������ -�!�"��������-� �e3� ���
6��!����������������ORR�-���,��%�����$�������&�Y� ������������%�������� ���.@�#���:���@�*$@�
7#$3� 3�MR�;�1@�>!������0003�
U$��2�����SS0�W� "3� &3� $��2�����@� $3� :3� >������ ���� :3� �3� ������@� e,����� 4���!����� *� ���������� ���
*�� ����;������ >>� &������e3� ��� 6��!�������� ��� �����OR?� -���,� �%�����$�� ��� ��&�Y� ��
����������%�������� ���.@�$��� ����@��4@�7#$3� 3�0O�;�M@���+������003�
U$��2�����SS0�W�"3�&3�$��2�����@�:3��3�������@�83�#��� �������:3���2��@�e������������:�+��>�/�!��e3�
���6��!����������������OR?�-���,��%�����$�������&�Y� ������������%�������� ���.@�$��� ����@�
�4@�7#$3� 3�1�M�;�1RM@���+������003�
U$�������SS0W� 83� $�������@� )3� ������@� �3� 4�6����� ���� 93� )���!-�@� e$� !���� #����� 7����� &-��
"����;&�� � #�������� ���� #����;������ *����� &������e3� ��� 6��!�������� ��� �����OR?� -���,�
M�0�
�
��������� -��
�
�%�����$�� ��� ��&�Y� �� ����������%� ������� ���.@� $��� ����@� �4@� 7#$3� 3� �N� ;� ON@�
��+������003�
U������SS00�W� �3�������@�93�)��&����� ����Q3�)3�5��-@� e&������;���;&������ �-��8�����!�#���!�����
������� ��������*�� ������=������!�����e3����6��!�����������������$ ����-���!�����%��&�
��)���*� �����������$����������%�����.@������#����!-��@�,���!�3� 3�M0�;�MMN@�:����0003�
U������SS00�W� �3�������@�93�)��&����@�Q3�)3�5��-� ���� :3;�3� :�A�����@� e���������&����� �����>>�
*�� ������� ������ �� 8�����!� $������e3� ��� 6��!�������� ��� �����ORR� -���,� �%�����$�� ���
��&�Y� ������������%�������� ���.@�#���:���@�*$@�7#$3� 3���;�M�@�>!������0003�
U������SS00!W� �3�������@�93�)��&����@�:3;�3�:�A����������Q3�)3�5��-@�e&���������*�� ��������9���
$���-�����������;������ $ ���!-e3� ��� 6��!�������� ��� ���� �%�����$�� ���8$������� �������@�
#���:���@�*$3� 3��N�;�O�@�>!������0003�
U������SS0M�W� �3� ������@� 93� )�� &����� ���� :3;�3� :�A�����@� e"���������� ���� 4�������������� ���
4�������� ��� *�����!��� >>� #������e3� ��� 6��!�������� ��� 8�� ���OR�� -��&�Y� �� 8�� ����
�%�����$�.@�)�����@�7'3� 3�O�;�1@�$ ����00M3�
U������SS0M�W� �3� ������@� 93� )�� &����@� 83� #����� ���� :3;�3� :�A�����@� e&�D����� �� #���� 7��� ���
4������6������������>>�#���D����&����������e3����6��!����������������OR��-���,��%�����$�����
��&�Y� ������������%�������� ���.@�5���;'���@�*-���3� 3�1��;�1N@���+������00M3�
U������SS0�W� �3� ������@� 93� )�� &����� ���� 83� #����@� e&����������� $�������� ��� 7�)� *�����
4������e3����6��!�����������8�� ���OR?�-��&�Y� ��8�� �����%�����$�.@�>���D�@�*�����3� 3�R��
;��1@�:����003�
U������SS0�W� �3� ������@� ,3� ,������@� 93� )�� &����� ���� :3;�3� :�A�����@� e$�������!� &���� *�����
> ����A����������������!���������!���$�� ��������������$ ��!���������3�(&�*�� ������e3����
6��!��������������OR?�-�$����������&�Y� ��������� ���.@�(�������-@�#!������@�7'3� 3�R1�;�
R�@�#� �������003�
U������SS0!W� �3�������@�,3�,������@�93�)��&���������:3;�3�:�A�����@�e*�� ��������������������!��
���� &������� � 3�(&� *�� ������e3� ��� 6��!�������� ���8�� ���&�� �$��� � ����� �!� X� F�!��@�
*�������@�7'3� 3�#� �������003�
U������SS0�W� �3� ������@� ,3� ,������@� 93� )�� &����� ���� :3;�3� :�A�����@� e8����� ���� ��!������ ����
$�������!� &���� *����� > ����A������ ��� �-�� 3�(&� (�+��������e3� ��� 6��!�������� ��� �����OR?��
-���,� �%�����$�� ��� ��&�Y� �� ����������%� ������� ���.@� $��� ����@��4@�7#$3� 3� MNR� ;� 0�@�
��+������003�
U������SS01W� �3�������@�93�)��&����@�83� #����� ���� :3;�3� :�A�����@� e���������� ���� �� ��+����
4������ 6�������� &����������e3� ��� 6��!�������� ��� 8�� ���ORJ� -��&�Y� �� 8�� ���� �%�����$�.@�
#�����@�$��������3� 3�#� �������0013�
U��!CSSNNW� '3���!C@�e(2������ ������������2 ������e3�$������;K������MNNN3�
U��!CSS0MW� '3���!C�����(3�8����@�e:7���e3�
� -�� �%%DDD3/����3���%����23-��3�
U���A��SSN0W� �3����A��@�e#���D����&�������&�!-������e3�Q�������������"���-����MNN03�
U������SSNW� :3� �3� ������� ���� :3� #!-���A@� e(���������� �-�� ������� ��� &���� *����� "�������� ���
#������� �-�� ���;��; ��-�� &������� *��������e3� ��� 6��!�������� ��� ��&�Y� �� �������� ����%���� ����
� �&���������%����$�� 3�MON�;�M�@�4�!������MNN3�
��������� -���
�
M�M�
U������SSN�W� "3�Q3�������@�e4����������&��������������>�/�!�;>���������������e3�*������!�������
����-��$*��.4XN[��O�;�M0M�#� �������MNN�3�
U������SSNNW� "3� Q3� ������@� e&������� >�/�!�;>�������� #�������� ������@� 6�������� ���� &����e3�
$������;K������MNNN3�
U�����SSN�W� (3� �3� ������ ���� 83� ,3� �������@� e&������� ����D���� ������ �����;������ ������!�
�������-��e3� ��� 6��!�������� ���;������� A �� ������� �ZZQ����&� ����@� #�������@� *$@�7#$3�
3���M�;����@�:����MNN�3�
U�������+SS0MW� '3� �������+� ���� �3� 5��!����@� e#����!-���� &������� ���-��� ���� $��!����� *�������
#������e3�#���D����&������@�Q�����!����������"�������������XM[��1N�;�R�����!-�00M3�
U���!-SSNNW� 83� ���!-@� :3� "������-� ���� �3� :�!�����@� e&-�� 7������� ��������� )�������� 7����
8����e3�$������;K��������/�!����!-��������������MNNN3�
U������SSN�W� )3� ������@� #3� �����!�� ���� Q3� #3� ������@� e6�� ����;������ #���D���� (�����������
�����������e3��(((�&�����!���������#���D����(�����������((XM[����;���:�������MNN�3�
U������SSNNW� )3� ������@� :3� K3� 4���� ���� :3� '3� Kz��@� e$� 7������� ,����D��C� ���� *�� �����
���������������>�/�!�;>��������#������e3��(((�&�����!���������#���D����(�����������(3XM[��
NM�;�MM�:������%,��������MNNN3�
U������SS0MW� )3� ������� ���� 93� )���!-�@� e"�+�������� #���������� ���� >�������� *����� ������������
&�����������-��6�����!�����4� �����!��*�!���e3����6��!����������������OR��-���,��%�����$�����
��&�Y� ������������%�������� ���.@�5���;'���@�*-���3� 3�O�;�N�@�4�!������00M3�
U������SS0�W� )3������������93�)���!-�@�e$�7�);������� ���!-� ���#������&������e3�:����������
#���D��������#�����������������XM[��M0�;���#� �������003�
U������SS0�W� )3� ������@� 93� )���!-�� ���� 53� #��@� e��+����������� �-�� ���� ��� ��������� !�����!��� ���
�� �������������������������/�!�����������!���e3����6��!��������������� ����������%�����$�����
��&�Y� ������������������%���@�"���@������3� 3�O0�;�0@�:����003�
U���D�SSNW� K3� :3� ���D�@� "3� *3� ���+���@� K3� 53� ���D�@� 53� K3� �!*����!C@� ���� � � ���� &3� :3�
��D����@� e$���6��������� "���!������� #���D���@� $�!-���!�����@� ���� 6��/�!��� ��� *�����e3� :�-��
K�����{�#����MNN3�
U���SS00W� 73����@�$3�>���������3�6�AA.@�e$���������&����������*������e3� ���6��!�����������
�����ORR@�6�������@�>"@�7#$3� 3�1N�;��@�$������0003�
U*�������;*��������SSN�W� �3�*�������;*��������@�:3�8��!��;������@�(3�6�������������3�"� ���@�e4������
��� !�����!�� ��� #�������Ce3� :������� ��� >�/�!�;>�������� 6����������� ;XO[�� 1� ;� 1���+������
MNN�3�
U*-��SSNNW� �3;53� *-��� ���� 53� �3� '��@� e&������� ��/�!�;��������� �������� ;� ��� �����������
� ���!-e3� ���6��!����������� �����OZZ�-���,��%�����$�������&�Y� ������������%�������� ���.@�
��!��"����@�,)@�7#$3� 3�O1�;�@���+������MNNN3�
U*-���SS0W� 93�*-��������83�&3�)��+���@�e$�#�� �������6��!��!���$ ���!-����7����&��������&-��
:�)�����:7����K��e3����6��!���������������A@�������@�# ���3� 3�1M�;�RR@�:����003�
U*-�+�����SS0M�W� 63�*-�+����������63�&-�+����;,����@�e$�������������������������������!��������!�����
�����7�)���������������e3����6��!�������������8A����-?P�!����$������� �������������$�� �
��&�Y� ����������������������&� ����.@�*-�!���@��)@�7#$3� 3�0R�;�M�@�>!������00M3�
M��
�
��������� -��
�
U*-�+�����SS0M�W� 63�*-�+����������63�&-�+����;,����@�e$��(� ���!���(+������������#�������!���&�������
4�������������7�)�#�����4����������-��,���-��8�����!��#������*����#����e3����6��!��������
��������OR��-���,��%�����$�������&�Y� ������������%�������� ���.@�5����'���@�*-���3� 3�O�;�
10@���+������00M3�
U*-�+�����SS0M!W� 63� *-�+�����@� e$ ���������������$�������� ����>�/�!�;>�������� 6��������7����� ��
"����!��+��$ ���!-e3����6��!��������������!�!�����*A���&�����&�Y� ��������� �������&� ����@�
��!��@�*-���3� 3��O�;�O0@�4�!������00M3�
U*-�������SSN�W� #3�"3�*-������������*3�,3�'������@�e$������!��#���������>�/�!��>��������4�����e3�
�(((�&�����!���������#���D����(�����������(<X�[���O��;��N1�:����MNN�3�
U*���C�SSO�W� )3�$3�*���C�@� e$� ������� ������������ ����� ����� ���� �������!����� �2�!���� �������e3�
�(((�&�����!���������#���D����(�����������(X1[��MR�;��#� �������MNO�3�
U*�����SSN�W� 63� *������ ���� "3� "�������@� e$���������� ���� >�/�!��� ���pe� ��� 6��!�������� ���B� ���
���� �,����&,������)���*� ����������!�����%@�#��6���������-@�"�����3� 3�:����MNN�3�
U*�����SS00W� $3�*�����@�*3��3�)3�K������ ����83�<�+���!-�@� e>�/�!��>��������4������(2 �������
"������$��$ ���!-����������5�������!�@�4������6������������$���; �������e3����6��!�����������
���� ������������&� ����������&�Y� ����$��� 3�11��;�1R@�:����0003�
U*����SS0W� 63�*����@�e�7���e3�
� -�� �%%�����3����!������3���%3�
U����!�A�SS0MW� �3�����!�A�@�e���������*`�!�� ���������)���23e�
� -�� �%%DDD3��;����3!��%����23-���3�
U4������SSOW� "3�4������@�"3�)� ��������,3�#��D���@�e5��������&����4����#���!�������5�� �,���&-��
6��!��!����6���������e3��(((�*�� �������X�[��1��;��M�$ ����MNO3�
U4������SSNMW� "3� 4������� ����$3� :3� >�����@� e*���������;������$�������!� &���� 4���� 8���������e3�
�(((�&�����!���������#���D����(������������4XN[��N00�;�NM0�#� �������MNNM3�
U4������SSN1W� "3� 4������� ���� $3� :3� >�����@� e(2 ���������� �������� ����� ��� ��������!� ����� !����
���������e3�$*��&�����!���������#���D����(������������������-��������(X[��M0N�;�O�$ ����
MNN13�
U4�+���2SSNN�W� 43� 4�+���2@� :3;�3� :�A������ ���� 93� )�� &����@� e#���;��������� *�� �������� �����
6�������!� &����� ��� �� 4�����;���;&����������� ���-�������e3� ��� 6��!�������� ��� ����OZZ�
-���!�����%� �&���)����� ����������$����� ���� �%�����.@� ���!�@� ,���!�3� 3� N�� ;� M0O@� :����
MNNN3�
U4�+���2SSNN�W� 43� 4�+���2@� :3;�3� :�A������ ���� 93� )�� &����@� e#���;��������� !�� �������� �����
�������!����������������;���;���������������-�������3e����6��!��������������!�����%��&���)����
� ����������$����������%������-����OZZ.@����!�@�,���!�3� 3�N�;M0O@�:����MNNN3�
U4�+���2SS0MW� 43�4�+���2�����93�)��&����@�e\�)�����������#���!��*����(��������������>�/�!�;
>�������� 4�+��� ������ ��� (2�� ��3e� ��� 6��!�������� ��� E��R�� Y� F�!��� ��� ����O?RR�@�
&������@�*�����3� 3��;�1M@�����00M3�
U4�!CSSN1W� :3�4�!C� ����$3� ,��+��@� e$���������� �-��8���������� ���� #�����!���� ��� &���� *�����
����������;������# �!���!������e3����6��!�����������B8�OZJ� 3���;��@�$ ����MNN13�
��������� -���
�
M�1�
U4S#��A�SSNW� 43�,3�4S#��A�� ����$3�*3�K����@� e>�/�!�@�*�� ������� ����,����D��C��D��-�7�)@�
&-��*���������$ ���!-e3�>�/�!��&�!-������@�$������;K������MNN3�
U4�����SSNNW� (3� 4�����@� :3� "��-C�� ���� :3� 6���@� e$��������� #���D���� &������e3� $������;K������
MNNN3�
U(���SSNNW� $3� 53� (���� e6��!���� # �!���!������ ��� 4������ 6�������� ���� &���� #� ���� ��� �-����
$ ��!�����e3�7��+����������&���$+�+@�MNNN3�
U(�D����SS0MW� #3� 53� (�D����@� e$� ,����D��C� ���� 6��!��!��@� $��������� ���!C;��2� &������� ���
*�� �����;������ #���D���e3� #���D���� &������@� Q�����!������ ���� "����������� ��X[�� NO� ;� MMM�
:����00M3�
U,��C��SS0W� 63� ,��C��@� 53� 8���� ���� �3� :�A�����@� e*������!����� *����;#� ������ >��!���� ����
&��������$�*����#��������$���������#���D����&������e3����6��!��������������OR?�-�$��������
��&�Y� ��������� ���.@�(�������-@�7'3� 3�MN�;�M1@�#� �������003�
U,�����SS�W� �3� (3� ,������ ���� "3� K3� K-����@� e$2������!� $ ���!-� ��� #���D���� �����!������
�-����-�6�������4�!�� �������e3�*�� �����:�������(5X�[��110�;�11N�$������MN�3�
U,�D����SSNNW� �3�,�D���������43�8��-��@�e#���D����&����$���������e3�$������;K������MNNN3�
U,������SS0MW� "3��3�,������������3�,��������@�e*�����!��#������������>�/�!�;>��������)��������e3�
���6��!�������������A���?RR�@�&�� �����@�,)@�7#$3� 3�M�;�MR@�>!������00M3�
U,�D���SSNOW� �3� ,�D���@� '3� #!���� ���� 83� ���!-@� e7�)� ���������e3� >�/�!�� >�������� ������@�
$������;K������MNNO3�
U,�D���SS0MW� �3�,�D���@�e"���!����*�� ����e3��(((�#���D�����;X�[��M0�;�M0��:���;$������00M3�
U,�������SSNMW� "3� #3� ,�������@� e&����������� ��� #���D���� *�� ������e3� �(((� &�����!������ ���
#���D����(������������4X�[��RR1�;�R���:����MNNM3�
U8����SSNRW� (3� 8����@� "3� 5���@� "3� :�-����� ���� :3� Q��������@� e4������ 6��������� (�������� ���
"��������>�/�!�;>��������#���D���e3�6������������*�� �����@�$������;K������MNNR3�
U8-��-SS00W� #3� 8-��-� ���� $3� ���-��@� e�������!�� ��������� ��� ������� �-�� ������!�� ��� ������ ����
!�� ������� ���� �������e3� ��� 6��!�������� �������@� #������������@�*$@�7#$3� 3� 1O� ;� ��@�
$������0003�
U8�������SSNW� 43� (3� 8�������@� e8�����!� $������-��� ��� #���!-@� > ����A������ ���� ��!-����
)�������e3�$������;K������MNN3�
U8����C�� SS0W� K3�8����C�� @� 93� 8���+�!-@�K3� #!-����� �����3� Q�����@� e8���������� ,������ #�����
��!-����� ����� $�����!�� #����� ��!-����e3� ��� 6��!�������� ��� �����OR?� -���� ���������
�%�����$�������&�Y� ������������������%���.@�"���@������3� 3�MM;M@�:����003�
U5��-SS0W� Q3�)3�5��-�e&����������.���7�)������������@� �����������-.����������e3�7��+����������
"������M@�003�
U5������SSN�W� �3� :3� 5������� ���� 83� "��-�����@� e6���������� 4���� ,��D� &������� ��� *������e3� ���
6��!�����������B���-B�$�������������&�Y� ��������� ���.@���D�>������@�7#3� 3�MR��;�M�1@�
4�!������MNN�3�
U5�SSNNW�K3;�3�5�@� :3;�3� :�A�����@�$3� )��8�����!� ���� ,3� 6�������!S-@� e7�)$7&�� ��� (2���������
7�)� &�������������� ,����D��Ce3� ��� 6��!�������� ��� ���OZZ� -�$�������� ��&�Y� ��
������� ���.@�*�!������!-@�,������@�7#$3� 3�OR�;�O@�>!������MNNN3�
M���
�
��������� -��
�
U5��/��SSNW� 93� 5��/��@� *3� ������/�� ���� :3� :��;>C@� e��������;������ �����;!����� �������e3� ���
6��!����������������A���&�����&�Y� ��������� �������&� ����@�&�� ��@�&��D��3� 3�MO��;�MM@�
4�!������MNN3�
U5������SSO�W� :3� 53� 5������@� e$�� ������� ��� �������� ���� $�����!���� #������e3� 7��+������� ���
��!-�����6�����MNO�3�
U5�D���SSO0W� K3� (3� 5�D���� ���� 93� 5����@� e#���D���� &�����������e3� ��� 6��!�������� ��� �����
�%�����$��������������� �������*������������������ ��� 3�MNO03�
U:����SSNW� &3� :����� ���� 63� �����@� e&���� 8���������� 4���+��� ����� �����;!-�!C���e3� ���
6��!������������� OZZ@�'����@�:� ��3� 3�M0�;�M@�:����MNN3�
U:�A�����SSNOW� :3;�3� :�A������ ���� �3� �����@� e4������ ��� *�����!��� &-�� �������� ��� $�����e3�
*�� �����.<XM[��MN�;�M10�:�������MNNO3�
U:�A�����SSNNW� :3;�3�:�A�����@��3�&���������*3��������@�e4������6������������*�����!��e3�$������;
K������MNNN3�
U:�A�����SS0MW� :3;�3� :�A�����@� 43� 4�+���2� ���� 93� )�� &����@� e"�������� >�/�!���� �� )��-�D���-��
$ ���!-�$ ��������:�+�e3��(((�#���D�����;X�[��O��;�1�:���%$������00M3�
U:����SSN�W� �3� ,3� :����@�53;53� #�-����� ����43� (3� (����@� e$�������!� #���!������ &�������7�����
8�����!�$������-��e3�#���D����(�����������:���������XR[��NN�;�10��#� �������MNN�3�
U:����SSNW� �3� ,3� :����@� 43� (3� (����� ���� 53;53� #�-����@� e$� #�������� ���� ������ 8�����!�
$������-��� ���$������������!-� ����,����;������&������e3�&-��*�� ����� :�������1�X[�� N� ;�
M0O�MNN3�
U:����SS0W� :3�$3�:����@��3�:3�5�����������:3�#���C�@�eQ������A���������&�������������������$������
,�����)�!���A�����e3����6��!���������������OR?@�>������@�,)@�7#$3� 3���O�;��OO@�����003�
U'��C��SSNRW� �3� '��C��@� e$�� >+��+��D� ���� *�� �����+�� *�������!������ ��� 6������� #��!����
&�!-������e3�:����������#�����������#���D����.�X1[��MNO�;�M��4�!������MNNR3�
U'��SS0MW� #3;K3� '��@� :3� $3� *���C� ���� :3� $3� �!4�����@� e��+����������� �-�� ����!��+������ ���
��/�!�;��������� �������� ����������� ������ �-�� ��������� ���-��e3� #���D���� &������@� Q�����!������
����"�������������X�[��0O�;�R�4�!������00M3�
U'��SSNNW� 93�83�'��@�53�#3�5���@�43�53���������#3�43�*-�@�e&����!���������������������7�)�
��������������e3��(((�6��!�������;#���D�����1,X�[��MO�;�MN�$������MNNN3�
U'��!-��-��SSNRW��3�'��!-��-��@� #3�)3�6�������� �����3� ,�����@� e&�D����� �� �����D��C� ���� ����D����
������������ +���������e3� �(((� &�����!������ ��� #���D���� (����������� (�XM[�� NN� ;� N���
4�!������MNNR3�
U'����SSN0W� �3� '����@� e$��������� #���D���� &���� 4���� 8���������e3� �(((� &�����!������ ���
#���D����(������������,X[��O0�;�ON�$������MNN03�
U'����SSNW� �3� '����@� e4�����!� ���-��� ���� ����D���� ����� ����� ����������e3� #���D���� &������@�
Q�����!����������"�����������(X�[��01�;�M1�4�!������MNN3�
U'����SSN�W� �3�'���������$3��3�$�;9���@�e$��������;���������������������������������������e3����
6��!���������������@�������@�8������3� 3�OM�;�0@����!-�MNN�3�
U'����SSNOW� �3� '����@� e*�� ��������>�� 4�����!� 6������� #��!��� ,��� 7�����!������ 6�������e3�
�(((�&�����!���������#���D����(�����������(.XM[��MO�;�1��:�������MNNO3�
��������� -���
�
M�R�
U'���SSN�W� 43�*3�'���@�:3�8��@�63�5���@�93�&����-��������*3�*-��@�e>��"����������&����������
>�/�!�;>��������6�������e3�&-��:����������#�����������#���D����.(XM[��M�;��0�:�������MNN�3�
U)���!-�SS00W� 93�)���!-�@�63�&-�+����;,����@�53�K�������!C������3;53�4�����@�e&������� ��+����
������/�!�;�������������D���e3����6��!���������������@�)�����!C@��������3� 3�:����0003�
U)� ���SSNRW� :3;*3�)� ���@�e8������������������������!����������e3�*� ������MNNR3�
U)��8�����!SS00W�$3�)��8�����!@�83�#���������:3;�3�:�A�����@�e6��!����������������4������6�������e3�
���6��!������������8ORR� 3���;��N�@�>!������0003�
U)��&����SSNOW� 93�)��&���������*3�"���!-@�e&����������������������������4����,��D�4������e3����
6��!�������� ��� ���� ��������� ��&�Y� �� 8�� ���� �%�����$�� -8�� ���OZ[.@� $����������@� ��@�
7#$3� 3�NM�;�N@���+������MNNO3�
U)��&����SSNW� 93� )�� &����@� ,3� >������������ ���� *3� "���!-@� e#���D���� 4�������������e3� ���
6��!�������� ��� �����OZK� -���,� �%�����$�� ��� ��&�Y� �� ����������%� ������� ���.@� 6��������@�
8������3� 3�RO�;���@���+������MNN3�
U)��&����SS00�W� 93�)��&����@�&3� :����@� :3;�3� :�A����������63������@� e(���!�����>>�����������������
"����������&������e3��(((�&�����!���������"�����������15XM[��M�;�R����!-�0003�
U)��&����SS00�W� 93�)��&����@�,3�>����������������*3�"���!-@�e$����A����&��������������4����,��D�
4������e3� ��� 6��!�������� ��� �����ORR� -���,� �%�����$�� ��� ��&�Y� �� ����������%� ������� ���.@�
#���:���@�*$@�7#$3� 3�M��;�MO1@�>!������0003�
U)��&����SS01W� 93� )�� &����@� ,3� >�����������@� *3� "���!-� ���� �3� ������@� e,���� 4��������� ���
4��������������� $2������A�����@� ������������ ���� $ ��!�����e3� :������� ��� #������� ����
#���D����,3XM[��1M�;�R0�:�������0013�
U)������SS0W� �3�)������@�,3�6�����2������3�7�����@�e$������������������&������������<������e3�
���6��!�����������B� ����8��!����-B8�OR?.@�*� ��-����@�4�����C3� 3�M�;��0@�:����003�
U)��C�+SS�W� �3�)��C�+�����:3�8�����@� e$�����!���������# �!���!������ ���6�������4�+��� ����e3�
��&�6����%�!�8��D�5����MN�3�
U)�����SS0W� 43�)�����@�*3�����������93�Q����@�eQ����������������������!��������������������7�)�
�������� �-�� $8$&5$� � ���!-e3� (��!�����!� ������ ��� &-������!��� *�� ����� #!���!�� ,,X[�
4�!������003�
U��SS0W�93;#3���@�93;"3�'D�������$3�:3�>�����@�e�����;*��������������> �������e3����6��!�����������
�����OR?�-���,��%�����$�������&�Y� ������������%�������� ���.@�$��� ����@��4@�7#$3� 3�1R�
;�1�1@���+������003�
U������+SS0MW� 43�������+�����#3�'-���-��@�e&���(����$���+���,����D��C�����$���������&�������
��� :�+��6�������e3� ���6��!��������������OR�� -�$����������&�Y� ��������� ���.@� #���4����@�
*$@�7#$3� 3��;�1M@���+������00M3�
U�������SS0W� Q3��������@�$3�>���������3�6�AA.@�e�����!�����&����������>�/�!��>��������#���D���e3�
���6��!��������������� ������������&� ��������������� �����&�������/�����$�� ��%������ 3�
003�
U�!8�����SSNNW� :3� 43� �!8�����@� e&���� 6��������� 6������ #����� ��e3� :������� ��� >�/�!�� >��������
6������������(X1[��M��;�MN�:����MNNN3�
M���
�
��������� -��
�
U�!8�����SS0MW� :3� 43��!8�����@� e$� 6��!��!��� 8����� &�� &������� >�/�!�� >�������� &������e3� >�/�!��
&�!-�������#�����@�$�������K������00M3�
U�!'��SSNRW� :3��!'��@�e*������������!��4����������6��������������*�����!�e3����6��!�����������
������[�-���!�����%��&���)����� ����������$����������%�����.@�(����D����*�����3� 3�1NR�
;��MN@�MNNR3�
U�����SSN�W� �3������@�e>�/�!�;�������������D����!������!����e3�6�����!��5����MNN3�
U�����SSN�W� �3������@�e$ ������4���������*�����!�e3��(((�*�� �����(3XM0[���0�;�RM�>!������
MNN3�
U��!-���SS0MW� *3�*3���!-���@�83��!8��D� �����3�$3� #!-��A@� e8����������#���D����&����4���� ���
(+�������e3��(((�&�����!��������#���D����(�����������(4XM[��M0R�;�MMM0�4�!������00M3�
U������SSO�W� K3������������43�)3�# �����@�e$�������!�8�������������,�������;6�����&����4���e3�
�(((�&�����!���������#���D����(�����������(X1[��1�;���#� �������MNO�3�
U���!-���SSNNW� "3����!-��������:3��!'��@�e(2�������������-��������+����������D����!�����!��e3����
6��!����������������OJ?� 3�MNNN3�
U�#4�SS0�W� �#4�@�e*`��������!���������>+��+��De3�
� -�� �%%����3��!������3!��%+������%��!-����%����!���%� �����%*�-�� �����3�� 3�
U�#4�SS0�W� �#4�@�e3�(&�-��� ���e3�
� -�� �%%����3��!������3!��%�������%�������3�� u���f%�- %4������3�� u!��������f000RMN3�
U������SSNW� )3� ������@� 43� *���������@� �3� ��!*���@� :3� �!4������ ���� 63� #���� ��@� e,������
4���+��������� ,������ #�������!-����� ����*�����&������e3� ��� 6��!�����������G�8� OZK2��!�� 6G7�
B� ���������&����������������@�������@�8������3� 3��;RN@�#� �������MNN3�
U�����SS0W� *3������@�#3�6�!C��@�93�)��&���������:3;�3�:�A�����@�e"��������&����"������������
���� 7�);�������� 6����!�� )����e3� ��� 6��!�������� ��� ��A@� (����@� 8������3� 3� RM� ;� R�@�
#� �������003�
U������SS0W� :3� (3� ������@� �3� ����� ���� $3� ���������@� e>�� �-�� "�������� ���D���� 4������
*�����!��� ���� (������� �� #���D���� 4�+��� ����� #�������e3� ��� 6��!�������� ��� ��C�@� )���@�
#D����3� 3�$ ����003�
U>�����SSNW� $3� :3� >�����@� e��+������������ ��� �-�� ����D���� �������� !�� ����� ����!�e3� $*��
&�����!���������#���D����(������������������-���������XM[��R�;�0�:�������MNN3�
U>�����SSN��W� $3� :3�>�����@� :3�6��@�'3�&�D��������&3�<-���@� e$���2 ���������� �+�����������������
���D���������������������e3�#���D����6��!��!������(2 �����!��(,X[�,��������MNN�3�
U>�����SSN��W� $3� :3� >�����@� $3� )��@� 83� "��-�����@� "3� 53� 7��!-� ���� *3� <� �@� e$�� (2 ����������
4������������� ��� #����!������������ > �������e3� $*��&�����!������ ��� #���D���� (�����������
�������-��������3X[��NN�;�MM�$ ����MNN�3�
U>�����SSNOW� $3�:3�>����������:3�6��@�e$�������!�����4���!�����(���+�����������������������������
6��-�e3�&-��:����������#���D����&������@�Q�����!����������"�����������4X1[��M�R�;�MN�#� �������
MNNO3�
U>�����SSNNW� $3� :3� >������ ���� $3� $�����A�C@� e8���������� &����� ����� 7�)� # �!���!������e3� ���
6��!������������8OZZ@�,����*������@�*>@�7#$3� 3��M��;��N@�>!������MNNN3�
��������� -���
�
M�O�
U>�8SSNOW� >�8@�e>�/�!��*����������)��������# �!���!�����e3�
� -�� �%%DDD3���3���%��!�%��%NO;0;03 ��3�
U> ��C�SSNW� K3� ,3� > ��C�� e"���!������� ��/�!�;��������� �����D��C�e3� 7��+������� ��� ��������@�
MNN3�
U6�����SSNNW� "3� 6�����@� �3� :3� 5������� ���� "3� 6�!C@� e&���;4���� 8���������� 7����� 8�����!�
$������-��e3�:����������#���D����&������@�Q�����!������@�����"�����������5���1�;�1�#� �������
MNNN3�
U6�!C��SS0W� #3�6�!C��@�*3�:���@�93�)��&����@�&3�:����@�:3;�3�:�A����������$3�)��8�����!@�e#������
&���� #���-����� ����� 7�)� ������� ��� 4����������� #���D���e3� ��� 6��!�������� ��� B����� 3�
003�
U"� �SSRW� #3� "� �� ���� (3� :3� K���C��@� e#���!����� #���D���� &���� 4���� 7����� 4���� ,��D�
�����������e3��(((�&�����!���������#���D����(�������������X�[��1�O�;�1OR�$ ����MNR3�
U"�!-���SSNNW� &3� "�!-���� ���� #3� 4�!����@� e"�!�+������ -��-;��+��� +��D�� ��� ��/�!�;���������
� ��!������� ����� �����!� ���� ������!� �����������e3� ��� 6��!�������� ��� ���8OZZ� -���� ���������
���&� ����������&�Y� ��8�����������.@�>2����@�7'3� 3�M1�;�@�#� �������MNNN3�
U"��������SSNRW� 43� #3� "��������@� e$�6��!��!���$ ���!-� ��� 6�����������K��-�$���������e3� �(((�
&�����!���������#���D����(�����������(�XM[��MN�;�1M�:�������MNNR3�
U"����AD���SSNRW��3� )3� "����AD���@� e# �!����4�+������� ��� # �!�� ���� &���e3� *���������7��+�������
6�����MNNR3�
U#!-���ASSN1W� $3�*3�#!-���A@�:3�:3�8����������������'3�$3�4��:���@�e&��������(+������������8�����!�
$������-��e3��(((�(2 ����;XR[��N�;�M��>!������MNN13�
U#-� ���SSN1W� �3�#-� ��������43���!�@�e4���+����������Q�������������#���D���������!�e3�>2�����
7��+�������6�����MNN13�
U#-� ���SSNW� �3�#-� ���@�e>�/�!�;>�������������!������$������������������ -�e3�
� -�� �%%��!3����������-3�!3�C%(#("8%��������� -�3-���3�
U#-���SSN�W� #3�"3�#-��������*3�,3�'������@�e$������!��#���������>�/�!��>��������4�����e3��(((�
&�����!���������#���D����(�����������(<X�[���O��;��N1�:����MNN�3�
U#�����SSN�W� #3�#�����@�e>�/�!��>��������#���D����&������e3�:�-��K�����{�#����MNN�3�
U#�������/��SS0MW��3� #�������/��� ���� �3� &����@� e# �!���!�����;������ ��!��������� �������� ��� ��/�!��
��������� �������e3� ���6��!����������������JZ@� #������������@�*$@�7#$3� 3� 1R� ;� ��@� :����
00M3�
U#7�SS00W� #7�@�e:�+�**e3�
� -�� �%%DDD3D������3!��% ����!��%/�+�P!!%3�
U#7�SS0W� #7�@�e:�+�&��6��������4��������$�!-���!����e3�
� -�� �%%/�+�3���3!��% ����!��%/ ��3�
U#����SS00W� 83�#����@�$3�)��8�����!�����:3;�3�:�A�����@�e4������6�������$ ��!���������7�)e3�
���6��!���������������AORR� 3����;��@�:����0003�
U#A� ���C�SSNW� *3�#A� ���C�@�e*�� ������#���D������������>�/�!�;>��������6����������e3�$*��
6���������$�������K������MNN3�
M��
�
��������� -��
�
U&�-��SS0MW� )3�53�&�-��@��3�Q�������@��3�'���������$3�:3������@�e"����������;����������������
���!C;��2� ����� ����������e3� ��� 6��!�������� �����8A���@� *-�!���@� �)@�7#$3� 3� �N� ;� �NR@�
>!������00M3�
U&��SSNNW�'3�*3�&�������,3�:3�4������@�e�����;*�����&����>���������>�/�!�;>��������#���D���e3�:����������
>�/�!��>��������6������������(X�[��M�;�1R�:���;$������MNNN3�
U&��!��SSNW� �3�&��!��@�:3�*���C@�'3������������:3�$3��!4�����@�e$�����������������D��C�����
����!������ ����;����� ����������e3� ��� 6��!�������� ��� ���@� 5�������@� 5�@� 7#$3� 3� R� ;� @�
>!������MNN3�
U&��!��SS00W� �3�&��!��@� :3�*���C@�'3������������:3��!4�����@� e$��������� ����;����������������
�����2!� �����!���������e3�#���D����6��!��!������(2 �����!��.<XM[���M�;�ON�:�������0003�
U&���SS0MW� K3;&3� &���@� \3� ���@� "3� 6���� ���� )3� 9�@� e#!������;������ ���!������� �����������
�������e3����6��!�������������8A����?RR�@�*-�!���@��)@�7#$3� 3��N��;�R0M@�>!������00M3�
UQ���SSN�W� :3��3�Q��������'3�������@�e&-��"�+�������6�D��������&����*���e3�#���D����&������@�
Q�����!����������"�����������(XM[��R�;�������MNN3�
UQ���SSN�W� :3� �3� Q���@� e6�(� �� $� 4�����!� ,������;������ &�!-�����e3� �(((� &�����!������ ���
#���D����(������������;X[��OMO�;�OO�$������MNN3�
UQ���SSN1W� :3��3�Q���� ����'3�������@� e#������!������!�� ���� #���D����&����������e3� :������� ���
#�����������#���D����(<X1[��0O�;�M�����!-�MNN13�
UQ���SSNRW� :3� �3� Q���� ���� '3� ������@� e#���D���� &������������ &-�� ��D� Q�����!�����e3� �(((�
#���D�����(X1[��MO�;������MNNR3�
UQ���SSNNW� :3��3� Q���� ���� )3� '�����@� e7����� $���������� �����C��7���������� #���D���������
&�������e3�#���D����=�������6�������������X�[�#� �������MNNN3�
UK������SS0MW� :3� K������@� $3� �������� ���� 53� #��-���@� e(+����������� &���� (�+��������� ����
$�������!� #���!������ &������e3� ������������ ���� #���D���� &�!-������� 1.XM�[�� �M� ;� R��
4�!������00M3�
UK����SSN�W� �3� K3� K����@� #3� 53� (�D����@� K3� 43� 5���@� &3� :3� )���� ���� K3� ,3� >����@�
e*-���!����A����>����+������������*������������������#���D����*�� ������e3����6��!�����������
U�!����� ������������&� ����������&�Y� ����$��@�>������@�7#$3� 3���;�OM@�$ ����MNN�3�
UK�����SSW� �3�K�����@� e6�����������7���#��!���K-���4��������e3�*������!���������$*��
(3XO[������;��R�:����MN3�
UK�����SS�W� �3�K�����@� e6������� #��!���e3� �(((�&�����!������ ��� #���D���� (������������<X�[��
1R�;�1RO�:����MN�3�
UK�SS01W�93�K�@��3;53�*-�������$3�:3�>�����@�e7�);������������������ �������� ����*�� �����;������
#���D���e3� ��� 6��!�������� ��� ���� ��������� ���&� ����� ��� ����*������ ��&�Y� �� �%�����@�
>���D�@�*�����3� 3�,��������0013�
U\���-�C��SSNW� #3� \���-�C��@� *3� (����@� *3� #C������@� $3� )�� 8���@� #3� '����C��� ���� '3� '��� ������@�
e8�����!�$������-���$ ��!������� ���#���D����&������e3� ���6��!�����������B�&�!� ���� ���������
���&� ����,� ��&�Y� �� ������� ���� ���� ���� ������������@� &�������@� ,���!�3� 3� �R� ;� �1�@�
4�!������MNN3�
�
� �
�' #!'��� )�� ����� ��� ����!���� � ���T�� ��/�����-��� !����� ��� ������ ���!� ��� ���� ���
+����������������!���������������� ��������3�)������+��2� ������������!��������!������-.���
������!������ ������� ��� ������ !������������� ���� ��� !��!�������� ���� !��������� � �!���!����� ��� ���
����������������������!��!� ����������������/��� ������������������������� ����!���.���� ����
��� ����� ����� !�� �����3� )�� �������� ���� !��� ��� ����� ������ ��� ��!����� �� ������� ���� ����
+���������� ����!�!�@� ��� ������� ����� !��!����� �������� ���������-���� �+�������������� ���� ���
����������� ��������������� !������ ����� ������� !�� �����3����������� ������������ ��������?�
���� �!�� ��� ��� !��!� ����� ��� !������� ���� ���2� �� �!��� ��� ����� ����� ����������� ���
!�� ��������� ��� ����!����� ��� ��� ��!���������� ��������3� (����@� !��������� !�������������� �����
������������ ���� ��� ���������� ��� !������@� !����� �����!����� ?� ������@� ��� ���� ���������� �����
�� ������ ���� ��������� !��� ����.���� ���� ��� !��!� ����� ��� �+����� ������ ���� ������� ���
��������� �����������3�
�"% �*�' ���������������!���@�7�)@�!��!� ����� ���!������@�������������������������������@��������-���� �+�������������@� �����������@� �������� ��� ��������@� ������� ��� ����!���@� �������
�������@�!��!� ���������������������������/��3�
�
0 %��*%�� #���D���� �������� ��� �� +���� �� ������� ��!-������ ��� +�������� �� ������3� ��� �-����-����@�D�������D��-��-���������������� �!�������-��+�����������������D����!�� ��������-����-�
�-��������������� �!���!���/�!�;��������������������������������-���3��
&-�������� �����D������ ����������� ��� ��� �-����������!� �� ��+������������������������ �����
!����3� K�� ������ �+����������� �������-��@� ���� �� ���� ��� ��������� �������-�� !������
��!���������!� �������-�@� ����!����� ���� ��� ������ ���� ����� ����������3� #�!�����@�D�� ������ �-��
�� �!���������������!�����!�������� ��+�����D�����������!��+�����������������!�����X����������[�
���� ������ ��!���A������ X��������������[3�&-�� ����� �����D�� ��+��������� !��!����� �������� ��� ��
7�)�!�������������D-�!-�!�����������-���;��;����� �������3�K�� �� �����������!������������
!�+��� �-���� �������� ���� ��+����� ������������� ��� !������� �-��!������������@� �����+���� ��������
�������� D-��� �� ���������� ��3� K�� ����� ������ �-�� � �!���!� �� �!�� ��� ������� ��������
� ��!�����������������3��
C�6R"�� �� ����D���� �������@� 7�)@� ������� ��� !�����!�@� ���������� ����� ����������@��+������������������-��@������������@������������������@�����D���������������@�������� �������@�
��/�!�;����������������������������3�
�