Computing Cyclomatic Complexity with Cubic Flowgraphs

15
Journal of Systems Integration, 10, 395±409, 2001 # 2001 Kluwer Academic Publishers. Manufactured in The Netherlands. Computing Cyclomatic Complexity with Cubic Flowgraphs YONGMING TANG [email protected] School of Computer Science and Information Systems, Fairleigh Dickinson University, 1000 River Road, T-BE2-01, Teaneck, New Jersey 07666, USA ALI H. DOGRU Computer Engineering Department, Middle East Technical University, 06531 Ankara, Turkey FRANZ J. KURFESS Computer Science Department, Concordia University, 1455 de Maisonneuve West, Montreal, Quebec H3G 1M8, Canada MURAT M. TANIK Department of Electrical and Computer Engineering, The University of Alabama at Birmingham, Birmingham, AL 35294, USA Abstract. Two new methods for the computation of cyclomatic complexity especially for decomposable representations are introduced. Building software by integration is a developing paradigm, especially enabled by the emerging component technologies. Decomposition of the design for a top-down approach is a prerequisite for this paradigm. Cubic ¯owgraphs are instrumental in providing formalisms for decomposition and integration. Cyclomatic complexity analysis of a design representation that is decomposable is the goal of this research. In addition to introducing cyclomatic complexity computation using cubic ¯owgraphs, preservation of cyclomatic complexity in the decomposition of the cubic ¯owgraph is also presented. Keywords: software engineering, software metrics, cyclomatic complexity, ¯owgraphs, cubic graphs, software components 1. Introduction Cyclomatic complexity has been an important tool in white-box testing of software modules. However, applying the idea to design representation rather than code, may prove very bene®cial. A systems view to software design, requires top-down decomposition as the abstract design paradigm suggests [1]. This is the natural beginning of development with component-based technologies [2]. While utilizing cubic ¯owgraphs as a graphical representation of the design that is decomposable and can be re- integrated, the same representation can be used for complexity analysis of that design also. Any computable problem can be represented by a structured program. Software engineering has exploited object oriented techniques since structured programming days and recently is trying to utilize component-based approaches. The proposed complexity technique is intended to aid component-based software engineering, at the same time is

Transcript of Computing Cyclomatic Complexity with Cubic Flowgraphs

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

� ���� ���� � ���� ��� �!���" ��# $��������� � �� %" & �" ������#

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

'(&)$�&) %�&) ����*���# ��

������ �� ����� ������� ��� ���� ������ �������� ��� ����� ��������� ����� ����� ���� ���� ������ !"# ��� �������� $�% &� ��� �'(((� ��)

�+� ,# -()./

����� "������ ��� ��� ������ *����� "��� ��������� ����� ����� �(+,� )��� �� � ���

0.�&1 �# �/.02

����� ������� ��� ������ ����� ��� ����� ����� �-++ �� *��������� .���� *��� ���� /�0�� 1,2 �*3�������

$/.�% $# %�&��

��� ����� �� "���� ���� ��� ����� "������ ���� ��� ����� ���� �� )��0��� �� !� �������� !� ��������)4 ,+#5-� ��)

����� ��� %�� � � � �"��� ��� �" ���3������� �� ��������� ���3� 4�� �3 ����� ��� � ���3���!�

� 3� � �������� �� �������� �# 5������� ������� ! ��� ������� �� � � 6 ��3��� 3�������� �3 ����� ��!� � !

�" � ����� ���3�� �� � �"������ �# - ���3������� �� �" � ���� ��� � ��37���� �33����" �� � 3� � 8�����

��� �"�� 3�������# 9�!�� :�����3"� �� ������� ���� �� 3��6����� ���������� ��� � ���3������� ��� ��� �������#

9�������� ���3� 4�� ������� �� � � ���� � 3� � ������� �"�� �� � ���3���!� �� �" ���� �� �"�� � � ���"# ��

�������� �� ����������� ��������� ���3� 4�� ���3������� ����� ��!�� :�����3"�� 3� � �6����� �� ���������

���3� 4�� �� �" � ���3������� �� �" ��!�� :�����3" �� ���� 3� � �� �#

�������� ������� ���� ����� ������� � ������ ��������� ���3� 4��� :�����3"�� ��!�� ���3"�� �������

���3�� ���

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

9�������� ���3� 4�� "�� ! � �� ��3������ ���� �� �"�� 7!�4 � ����� �� �������

����� �# ,�� 6 �� �33���� �" �� � �� � ���� � 3� � ������� ���" � �"�� ��� � ��

3��6 6 � ! � ;����# � ��� �� 6� � �� ������� � ����� � 8��� � ��37����

� ���3������� �� �" �!������ � ���� 3������� ���� ��� <�=# %"�� �� �" �������

! ������� �� � 6 ��3� �� ���" ���3�� ��7!�� � � �"������ � <�=# >"�� �����?��� ��!��

:�����3"� �� � ���3"���� � 3� � ������� �� �" � ���� �"�� �� � ���3���!� ��� ��� ! � 7

��� ���� �� �" ��� � 3� � ������� ��� ! �� � ��� ���3� 4�� ������� �� �"�� � ����

����#

�� ���3���!� 3��!� � ��� ! � 3� � �� � ! � �������� � 3������# ������

���� ���� "�� 43���� � �!@ �� ��� �� � � �"��8� � ���� �������� � 3���������� ���

��� � � ��� �� ����� �� �����? ���3�� ��7!�� � �33����" �# %" 3��3�� � ���3� 4��

� �"��8� �� ��� �� � �� ��� ���3�� ��7!�� � ������� ���� ����� �� �" ��� ��� ��

!�� � �� �������� � 3���������� 3�����3� �# �� 3��� ����� � 6 �� ��� �" �33����" �

������� �� �" � 3�����3� �# 2�3 ����� ��� �!������ � ����� ������ ����� �� ���

��3������ �� � 3� � �� ���" � �"�� � �"������ �#

�� ��3������ 3��3 �� �� �������� � 3������� �� ��� � �� � �� ������ �" 3������

� �����# %" 3��3 �� �� �"�� ��" �������� � 3������ "�� �� ��� ��� �� 4��# %"��

3��3 �� ��3�� � �"�� �� 4 ������ �"� �� ���� �" ��� 3���� �� �" 4�� 3���� �� � 3��" ��

�" ���3" � 3� � ������� �� � 3������# 0�� 4��3� � � 3������ ��� ! � 3� � �� � �� �

3������ ������� ���3" <�= �� � :�����3" <�� �=# �� � � ���� 6 � 3��" �� � 3������ ��

� ��� � �� ! � �� �# ,�� 6 �� ��� ��� � �� �� ��� 3����!� �� � �� ��� �" 3��"� �� � ����

3������ ! ���� �� ��� � �������� "���� �� �� �"������� �� 3��"�# 0������� �� �" � �� �

��!� � �� �" � 3��"� �"�� �� ��� 3 �� �� �� ��" ��" � <�=# %" 3��"� �� �"�� ��!� � ��

���� � ��� 3 �� �� 3��"�# ��� ��" � 3��"� ��� ! ���3�� � �� ��� �� ���!�������� �� ��

��� 3 �� �� 3��" � �# �� ��" � ������ � @��� � � �� � �� �" � ��� 3 �� �� 3��"�# &��

� 8� ����� �� "�� ��� ��� 3 �� �� 3��"� �� ������ � �� � 3������# %" ���� � ��

�" ��������� ���3� 4�� �� �" 3������K �� ������� � �" ���! � �� ��� 3 �� �� 3��"�

<�=#

(!6����� �" � 4� 8� ����� �� "�� �� ���3�� �" ��������� ���3� 4�� �� �

3������# %"�� 3�3 � � 3���� � � � ���" �"�� � ��� �� � � � �"��� �� ���� ���� �"��

8� ������ �� ��� � � �� ������ � ��� �# �� � � � � �� 3����� �� 4������ � �"�� ��� �"

���3������� �� ��������� ���3� 4�� �� 3������� �� ������� � �� ����� �# %" � ��

����� � :�����3"�� ��!�� :�����3"� ��� �" � ���3������� �� :�����3"� ��

�������� �� �"��" ���� �" � 3� � ��������� !���� ��� �" 3��3�� � � �"���#

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

$�9�! �������� � � �� �� �������� �" ��������� ���3� 4�� �� � 3������ <�=# %"��

� �"�� �� �3 ����� 6����!� ��� �������� � 3������� <B=# � �������� � 3������ ��

����� � �� "�6 �� ��� 3���� ��� �� 4�� 3����# �� ��� � �� � �� � 3������� �" ���! �

�� 3��"� ������ � ! �� � �" ��� ��� �" 4�� 3����� � �� �� ! L����# 26 � 3��"

�� � � �� ! � �� �# $�9�! ���� ������� � <�= �"�� �� �� 3����!� �� � � ���� �"

���� ��� �� �� � 3������ �� � ����� � ���! � �� 3��"� �� � �� �# 2��" 3������ "�� �

����� � ���! � �� 3����� 3��"�� ��� ��" � 3��"� �� � ��� �� ���!������� �� �" 3�����

3��"�# %" � ����� �� ����������� �" ��������� ���3� 4�� !�� � �� �" � ����� �

� �"�� �� 43���� � ! ���#

26 � 3������ ��� ! � 3� � �� � �� � :���"���# � :���"��� ��� ! ���6 �� � ���� �

��� �� � ���3"� ���� � � 3������ ������� ���3" ! $�9�! # %" ���� �3������ ��� �� �

���3" "�� ��� ����������" � ��� �I �� ��� ��� ��� �� 4�� ��� # 26 � ��� �� �"��

��� �� � ���3" ��� ! � ��" � ���� �" ��� ��� ��� 6 � ��� ��� � ��" �" 4��

��� # &�� � �� �"�� ���3" ��" � � 3� � �� � � ������7��L��� ��������� �� � ���� � ��# ��

�� �������� �� ���� �" 4�� ��� �� �" ��� ��� �� ��� � �� �"�� ���3"� � �������

���� �� � ��� �� � ���3" �� �!���� �# . 3� � ����� 3������� �� ���3"� " �3� �� �"

�33�������� �� ���3" �" �� ����� ��3 ��� �� ������� ���� ���� ���� 3��# (� ���"

��B %�&) 2% �+#

���� 3� �� �" ��������� ���! � �� � ���3"# �� ��2� �� �� � �� � 3� � �� �" ������������! � �� � ���3" 2� �" �

��2� � � � � � �

�" � � �� �� ��� � ��� � �� ������ � �� �" ���3" 2 <�=#

5�� � �� $�9�! M� ���L <�=� �" ��������� ���! � �� � ������� ���� �� � ���3" 2�� 8��� �� �" ��4���� ���! � �� ��� ��� ��� 3 �� �� ��������# � ������� �� � ���3" �� �

3��" �� �"��" �" �������� 6 �� 4 �� �� ��� �� �" ����� 6 �� 4 <N=# 0��� �" ��� ���

��� 3 �� �� ��������� �" ��� 3 �� �� 3����� 3��"� �� � ������� ���� �� � ���3" ��� !

3����� �# %" �� � ��� ! � �������� � �� �� 4��3� �� �" ���� �� � 3������ �"��� ��

%�!� �# 0���� � �"��� � ������� ���� �� � ��� �� � ���3" 2 ���6 �� � ���� �"

3������ �� %�!� �# %" ���� � ��� �� �" 3������ �� �� !� �� �� � �� �� "� ��� 4# %"

� ������7��L��� ���������� �� �� 5� 9� ��� -#

%" ��������� ���! � �� 2 �� ��2� � �N� ��� � � � ! ���� �" � �� �N �� �

��������� �" �� ���� �" 4�� ��� �� �" ��� ��� � ��� �� ��� � �� 2# � �"

��4���� ���! � �� ��� ��� ��� 3 �� �� �������� �� ;6 # %" � �� ���� ��� ���

��� 3 �� �� ������� � �� ���� � �� %�!� � �" � �" ��? �� ��" � � �� ;6 #

%" � ��� � �� �� �� �" � � �� D5�� 5�� 5�� �� 5�E �� � 3����� !���� ��� ��� �������� ��

�" ���3" 2 ��� 3��"� �"����" 2# %" �������� ��� 3��"� �� �" ���3" ��� ! 43� �� �

�� � ��� �� ���!������� �� �������� �� �� �� �� �" � � ��# 0�� 4��3� � �� � ��L 5�

�� � !����� �" ������� D����5 �9-4�E ��� ! 43� �� � �� D��!�5 �9-4�E�D��!�54�E� D����54�E# �� �������"� ��� ���3����� �" ��������� ���3� 4�� �� �

3������ ��� ! ����� �� %���L � ��# <J=# 5�� � �� �" ��� ��� ��� 3 �� �� ������� � ���

�" � �� ���� �3������ ��� ��� ��� 3 �� �� 3������ 3��" � �� �� ���� � �� %�!� �#

��0�� �6 � 3������ 4��3� #

3������ ���3� DEK

! ���

�K

�� � �" �

!K

��

�K

�K

�"�� 5 ��

! ���

� 3 ��

K

�K

����� 9K

�� - �" � !� �LK

�K

"K

��

4K

��

9($ /%�&) 9'9+($�%�9 9($ +2O�%' >�%, 9/5�9 0+(>).� , ��N

��� � �" ��4���� ���! � �� ��� ��� ��� 3 �� �� 3��"� �� � 3������ �� L�����

3������ � ����� ��� ! ��� !�� � �� �" 3����� 3��"�# %" ��4���� ���! � ��

��� ��� ��� 3 �� �� 3��"� �� � � �� � �� �� �" ��������� ���3� 4�� �� � 3������� ��2�#- ���� � ����������� ��� ! ����� �� $�9�! <�= ��� ��������� ���3� 4��� ���" �"

!���� � � �� 3��3 ��� � ��6 � ! ���I

�# ��2� �� 8��� �� �� �� �� � �"�� �#

�# ��� ����� �� � � ���� ���������� ���� � ��� �� 2 �� � ��� ��� �� ��2�#

�# �� ����� ��2� �� @��� � � ���� � ! � ������7��L��� ����������� ��� ��2� � � � ��

�" � � �� �" ���! � �� � ������7��L��� ���������� �� � 3������#

��� � �6 � 3������ ������� ���3"#

��0�� #6 ��� 3 �� �� ������� � ��#

&�� 9������

5� ��!�54�� ����54�� �9 � 5 �9-�"5� ��!�5 �9-4�

5� ��!�54�� ����54�� �9 � 5 �9-�"5� ����5 �9-4�

5� ��!�54�� �9 � 5 �9-�"5� ��!�5 �9-4�� ����5 �9-4�

5� ����54�� �9 � 5 �9-�"5� ��!�5 �9-4�� ����5 �9-4�

��J %�&) 2% �+#

� ����� ���

>" � � � ���� � 3������� � ��� � �� � ������������ � 3� � ������� ��� �� �������"�

� � �� � �� �� � 3������ :���"���# %" � �" 3������ �� ����� � ��������� �� �"��

� 3� � �������# ,�� 6 �� � :���"��� �� ��� � ���3" ! ���� ��� ��� � ��� ! @��� � ��

! ��� �� ��� ���"��� � ��� # � :�����3" �� � 6�������� �� � :���"���# ��� �

:�����3" �� � ������� ���� �� � ��� �� � ���3"# %" �� � ;������� �� �������� � �� �"��

� �����#

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

0����"���� "�6 ! � �� � ��� � ���� ��� �� � ���� ��� 3������ � 6 ��3� ��# �

:���"��� �������� �� � 6 ��� � �� ������ �"�3 � �"�� �� ���� �� � ! ��� �� � �� �#

%" � �� ��� ����������" � �"�3 �� �" 0���� ��� ��� ��� ��� �� � :���"���# %"

��" � �"�3 � �� � :���"��� �� ! ��� ��� �� ��� ��� �� ����� ��� �� �������� ������ ��� � ��� �� ��# %" �"� �3���� � �� ������ �"�3 � ��� :���"��� ��� � ��

�"��� �� 0���� �#

%" ��3��� ���3�� ��� 3��� �� ��� � � 3� � �� !���� ���������� ���� � ��� �� �

3������# 0�� �" ��L �� ���6 �� �� � � ����� �"�� �" ��3�� ��� ���3�� ��� � �� ����

� 3� � �� � �� 3��� �� ��� � ! ���� �" �� �3 ���� 3��� �� � �� 3�������# %�� �� �

�� � :���"��� �� @��� ��� �" � �� ! ��� �� �� # 0���� � �"��� � �3���� :���"���

4��3� � 6 � �� �� �� � ��� � 3� � �� � � �������� 3������# %" ��� ���� � �� ��

��0�� ,6 ��� 3 �� �� 3������ 3��" � ��#

&�� ��"

5� ��!�54� ����54� ��!�5 �9 �9-4� ��!�5 �9-�"5 �9-4� ��!�5 �9-4

5� ��!�54� ����54� ����5 �9 �9-4� ����5 �9-�"5 �9-4� ����5 �9-4

5� ��!�54� ��!�5 �9 �9-4� ��!�5 �9-�"5 �9-4� ��!�5 �9-4�� ����5 �9-4�

5� ����54� ��!�5 �9 �9-4� ��!�5 �9-�"5 �9-4� ��!�5 �9-4�� ����5 �9-4�

��� � #6 0����"��� ��� � ��� �" �� �"�3 �#

9($ /%�&) 9'9+($�%�9 9($ +2O�%' >�%, 9/5�9 0+(>).� , ���

� 3� � �� ��3��� ���3�� ��� 3��� �� �# %" �33 ���� � �� �� � 3� � �� � ������7��L���

����������#

� :�����3" �� � ������� ���� �� � ��� �� � ���3" ���" � ������ 6 ���� �� @�������

6 ���� �� 3��� �� 6 ���� �� ��� � ����������" � ��� ���� ����� 6 �� 4 �� �������� 6 �� 4

<�=# %" 6 ���� � 4� 3� @������� 6 ���� � �� �" ��� ��� � �� �� �" �������� :���"����#

5�� �" � �� �� 43����� ! ��� ��� �� 6 ���� �# %" @������� 6 ���� � �� �" @�������

3����� ������� � ! DPE �� �"��� �� 0���� �� �" � ��� !����" � �� @��� � ���� ��

!����"# - ������ 6 ���� � �� ����� � !���L ��� @������� 6 ���� � �� ����� � �"�� ��

��� � ,6 � 3������ :���"���#

��� %�&) 2% �+#

��� � �� ����������" �" � ���� ��" ��" �# %" ��� �3 � �� 6 ���� � �� � 3� � �� � ��

����� �#

%" @������� 6 ���� � ���6 �� � :���"��� �� � :�����3"# %" ����������" � ��� ��L � �

:�����3" ������� ���� �� �# %" � �� �" �����;���� ���� � �� � ! �� � � :���"���

��� � :�����3"# 5������� � @������� 3���� �� � :���"��� �� 3����� � ���� � � ������7

��L��� ��� ! ���� �" !����" � ����� ! � ;��� � @��� � ��� �" � # %" � ��� �� ��

������� �� �������� @������� 6 ���� �# %" � �� ���� @������� 3����� �� �"�� 4��3�

:���"���# %" ���3� :�����3" �"��� �� 0���� � �� ���6 �� � ���� 0���� �# �� ��

������� � �"�� ��" 3������ "�� � ���� �3������ :�����3" <�=#

9��� ���� ��� 3�3���� 3���������� � �"��8� � �� !�� � �� �" �������� �

3���������� ��� # %"�� ��� � 8��� � �"�� � 3������� � � ���� � 3������ ����� ���

�"� �������� �I � 8� ����� �������� � � � ���6 �������� ��� � 3 ����6 �������� # %"

3����� �������� �� �" � 8� ����� �� # 2��" �������� "�� 4���� �� ��� ��� �� 4��#

%" �������� � ��� ! �� � �� ���3�� � ���� 3������ � 8� ������ �� �� � � �� �

���� �# 0����"���� ��� :�����3"� ��� �" �"� �������� � �� �"��� �� 0���� ��

��� �" � ���" �� 4��3� �� � ��4 � �������� # � ��4 � ������� �������� �� ��� � �� � ��

��� 3���������� ������� �# %" �������� ��� � ��� �� 3������ � �� ��� ���" �� �

���3 �������� ���" �� 4� 3������ !� �L ���� � �� �� �"��� �� 0���� �# ���"���" �"��

�������� 6����� � �" �������� � 3���������� ���� ���� �� �� ������� �� � �� ���

������� � ��L 9� 9� � � ��� ��6�# %"�� �� �� ������ � � �� � �3 ���� ������� ��������

" � # �� � 3������ :�����3" � 3� � ��� � �������� � 3������� �" :�����3" �� �

�������� � :�����3"#

��������� �� �" �������� � 3���������� �� �� 6 � 3������ �� !���� ���� �" �"�

�������� �# 0�� �" 3������ 4��3� �� 0���� �� �" �"�� �������� �� �"�� 3������ �� �

��� � -6 � 3������ :�����3"#

9($ /%�&) 9'9+($�%�9 9($ +2O�%' >�%, 9/5�9 0+(>).� , ���

� 8� ����� �� ���������� � � � ���6 �������� ��� � � 3 ����6 �������� # %" � 3 ����6

�������� �������� ����" � � � ���6 �������� ��� � � 3 ����6 �������� # %" �! ����� ��

� 8� ����� �� � �� �# %" :�����3" �� 0���� � �� � �������� � :�����3"#

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

) � ���� � ���3" �� � ;� � �� � � � �� 6 ���� � 7 ��� � � � �� �� � " �"��" �� ��� � ���

�� �� � �� ���� �� �" 6 ���� � <N=# %" ��������� �� � " � �� ������� �� �"�� �� <N=# �

���3" "�� � � 3� � �������� 2��7�"�# %" 6 ���� � ���� �� � ! �� �� �� ���� � ��73����� �� �" �� # �� �" ��73����� �� �� �� �� �" ��� � �" �� �� ���� � � � ��7���3#

�� ��� �"�� �� �� "�� �" ��� ��73������ �" �� � �� 3����� �# %" 3����� � �� �

��� � +6 ������ ������� �������� � ��� �" �� :�����3"�#

��� %�&) 2% �+#

�� ���� � �� �� �# � ���3" �� � ���3� ���3" �� �" � �� �� � ��7���3� �� 3����� � �� �#

� ���3" �� � �����7���3" �� 3����� � �� � �� ����� �# 2��" 6 �� 4 � �� 7 "�� � � �� �

�" ���! � �� �� � ����� �� �� �� ����� � �� � ����# %" � �� � � �������"�3 ! �� � �" ���! � �� �� � ��� �" ��� �� � �� � �� 6 ���� � �� � ���3" �� �"��� ! ���K " � �

� � �"� ! �" ���! � �� �� �� �7� ! �" ���! � �� 6 ���� � ��� �� �7�I

�P�"� � � ����� � � ����� � � � � � � �����

%" ������������ �� � � ��� ���3"� � �6 � �" 3��3�� �� ����������� ��!�� ���3"�# 9�!��

���3"� �� � �3 ���� L��� �� ���3"�I 0�� � ���3" 2 � �7�"�� �� ��" 6 �� 4 �� 7 "�� � ��

�� �" � �" ���3" �� � ��!�� ���3" <�=#

0�� �� ���3"� �" ���! � �� �� � �� 8��� �� "��� �� �" ��� �� ��" 6 �� 4M� � �� �

�� � ����� � ! ��� # %" � �������"�3 ��3�� � ��� 3��3 ��� � ��� � ��!�� ���3"

�������? � ! ��� �� �� �" ���� �"�� 6 � 6 �� 4 �� � ��!�� ���3" "�� �" � ��

�� �I

�# 26 � ��!�� ���3" "�� �� 6 � ���! � �� 6 ���� � � 3� � �� � �� ���� � �� �� �� � � ��#

�# 26 � ��!�� ���3" ���" �� 6 ���� � "�� �� �� � �� � �� �� �� � � ��#

�� ��� �" 3��� �� 6 ���� � �� � :�����3" �� ������� � ��� �" ��� ��@�� �� ����

������ � 3��� �� 6 �� 4 �� � 3��� � ! �� ��� ���" �" ��� ��� ������ � � � :�����3"

�� �!���� � D0���� BE# ��" � :�����3" "�� �� ��� � ����� 3��3 �� �"�� ��" 6 �� 4 "��

� �� �# � � ������ 6 �� 4 "�� ��� �� � ��� ���� �� �# � @������� 6 �� 4 "��

��� �� � ��� ���� �� �# %"�� L��� �� :�����3" �� ���� � � ��!�� :�����3" <�= ���" �� ������ 6 ���� � ��� � @������� 6 ���� �# ������ �� � � � ��� ��!�� ���3"� � ��!��

:�����3" "�� �� 6 ���� � ��� �� ����#

� ��!�� :�����3" �� � �3 ���� L��� �� � ��!�� ���3"# �� � ����� �" ����� �� ��"

6 �� 4 ��� �" ��� ������� �� ��" �� � �" ��!�� :�����3" �� � � � ��� ��!�� ���3"#

0���� N �"��� �" ��!�� ���3" � ��6 � ���� �" ��!�� :�����3" �� 0���� B# �� �

��� � (6 � ��!�� :�����3"#

9($ /%�&) 9'9+($�%�9 9($ +2O�%' >�%, 9/5�9 0+(>).� , ���

������� � �� ����� �#�� � �������� � 3������ "�� � ���8� :�����3"# �� �" 3��� ��

��� � �� � 3������ :�����3" �� ����� �� �� �� � ��!�� :�����3" �"�� ���� �3���� �� �

��!�� ���3"#

> ���� � �������� � 3������ � �������� �� �� �� �� ���8� � ���3�� � �� �" �"�

�������� 3������ ������� �������� �� � 8� ������ � � ���6 � �� � 3 ����6 # �� �" ��4 �

������� �������� �� ��� 3� � �� �� 4� �� � �������� � � ���� ���" � 3������ �� 4� �� �

�������� � 3������# %" � ��� � �� �������� � 3������ �� � 8� ������ �� � �� ��

���3�� � �� �" � ������ ���� ������� �������� �# (� �" ��" � "���� � �������� �

3������ ��� ! � ���3�� � ���� �" � ������ ���� ������� �������� �# %"

� ���3������� "�� � ���� �� �" � ���3������� �� ��!�� ���3"� <�=# %" ��!�� :�����3"�

�� �" � ������� �������� � �� �"��� �� 0���� J# %" ��!�� :�����3" ��� �" � 8� �����

�������� �� ��� � �� 8� ���� �� �# %" ��!�� :�����3" ��� �" � � ���6 �� � 3 ����6

�������� �� ��� � �� 8� ���� �� �# %" ��!�� :�����3" ��� �" ��4 � �������� ��

��� � �� 8� ���� �� �# %" � ��!�� :�����3"� �� ���� � 3��� ��!�� :�����3"� �"��

�� ��� � ���3���!� <�� �=#

�� 4��3� �� ��!�� :�����3" �� �"��� �� 0���� B# 0���� � �� � ��3 �� �" ��!��

:�����3" �� �"��" �" 6 ���� � �� ��� � ��� �" � ������ ��� � �� ����� � ���"� ����

���� �� �� !���L# 0����� � � �� � ���3�� �" ��!�� :�����3"# ��� �" 3������ �� �"

��!�� :�����3" �� � �������� �������� � 3������� �� �"���� ! � ���3�� � ���� �"�

�������� 3������ ������� �������� �# %" � ���3�� � � ����� �� �"��� �� 0���� ��#

%" ;��� � ���3�� � � ����� �� ;6 3��� ��!�� :�����3"�# %" ! ���� �� �"�

�������� 3������ ������� �������� �# �� ������� � �"�� � �������� � 3������ �� �������

���3�� � �� �" � ������� �������� � ��� ��� ! � ���3�� � ���� �" � ������� �������� �#

(� �" ��" � "���� �" � ���3������� �� � ��� �"��� �" 3��3 ��� � �� �������� �

3�������# 0�� �" ��L �� ���6 �� �� � �� � � ����� � 3������ �� �" � �� �� �"�� 3�3 ��

�� �� ����� � �� ! � �������� � 3������#

��� � '6 � ��!�� ���3"#

��� � 36 9�!�� :�����3"� �� 3������ ������� �������� �#

��� %�&) 2% �+#

!� �������� ����� ��� ��������� " ��� �� ����� ����� ���

26 � 3������ ��� ! ���6 �� � �� � ��!�� :�����3"# � ��!�� :�����3" �� � �������

���� �� � ��� �� � ���3"# %" ��������� ���! � �� � ��!�� :�����3" ��� ! ���3�� �

������� �� �"�� �� � ������ ������� ���� �� � ��� �� � ���3"# 5�� � ��!�� :�����3" �� �

�3 ���� ������� ���� �� � ��� �� � ���3"# 5�� � �� �" 3��3 ��� � �� ��!�� :�����3"��

�" ��������� �" �� � �� �� � ��� ���3����� �" ��������� ���! � �� � ��!�� :�����3"#

#������ �� �� � ��!�� :�����3" 2 "�� �� �� � �� �� �� � � �� ��� �� �" � ��� ������������! � ��I

��2� � � � �

��� � 56 � ��!�� :�����3" ���" ��� � 6 ���� �#

��� � ��6 ��� ��!�� :�����3"�#

9($ /%�&) 9'9+($�%�9 9($ +2O�%' >�%, 9/5�9 0+(>).� , ���

������ �� �� ����� � �"�� � �� � ��� � ��� � �� �� � ��!�� :�����3"# � ��!��

:�����3" �� L���� �� ! � ������� ���� �� � ��� �� � ���3"# %" ��������� ���! � ��

2 "�� ! � � ;� � �� $�9�! <�= ��I

��2� � � � � � �

(� �" ��" � "���� �" ���3" �� � ��!�� :�����3" ���" �� ��� �# � �� ���� "�6 �� �� �� ����� �"�� �� �� ��� �� ��# %" �

��2� � �� � �� � �

��� ;�����

��2� � � � � �

$�� �%�� ) � ���� �" � �� � ��!�� :�����3" ��� ! ��� �3� � � �� �" ���! � ��

� ������ ��� �# 26 � � ������ ��� ���� �3���� �� � @������� ��� # 0�� � � ������ ��� ��" � �� � @������� ��� �� ���������� ��� �" ����� �� ��� �#

�33�������� �� %" �� � � �� �" 3������ �� %�!� �� �"�� ��!�� :�����3" �� �"���

�� 0���� ��� � ��� ��2� � �# %" � ���� 6 ��; � %" �� � �# %" � ��� %" �� � � "�� �

�������� ������� � �� ! ���#

������ � �� %" ��������� ���! � �� � ��!�� :�����3" �� �" ���! � �� � ������

��� � 3��� �� #

$�� �%�� %" �������� ���� ��� � ���3� �� �� ���3�� �" ��������� ���! � �� �

��!�� :�����3"# (�� � ������ ��� � � � �� ! ������ � �I %" ��������� ���! � �� �

��!�� :�����3" �� �" ���! � �� � ������ ��� � 3��� �� # (� �" ��" � "���� �"

��������� ���! � �� � ��!�� :�����3" �� �" ���! � �� @������� ��� � 3��� ��

! ���� �" ���! � �� � ������ ��� � �� 8��� �� �" ���! � �� @������� ��� �# ��� �"

��� � ��6 � ��!�� :�����3" �� �" 3������ �� %�!� �#

��B %�&) 2% �+#

� ������ ��� �� ��" � �"�� �" @������� ��� �� 3�� � 3����� ��� �� � ��!�� :�����3"�

� �� � ������ ��� � �� ���3�� ��������� ���3� 4��#

�� ������� � ! ��� � 6 � 3������ ���� �3���� �� � ��!�� :�����3" ��� �" :�����3"

�� � ��� �"��� �" � ������� �� �" 3������# %"�� �" ��������� ���! � �� � ��!��

:�����3" �� ���� �" ��������� ���3� 4�� �� ��� �������� 3������# %"�� �� ������� � ��

9������� �#

������ � � %" ��������� ���3� 4�� �� � 3������ �� 8��� �� �" ���������

���! � �� ��� ��!�� :�����3"#

$�� �%�� >" � �" ��������� ���3� 4�� �� � 3������ �� ���3�� �� 9������� �

��33�� � �� ���" �� �� �� �� �� �"��# 9� ��� ���6 ����� � 3������ �� � ��!��

:�����3" �� ��� � �"�� ���6 ����� �� �� � 3������ ������� ���3"# %" � ���� �� �"�� ���

�" 3��� �� ���� � ��� �� � 3������ ��� ! ����� � �" � �" 3������ �� ���6 �� � �� �

��!�� :�����3"# %" � ��� � �"�� � �"�� �� ! �� � �"�� $�9�! M� <�=#

&� �������� ����� ��� ��������� " ��� �� '������������ �� ���������� ���

�� �"�� � ������ 3��� ��!�� :�����3"� ��� �" � �������"�3 ! �� � �" 3��� ��!��

:�����3"� �� � 3������ ��� �" ��������� ���3� 4�� �� �" 3������ �� ������� �#

��� ��!�� :�����3"� �� �" � ����� �� � ���3������� �� ��!�� :�����3"�# �� ���

������� � �"�� �" � �� �"� 3��� ��!�� :�����3"�� 8�� 8� ��� 8� �� �"��� �� 0���� J#

%" � ��� � � ���������� �� � ��" � �"�� 6 � �������� � 3������ ��� ! � ���3�� �

���� 3��� ��!�� :�����3"�# � � �������"�3 ! �� � �" � ���3������� �� � 3������ ���

��� ��������� ���3� 4�� �� ������� � �� %" �� � �#

#������ !� %" ��������� ���3� 4�� �� � 3������ ��

��2� � $� � � P $� � �

�" � $� ��� $� �� �" ���! �� �� 8� ��� 8� �� �" 3������ � �3 ���6 �#

������ �� �" ����������� �� ��������� ���3� 4�� �� � 3������� 8�� 8� ��� 8� �� �"

� ���3�� � ���� ����� �� 3��� ��!�� :�����3"� ������!�� �� � ��� � � �3 ���6 � ��

�" ���3� 4��# + � $� ! �" ���! � �� 8�� �� �" 3������# + � $� ! �" ���! � �� 8��

�� �" 3������# + � $� ! �" ���! � �� 8�� �� �" 3������# �� �" ��!�� :�����3" �� �"

3������ "�� �� ��� �� �" �

� � $�P� � $�

P� � $�P�

�� �����

� � $� � $�P�

9($ /%�&) 9'9+($�%�9 9($ +2O�%' >�%, 9/5�9 0+(>).� , ��N

0��� %" �� � ��

��2� � � � �

%" � ��� �

��2� � $� � $� � � � � �

$�� �%�� %" �" �� � ��� ! 6 � �� ��� ��� � ���� 3������ �� �" ���������

���3� 4�� �� �" 3������ � �� �� ! �������� �# %" � ���3������� �� �" 3������ ��

%�!� � ���� ��� �� �� 4��3� �"�� $� � �� $� � � ��� $� � �# %"�� ��2� � �# %"

� ���� ��� ! 6 ��; � ! �" � ���3������� �� �" ��!�� :�����3" �� 0���� ��# %"

� ���3������� � ����� �� �"��� �� 0���� ��#

�� 3������ ��� ! � 3� � �� � ! � :���"���# � :���"��� ��� ! ���6 �� � �� �

��!�� :�����3"� ! ��������� �" ��6 � ��� �# >" � �" ���3" ���� 3� QQ���������

���! �MM �� �33�� � �� � ��!�� :�����3"� �" ��� � ����� �� ��"� 6 � �� $�9�! ��� ��

<�=# 5 ��� � �" ���������� �� �"�� �" �� �� � ��� �"�� ��" :�����3" "�� �� ��� ���

�� 3��� :�����3"� 8�# �� �" � ���� �� �"�� �!� �6������ �" � �� ��2� � $� � $� � �� �

��� ! ��� �3� � � �� �" ���! � �� 8��# �� �" ��4 � ������� �������� ���� �3������ ��

�" 3��� ��!�� :�����3" 8� �� � ��6 � ��� � 3��� � ! �������� 3������ �������

�������� �� �" � �" � �� ��� ��� 3��� ��!�� :�����3"�� 8� ��� 8�# /�� � �"��

���������� ��2� � $� � � ��������� �� %" �� � �# 9� ��� �" ��2� �� � ��� �" ���! ��� 3��� :�����3"�# %" � ��� � �" � ���� ��� ! ������� � �� � �������� �� %" �� � �#

������ � &� %" ��������� ���3� 4�� �� � �������� �������� � 3������ �� 8��� ��

�" ���! � �� 3��� :�����3"� �� �" 3������#

$�� �%�� %" �������� �� � 6 � �� ��� � ���� �� � �������� �������� � 3������ ��

� ���3�� � ���� 3��� :�����3"�# 0�� 4��3� � ! ��� �" � ���3������� �� �

:�����3"�� �" ���! � �� ������ � 3��� :�����3"� ��� ! ����� �"����" �"

���3������� �� ��� ��������� ���3� 4��# %" �������� �� �33�� � �� � � �"������ ���

���3�� ��7!�� � ��� � ��� ������� <�=#

(� ����������

%"�� 3�3 � 43��� � �" � �������"�3� ! �� � ��!�� :�����3"� ��� ���������

���3� 4�� �� ���3�� � 3�������# %" � � ���" � ����� �� ������� � �� %" �� � ��

��� � �#6 %" � ���3������� � ����� �� �" ��!�� :�����3" �� 0���� ��#

��J %�&) 2% �+#

9������� �� 9������� �� %" �� � � ��� 9������� �# %" � ����������� ���� �� ��� � �

��� �� ���3�� ��������� ���3� 4�� �� ���3�� � 3�������#

5�� � �� ��!�� :�����3"�� �" ��������� ���3� 4�� �� � 3������ �� 8��� �� �"

��������� ���! � �� ��� ��!�� :�����3"� �"�� �" ��������� ���! � �� � ��!��

:�����3" �� �" ���! � �� � ������ ��� � 3��� �� # 0�� � �������� �������� � 3������� ���

��������� ���3� 4�� �� 8��� �� �" ���! � �� 3��� :�����3"� �� ��# %" � ����� ���

! �� � �� ����? � 3������ ��� �" ����� � ���" ������� �������� � �� 3�������� ���" ��

� ������� ��� � !�� � �� ����� �� ���3�� ���� �� �!@ ���#

$���������

�# $# $# %���L ��� 2# # 9"��� ����������� �� ������� �� ����%� � "������ �# A�� &������� . ��"��������#

�# �# ,# -���� ��� �# ��������� QQ$�� ���� ������� ��� ���3�� ��7��� �� � ������� ���� ����I

9(2$+�MM ��� ����� .� �� ����� ���� �� ����� ���� ������ ��� 8 ����� ����������� -������ % 4������ ��J� ����#

�# %# $�9�! � QQ� ���3� 4�� � ���� �MM �""" � ���������� �� ����%� � "������ ���� 2��D�E� 33# ��J�������NB#

�# .# ���" �� QQ- ���� ��� ������� �� "� ����"���� ������� � ������MM )�* ������� � ���� �ND�E�

33# ��N���J� ����#

�# .# ���" �� QQ. ����� 43� ������ ��� 3������ ���3���������MM ��� )�� ���� *����������� *������ ���D�E�33# �������� ���N#

B# # $��"��L ��� &# -# ��� �� 8 �� �� ���% )�������# � ���� ,��� ���#I 2��� ���� 9������ &�� ��J�#N# �# )�!!���� )��� ������ 2 �� ���� �# 9��!���� /��6 ���� � ��I 9��!���� � 2������� ��J�#J# $# %���L� /# ���"� ��� # '������� )������� 8 �� ������ ������9�� �� ���!: 8)��)4� 33# ��N��J��

>������ �!���"���� ���#I ����� % 4��� ��JJ#

�# '# %���� ) *���������� �� �������� 0���� ������ ����� ������ "#-# -��� �������� & � � �� ��������

�� % �"������ & ���L� & � � �� � ������ ����#

��# '# %���� �# -����� ��� $# %���L� QQ9�������� ���3� 4�� !�� � �� ��!�� :�����3"��MM ��� ��� ������ ���� �� ����� ���� ������ ��� 8 ����� ����������� 5 ����� ) ����� �- %� �� 33# J��J�� ��� B������J#

9($ /%�&) 9'9+($�%�9 9($ +2O�%' >�%, 9/5�9 0+(>).� , ���