Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354...

57

Transcript of Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354...

Page 1: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

� ������������ ���������� �������������� �������� �!���" �#�$� &%��'(�*)+��,-�.)����/�0���1/2�354

687:9<;=6?>A@B6DCFEHGI;JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZa Ncb?dPe5TMV^Z[f�O5Q V^g^O5VYhiV0d^S.ZjT`bkV0g5Ta NPl NPZmS^noNYfcTWSRTMVqpLg0Q r^V0ZsKtQ T_uv^NPZjT a Nwl l QxgUKzy a|{~}.�0�.�0��DCF;B�`�:��7�7��:�U�a Ncb?dPe5TMV^Z[f�O5Q V^g^O5VYhiV0d^S.ZjT`bkV0g5Ta NPl NPZmS^noNYfcTWSRTMVqpLg0Q r^V0ZsKtQ T_uv^NPZjT a Nwl l QxgUKzy a|{~}.�0�.�0�;=�FEH��;=;���7:EH�a Ncb?dPe5TMV^Z[f�O5Q V^g^O5VYhiV0d^S.ZjT`bkV0g5Ta NPl NPZmS^noNYfcTWSRTMVqpLg0Q r^V0ZsKtQ T_uv^NPZjT a Nwl l QxgUKzy a|{~}.�0�.�0�

�����I���c���P�����.� �P ��^�H¡¢�P�c£o�¤�`�Y�P c�����¥ �w�¤£w¦c�:�§��£P����¨© �� ª0�w�¬«5� �W­v^NPZjT a Nwl l QxgUKzy a|{~}.�0�.�0� yip[f�J

Page 2: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

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

���������! @"��#%$'&�()� *+���,.- 6F9I�/� �RE >8687H�:�:G<>I�^7HE ,

, ��(0����#%132"45�6�6(0&61'� ,7 �8�+9:();©@<4!=>��;���()� 7? 6�(0;@45�A(09CBD�!&�E ?

?+-@, �F�/���GFH4.��(09�2"45�6�6(0&61 @H�!&6=I4!;���J)45�6���%1 ??+-K7 6��!;�(0� L?+-M? >�N'(:�H�8� EO�.�6���%13�% 6��!;�(0� L?+- L �8�+9:();©@<4!=>��;���()� P?+- P �8�+9:();©6�(0 Q4.RS�6�!&6�@1'# T

7U- 6F9I�/� G87HE:G<;V2=> � W, 6��!;�(0� �8�+9:();�� W

,.-@, �U�A45�6��R��/(S�X4�6��!;�(:�/�+9:(0;��ZY`�L6 �/��[ \,.-@,!-@, G];@4.�����_^H(0&86��%;�(0� \,.-@,!-K7 6�(0;@45�A���%1'�6N'��`�6��!;�(0� ,)a,.-@,!-M? 2b&��+�! ?7cF:;���#%45�A���%1 ,)?,.-K7 �d1%�6(0&64!RS�6���%1 �/(S�A4�6��!;�(��/�+9:(0;��ZYM�R6 �/��[ , L

7 �F�/���8(0�A4!=>�+9:();:ec��(Sf , P? 6�()4.;���Jg45�6���%1 , TL 6��!;�( �Z()1'(0&A4.;���J)45�6���h1ji��+`k(0R0�@4!;���J)45�6���%1 , WP �8(0�A4�6��%;�(��8�+9:();��Z()1'(0&A4.;���J)45�6���h1ji��+`k(0R0�@4!;���J)45�6���%1 , \T 2l4.���6(0&61i�z9m4.��(09��/�+9:(0;¢6�(0 Q4.RS�A�!&��@1'# 7.a

T -@, �'$'`:`k�!&n�A�@1'# �+oU�n�A()=I45�A��RH�/�+9:(0;¢6�(0 p4!RS�6�!&��@1:# 7.aT -K7 6�(0 Q4.RS�6�%&��@1'# ���6�@1'#>�AN:(:C�F:���6&64.RS�8@<4.RS�6�%&noI2"45���6()&61 7+,

?+- 6F9I�/� E:7H> CB>8�U7HE 7 P, �8(0�A4�6��%;�(��8�+9:();©;rq+`j&�(0�������h1 7 P

,.-Ma'-@, 6��!;�(ZsO��(0&64!&�RXN:��(0� 7 PL - 6F9I�/� ;rtHCH�82V� ;<� 7.u

, �8(0�A4�6��%;�(��8�+9:();�� 7.u,.-@, C�F:���6&64.RS�I@<4.RS�6�!&�o 7.u,.-K7 eO�����_�A�!& ? L,.-M? GmN'(0RXEh�@1i�5GmN'(0RXE.�%$+��Y`G<�UG87�[ ? W

*

Page 3: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

*+� ����������� ���������������������� �������������! "����

,.-M?'-@, GY�UGD7 �i6 � ? \,.-M?'-K7 GY�UGD7A�56F�/� L a

7 6�()4.;���Jg45�6���%1'� L a7U-@, C�F:���6&64.RS�I@<4.RS�6�!&�o L a7U-K7 eO�����_�A�!& L 77U-M? GmN'(0RXEh�@1i�5GmN'(0RXE.�%$+��Y`G<�UG87�[ L!L7U- L ����F:&64!&no �/�+9:(0; L%T

�n1'9:(�qL u

Page 4: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��� �k� ��� ����� ���

� ��� �����������������! "$#��&%'%(��)*�,+.-/��0*�21435 61��2�879�2":��;�%( �)*<=��> 7� �@? 7A �=�20A�&%B%(C��D3E��%*���F G1��2�IHJ��KL�2� P?6��� MG%')ON�;�%(N,)*�! "��FMP7�3Q7A �=� ,)a?6�@? MP7�3R"S �)�M,<=�����=<=T��21VU�WX0(��)(KL��)9#��&%'%(��)*� ,!,?6�ZY �[79�\����<=]\�&%(<= �� "$%(C��^MP<������=<�TX�21VU�W�0*��)(KL��)9#��&%'%(��)*� ,g7?6�`_ ab7A3R"c �)B%(C��D0(<������=<�TX�21VU�W�0*��)(KL��)B�X�&%'%(��)*� , L?6�@d ef3EHg35��%*���F 61��2�8KP<=��hi "$%(C��D0(<=�F���=<�T��21U�W�0(��)*KL��)B�X�&%'%(��)*�5M,7A3 , P?6�Zj ef3EHg35��%*���F 61��2�8KP<=��hi "$%(C��D":��;�%( �)(k�X�&)(%B "l�9WX0'%')O��;�%9m���;�%( �)*k5MP7A3 , T?6�@n �����������������! "$7A �=�^MG�o�2;2<����=<�]\�&%(<= � , \?6�Zp MG�o�2;2<�����<=]2�21q�9WX0'%')O��;�%9m���;�%( �)*kE3E��%*��7A �=��35 61��2�=0 ,)u?6�Zr MP N�)*;2��MP7�3Q"c �)A�����AW�0'%')O��;�%Am���;�%( �)(k�79�2":��;�%( �)*<=��> 7+,?6���ts ul�&)*> ��%fM,7A3v"S �)A���5�9WX0'%')O��;�%9m���;�%( �)*k�79�2":��;�%( �)*<=��> 7!7?6��� � 34��]2�xw!���y����1��&��%(�21E"�)* �z%(C���wf mgWo G �{ 7.??6���|? 34��]2�xw!���y�D)*�2":��;�%( �)*�21�hA<�%(Cq�9WX0'%')O��;�%9m���;�%( �)*kq�X�&%'%(��)*� 7 LYG��� 35��%*��79 �=�x3E G1��2�8�}�G��)*�20(0(<= � 7 PYG�@? �[79 ���!~A<=��)��&)*;*C6k 7 TYG�ZY MP<������=<="SkP<=��>D�[79 ���!~A<=��)��&)*;*C6k 7 WYG�`_ �����AW�W�)*��KP<��&%(�215MP7�3 7 \_P��� uBC��^wf m��AW�0'%')O��;�%9mX��;�%( �)(k�#��&%'%(��)*� ?!a_P�@? uBC��^wf m��AW�0'%')O��;�%9mX��;�%( �)(k�#��&%'%(��)*� ?!a_P�ZY m� ��1��21E�AW�0'%')O��;�%Am���;�%( �)(k5MP7�3 ?',_P�`_ �AW�W�)*��KP<��&%(�21��AW�0'%')���;�%9m���;�%( �)(k5MP7�3 ?%7_P�@d �f��%*��<=�=�215�9WX0'%')O��;�%9m���;�%( �)*k5MP7A3 ?!?_P�Zj m� ��1��21��f<=0(<�%( �)AM,7A3 ? L_P�@n �AW�W�)*��KP<��&%(�21q�f<=0(<=%( �)AMP7A3 ? L_P�Zp �f��%*��<=�=�21E��<�0(<�%( �)AMP7�3 ? P_P�Zr �f<=0(<�%( �)9a�7�3 ? T_P���ts �["c �=1��21EMP7�3Q "}�/a(�BU�MGkP0'%(�2� ? W_P��� � �AW�W�)*��KP<��&%(�21qa�%(�2��7A �=�!~�<=��)O�&)*;OC�kq<=�qe���"c �=1��21qm� �)*� ?!u_P���|? ���qab7A3R"S �)��y��C��2;*{,UfN�%AMP;2�2���&)*<= L ,_P���tY �[79�\����<=]\�&%(<= �� "$%(C��^�/a(�BU�MP7�3��XHJ<�W�)��&)(k�35 61��2� L 7_P���\_ �AW�0'%')O��;�%�m���;�%( �)(k�7A�\���=<=]\�&%(<= ��0 L ?

*+���

Page 5: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

*+����� ����������� ���������������������� �������������! "����

_P���|d �[79�\����<=]\�&%(<= �� "$%(C��f�f<=0(<�%( �)AM,7A3 L!L_P���tj U�W��'�2;�%�MP%')*N�;�%(N,)*�!N�0(�21q<=�qml<=>P��_P���|n L!L_P���|n �[79�\����<=]\�&%(<= �� "$%(C��f�f<=0(<�%( �) ab7A3 LhP_P���tp �[79�\����<=]\�&%(<= �� "$%(C��!HI<�W�)O�&)(kq��C��2;*{,UfN�% a�7�3 LhW

Page 6: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

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

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

��� "!$#%'&)(+*-,/.0.1!$23(�#�f�20(<=> �E�X�&%'%(��)*��054 ���`>P�76 0(�2�98 n06J�\_16o?6�;:=<B�&)*��<=��%(�2��1��21q%( y;\�&��%(N,)*�DC�<�> CP+?>6NX���=<�% kV1��20(<=> �E���G�o��)*<=�2��;2�20B<=�

�5"S �)*�R%(C��&% ":��;2<=�=<�%*�&%(�20x%(C��2<�)x)*�2N�0*��� �� ��;2����%(N����=��k@6}�5% kG��<=;\���/1��20(<�> � �X�&%'%(��)O� ;2 ��0(<=0'%(0 " %.h/ �y� �( �)�X�&)(%(0\�

� �X�&)(%};2 ��0*<=0'%(<=��>! " N�0O��> �9> N�<=1��2�=<=���20A4 <=��;2��N�1�<=��>�1��20(;�)O<���%(<= ��0l " %(C��A"c���F<���k� " ��)* �WX�=�2�F0}��1�1,)O�20(0(�21WGkF%(C����X�&%'%(��)*�B<C6�1��20(;�)*<���%(<� ��0 "I0( �=N,%(<� �D>GN����=<�%.kV�&%'%')*<=W�N,%(�20E4 �)GF(�� �P+ "cN���;�%(<= �X���IH^��)* ��o��)(%(<=�20C< ����1��)*<���;2<����=�20J6J���,���F���=�20x%(C��&%�1��20(;�)*<=W �F%(C��0(<�%(N��&%(<= ��0�<=� h9C�<�;*C�%(C���� �&%'%(��)*�g;\���gW �V�&�����=<��21�6$;2 ��0(��+>GN��2��;2�20�����1 %')O��1���+ LK 0q��0(0( G;2<��&%(�21�h9<=%(C %(C��EN�0(�q "f%(C��q�X�&%'%(��)O��69����1�<=�F���=�2�F�2�6%*�&%(<= ��;2 ��;2��)O��04 ���`>P�76D0(�2� %(C�� a��6%(�2��%;6D35 �%(<�K �&%(<= ��6!�9�����=<=;\�&W�<��=<�% k@6f�� ��0(�;>GN��2��;2�20;6fab�����=�2�y�2��%*�&%(<= �M6f����1 M��������=��� G1��!�X�&)*%(09 "$%(C��xw! mN4OFOw!����>V "�m� N,)PHQ< �X�&%'%(��)*��0G8@�\_L:=<O�SR���h9<=�=� )*�2"c��)9%( y%(C�<=0 � �&)(%A "���� �&%'%(��)*���0 %(C��UT0V;WJX0Y[ZC\L]3^?Y`_Q^:�� 1��20(;�)*<���%(<� �� "JW �2CX�2KP<= �)O���o����10'%')*N�;�%(N�)O���o��0'�o�2;�%(0B "8%(C��f0( ��N,%(<= ��0�;*CX�&)O��;�%(��)*<=]2�21qWGky%(C��A� �&%'%(��)*�4 ���`>P�76L%(C�� MG%')*N�;�%(N,)*�L6�#l�&)*%(<=;2<��X���6%(0;6L����1��� �=���&Wo �)O�&%(<= ��08�X�&)(%(0$ ",%(C�� wf m5�X�&%'%(��)*� 1��20(;�)O<���%(<= ��0)8@�\_L:=<O�R��!h9<��=� )*�2"S��)9%( �%(C�<=0��X�&)*%9 "$���X�&%'%(��)*�E��09%(C��EabW@^c^?Y;dC]eVfa1Y`ZJg h)ZPW@^igc\L]��

R C�<=�=��<�%����2k5�� �%AWo��� 0*0(<�W��=�j4 �)f1��20(<�)O�&W����k<�%( "S �)O�y���=��k����P��)*�20(0!���=�l��0'�o�2;�%(0! " ���X�&%'%(��)*�Ml`0�N�0*��> �;2 �6%(���G%;6P<�%�<=0l�o 0(0(<�WX�=�}%( !"c �)*�y���=�=k^���G��)*�20(0}���X�&%'%(��)*�y0'�o�2;2<�T�;\�&%(<= �xh9C��2� %(C�� 0'%')*N�;�%(N,)����P����1 W �2CX�2KP<= �)O�����)* ��o��)(%(<��20 �2��Wo 61�<��21FWGky%(C��A�X�&%'%(��)*�q�&)*��h��2�=� + N���1���)*0'%( G 61o�$ab�y%(C�<�0 �X�&�o��)J6,�x1��20(<=> �V<=0�0*��<=1�%( mdnYPW@opg7qrYB�1��20(<�> ��X�&%'%(��)*��<="J%(C��!1��20(<�> �� 0*0(�20(0(�20�%(C��f��)* ��o��)(%(<=�20 ���P��)*�20(0(�21q<��%(C��f�X�&%'%(��)*��0(� �2;2<=T�;\�&%(<= �o� MPN�;OCE�1��20(<�> �V<�0/;\�����=�21��DdnYPW@osgIqJWt^igi\L] "8%(C��A� �&%'%(��)*�o� � �X�&%'%(��)*�q;\���qWo�AKG<=��h��21���0B� �= G 0(�f;*C��&)���;�%(��)*<=]\�&%(<= �� "<�%(0 )*�\���=<=]\�&%(<� ��02�la���> �2����)O���c6,<�% �y�2ky�� �% Wo�B�o 0(0*<�W��=�L6L"c�\��0(<�W����L66 �) 1��20(<�)��&W��=��%( x"S �)*�����=��k�;*C��&)���;�%(��)*<=]2�!���=��o 0(0(<�WX�=�9)O�\���=<=]\�&%(<= ��0 "l� �X�&%'%(��)O�qWo�2;\��N�0(�!<�%B�y�\kV�� �%BWo�A�o 0(0*<�W��=�� �)9"S)*N�<�%("cN��X%( F�2��KP<=0*��> �����=� �o 0(0(<�W����)*�\���=<�]\�&%(<= ��02�}~� \h���KL��)J6 <=�q0(N�;OC�;\��0(�20;6 <�%B�y�2kWo�fN�0(�2"cN�� %( F"c �)*�y���=�=k�;*CX�&)O��;�%(��)*<=]2�^h/�2�=��+ 1���T����21q0(N�W�0(��%(0 "o�X�&%'%(��)O��)O�\���=<=]\�&%(<= ��0/<=�� �)*1���)/%( x0*N,���o �)(% 0'kP0'%(�2�y�&%(<�;��&���X�=<=;\�&%(<= �� "o�X�&%'%(��)*��0�<=��0(<�%(N��&%(<� ��0 <��Fh9C�<�;*C%(C���)*�\���=<=]\�&%(<� ��0A�&)*� �&������<=;\�&W��=���AMPN�;*C4;*C��&)O��;�%(��)O<=]\�&%(<= ��0f1���%(��)*�y<=���D� �&%'%(��)*��0A%(C��&%f�&)O��0'�o�2;2<�����<=]\�&%(<= ��0 "l�F �)*�!> �2����)����8�X�&%'%(��)*��02�#})O�2;2<=0(�D"c �)*�F0B "$�X�&%'%(��)O�50'�o�2;2<�TX;\�&%(<= ��0��X�\KL�^%(C��Dh��\k�"S �)A%(C��D1���KL�2�= ��X�F�2��%� "l0'kG0(%(�2�y�&%(<=;D� �&%'%(��)*�P+

WX��0(�21��F G1��2� )*�2":��;�%( �)*<=��>9%(�2;*C���<I>6N��202�/u�\JvQY;obd`Yiw;WtZJ^x\@dCgy]0X/ 6;2;2N�)*08h9C��2���B1��20(<=> �D�F G1��2�L<�08%')O����0*"S �)*�y�21!%( <=����)* \KL�x0'�o�2;2<�T�;z>GN����=<=%(<=�20{4 ���`>P�76�|����,<�W�<��=<�% k@6 N���1���)O0'%*����1��&W�<��=<�% k@6,)O�2N�0*�&W�<=��<�% k}<O�Bab��;2 �)(�o �)O�&%(<=��>V�F� �&%'%(��)*�<=�6%( � 1��20(<=> � %( <=����)* \KL�1��20(<�> �~>GN����=<=% k �&%'%')*<=W�N,%(�20�<=0 ;\���=�=�21�abWt^c^?YOd�]}�n�PW�V;YPv~�U\JvQY;oAd`Yiw;WtZk^x\LdCgy]0XL� ��������������=�! "$�X�&%'%(��)*�,+ WX��0(�21��F G1��2� )*�2":��;�%( �)*<=��>F<=0 0(C� th9��<=�qml<=>P�J� ��� �

,

Page 7: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

7 ����������� ���������������������� �������������! "����

ImageImpl1

Display Display ImageImpdisplayed_onImageImpl1 Image

Refactoring

(applying the BridgePattern)

abstract class

implemented_bydisplayed_on

������������ ��� ���������������� �"!�#�$��&%%'�)(��*,+-��./�10323!40��5�768�9#:��;5%'!<(/= �?>

ab� %(C��������������=�L6l�q1��20(<=> � <=� h9C�<=;OC��A@{g VfaBo WCBy;2����0(0^<=0^��0(0( G;2<��&%(�21 h9<�%(C��q;2����0*0^1���T���<=��>�q0'�o�2;2<�T�;<=�y��> � <������=�2�F�2�6%*�&%(<= � %.k6�o��4'D��UWJX0Y�D���aBo�Er<}<=0l%')�����0("c �)*�F�21�6LN�0*<=��>�%(C��9wf m�- )*<=1�> � � �&%'%(��)*� 8@�\_L:c6G%( D ���<=�Vh9C�<�;*CV%(C��F@{g VfaBo WCB!;2����0(0 <=0 ��0(0( G;2<��&%(�21qhA<�%(Cq���q<=�y��> �f;2����0(0 0'%')ON�;�%(N,)*��%(C��&%9���=�� \h90�%(C��f<=����> �!<=�����=��+�F�2�6%*�&%(<= ��%( yWo�AK �&)*<=�218� #})*�2;2<�0(�f�X�&%'%(��)*�50'�o�2;2<�T�;\�&%(<= ��0 ;\���5C��2���� ���^1���%(��)*�F<=���f%(C��!%')O����0*"S �)*���&%(<= ��0���2�21��21�%( �<=��;2 �)(�o �)O�&%(���� �&%'%(��)*��<=�6%( ��q1��20(<�> �o� a�� > �2����)����c6J��)O�2;2<=0(� "S �)O�F0D " �X�&%'%(��)*��0'�o�2;2<�TX;\�&%(<= ��0;\���E�2��C�����;2�!N���1���)*0'%*����1�<���>16G0*�2�=�2;�%(<=��>16X����1qN�0(<=��>x�X�&%'%(��)O��0B%( F;�)O�\�&%(������1q<=�F��)* \KL�^1��20(<=> ��0\�ab��%(C�<=0/�X�&�o��)/h�����)*�20(�2�6%B�x�� �%*�&%(<= �q"c �) ��)*�2;2<=0(�2�=ky���G��)*�20(0(<=��>D�X�&%'%(��)*�q0(� �2;2<=T�;\�&%(<= ��0;6�����1<=���=N�0'%')O�&%(�

<�%(0DN�%(<=�=<�%.kEWGk �&���X��kG<���>�<=%!%( q%(C��ywf m �f<=0(<=%( �)D1��20(<=> � �X�&%'%(��)O� 8@�\_L: �Fab��1���KL�2�= ��X<=��>V%(C�����)O�2;2<=0(��"c �)*�F0 "8%(C��!w! m �X�&%'%(��)O�q0'�o�2;2<�T�;\�&%(<= ��0/h��fN,%(<=�=<=]2�9%(C���N�0*��> �!;2 �6%(���G%(0B "J%(C����X�&%'%(��)*��0/%( �>L��<=�<=��0(<=> C6%(0 <=�6%( %(C��!0'%')ON�;�%(N,)O���8����1Wo�2C��\KG<� �)O���8��0'�o�2;�%(0B "I%(C��f�X�&%'%(��)*��0\�}a��q N�)Bh/ �)*{B6�� 1��20*<=> ��X�&%'%(��)*��<�0B�x��)* ��o��)(% k6+ �)*<=�2�6%(�21 ;*C��&)���;�%(��)*<=]\�&%(<= � "�<�%(0�)*�\����<=]\�&%(<= ��0;6Xh9C���)*�^%(C���)*�\���=<=]\�&%(<= ��0��&)*�x1��20(<�> �5�F G1��2�=0A���G��)*�20(0(�214<=�%(C��!e���<�T��21�35 G1��2�=<=��>xHI����> N���> �U4 ef3EH/<z8 ? nr: ��MG%')ON�;�%(N,)O���8����1Wo�2C��\KG<� �)O��� ��)* ��o��)(%(<=�20 "l�x�X�&%'%(��)*�4�&)*�0'�o�2;2<�T��214N�0(<���>9u�Y;^xW�G \@o Y;�H�W�VJY`v u \kvQY;opg=]bXJI WL]0X@T}WJXbYLK'GMHAuAI-Nk6oh9C���)O�x�35��%*��79 �=�y35 G1��2�l1��20(;�)*<�Wo�21<=�q7�-/35H <=0B��;*CX�&)O��;�%(��)*<=]\�&%(<= �4 "l��"c���y<=��k� "$ef3EH 1��20(<=> �q�y 61��2��02�

O)� PRQMS�!UTWV ,YX�%1Tn%'!$#�� 0'%b+ �OK �2;�%(<�KL��1���KL�2�= ����F�2�6%B "$���&)*> �L6�<=�6%(�2>�)O�&%(�21�;2 ���XN,%(��)'+ WX��0(�21E0'kG0(%(�2�F0B;\���qWo��)*�\���=<=]2�21%(C�)* N�> C

0'kP0'%(�2�y�&%(<=;9)*�2N�0(����)O��;�%(<=;2�202����1,K����6%*��> �20� " <=��;2 �)(�o �)O�&%(<=��>�0*N�;*C���)O��;�%(<=;2�20 <���%( ^�D1���KL�2�= ����F�2�6% �2�6KP<�)* �P+�F�2�6%/�&)*�9h9<=1��2�=k^{P�� \h9�8�l�A)O����> x����1y# )*<=��%( &+ �f<���]G8@�;:X0(C� \h�%(CX�&% )*�2N�0*�9 " 1� �y��<=�,+ 0'�o�2;2<�T�; ���P� ��)O<=�2��;2�20;\����0*<=> ��<�T�;\���6%(��k �2��C�����;2��1���KL�2�= ����F�2�6%F��)* G1�N�;�%(<=KG<�%.k ����1 >6N�����<�% k � uBC���)*�q<=0�� >�)* \hA<=��> )*�\����<=]\�&%(<= �%(C��&%!1���KL�2�= ��X�F�2��%!;�kP;2�=��%(<=�F�x;\��� W �x0(<=> ��<�T�;\���6%(��kq0(C� �)(%(�2���21 <="l)O�2N�0(�x ����o �)(%(N���<�%(<��20A�&)*� ���P���= <�%(�214<=����=� ��C���0(�20x " 0( "S% h �&)*�1���KL�2�= ����F�2�6%;6��� �% �'N�0(%^<=��%(C��y;2 G1�<=��>E��C���0(� 8 ?06}?�sb6 ? ?r: �Eab��%(C����X��0'%;6}��WX�&)'+)*<=��)y%( %(C���)*�2N�0(�5 "����P�o��)*<=�2��;2�20V�&Wo \KL�5%(C���;2 G1��E�=��KL�2�9h���0�%(C��5����;({� "fh9<�1��2��k6+.��;2;2����%(�21��� �%*�&%(<� ��0"c �)A)*����)*�20(�2�6%(<=��>�)*�;>GN�<�)O�2�F�2��%(0�����1E1��20(<=> �5�&)*%(<="c��;�%(0\�9uBC��^��1�KL�2��%f "l%(C��^e���<�TX�21535 61��2��<=��>�HI����> N���> �4 ef3EH/<m8 ? nr:9��0��51���+ ":��;�%( <=��1�N�0(%')(k �W �'�2;�%b+ �)O<=�2��%(�21 4 U^Uz<D�y 61��2��<=��>�0'%*����1��&)*1gC���0�%(C��V� �%(�2�6%(<���� %( )*�2�F tKL�D%(C�<�0�WX�&)()*<=��)t�UfN,)/)*�2N�0*��+ )*�2���&%(�21)*�20(�\�&)O;*C�"c 6;2N�0(�20 �1���KL�2�= ���<=��>��F�2;OC�����<=0*�F0/%(C��&%B"c��;2<��=<�%*�&%(��%(<=�F�2��k�1���KL�2�= ����F�2�6%

"Jef35H��F G1��2�=0/<=�yh��2�=� + 1���T����21V1� �y��<=��0 %(C,)* N�> C�)O�2N�0(�� "81� �y��<=�,+ 0'�o�2;2<�T�;9�y 61��2��<=��>D���P�o��)*<=�2��;2�202��ab�%(C�<=0 �X�&�o��)/h/�A��)*�20(�2�6% �^%(�2;OC���<I>GN��A"S �)���)*�2;2<�0(�2��kF;*CX�&)O��;�%(��)*<=]2<=��>�ef3EH �y 61��2��0 "c �)B�^":���F<=��kF "J0'kG0(%(�2�F02�uBC��E%(�2;*C���<I>6N���N�0(�20���� �%*�&%(<� ��6B;\���=�=�21 %(C��ZG \@o Y;�H�W�VJY`v�u�\JvQYJosgy]0X[I WL]0X@T}WJXbY 4 7A-�3EH/<C6 %( ;�)*�\�&%(� �1� �y��<��P+ 0'�o�2;2<�T�;/�F G1��2�=<=��>f"S)O���F��h� �)({94 < �`���7661� ����<=��;*C��&)���;�%(��)*<=]\�&%(<= ��0/"S)* ��h9C�<�;*CF�&������<=;\�&%(<= �P+ 0'�o�2;2<�TX;�F G1��2�=0B;\���EWo�f��)* G1�N�;2�21B<O�}�A�����=<�;\�&%(<= �q1���KL�2�= ��o��)*0 hA<�%(C�<=�V%(C��D1� �y��<=��;\���5N�0(�!0(N�;OCE��"S)O���F��h� �)({%( ��)* G1�N�;2�!���5<=��<�%(<���� 0(��%9 "l�F G1��2�=0 "c �)B%(C��D�&�����=<=;\�&%(<= ��0�%(C���kq1���KL�2�= ��8�� ;OC��&)O��;�%(��)*<=]\�&%(<� � "^�F G1��2��"c���F<��=<=�20y<�0����P��)*�20(0*�21 <=� %(��)*�F0 "^35��%*��79 ����3E G1��2�=0V1��20(;�)*<=W �21 <=�

35��%*��79 �=��+.-���0(�21E35 G1��2�=<=��>^HI����> N���> � 4 7�-/35H�<O�,� �F G1��2�=<���>D"S)O���F��h� �)({y<=0 %(C6N�0���;2 �=�=�2;�%(<= � "835��%*�|+79 ����35 61��2��0B%(C��&%f;*C��&)���;�%(��)*<=]2���F1� ����<=�E"S)* � ��K �&)*<=��% k5 "l� ��)O0'�o�2;�%(<�KL�20{4 ���`>P�7680'%*�&%(<�;�����141,kP�����F<=;k<O�

Page 8: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

������������������� ��������� ?

�z35��%*��79 �=�3E G1��2� 1���%(��)*�F<=���20���0(� �2;2<S���=<=]\�&%(<= �� "/%(C���e�35H �F��%*�|+ �F G1��2�c6l%(C��&%x<=0;6$�E0(N,W,+ �S����> N���> � "B%(C��Vef35H}��uBC��V;2 ��;2����%(0FN�0(�21 <�� N�)xh� �)({ )*�2���&%(�V%( ;2 ��;2����%(0F1���TX���21 �&% %(C��ef3EH �F��%*���F G1��2��=��KL�2��4 3 ? �=��KL�2�=<O�gef3EH %( 6 �=0�;\����%(C6N�0 Wo�N�0(�21���0��4WX��0(�"S �)yW�N�<=�=1�<=��>%( G �B0(N,����� �)*%�"c �)F7A-�3EH �uBC�� 7�-�3EH40(N,���o �)(%(0l%(C��B;�)*�\�&%(<= �� " 35��%*��79 ���A35 61��2��0 4 �F G1��2�=<=��>f"S)O���F��h� �)({P0C<l%(C��&% 0(N,���o �)(%/|����,<�W��=��F G1��2� )*�2N�0*���}79�2N�0*�&WX<=�=<�%.ky<=09��;OC�<=��KL�21qWGk�F')O�\���=<=]2<=��>@HF��35��%*��79 ����35 61��2� �}79�\���=]\�&%(<= ��0B "$�y3E��%*��7A �=�35 61��2���&)*� �&������<=;\�&%(<= �P+ 0'�o�2;2<�TX;De�35H��F G1��2�=09%(C��&%f�o 0(0(�20(0�%(C�����)* ��o��)(%(<=�20�0'�o�2;2<�T��215<=�5%(C���3E��%*��7A �=�35 61��2� �5uBC��y)*�\���=<=]\�&%(<� � �y�2;*C�����<�0(�v���&{L�20xN�0(�� "�� �&)O���F��%(��)*<=]2�21 %(�2���X���&%(�20 <=��;2�=N�1��21�<=�g3E��%*��7A �=�35 61��2��0A%( V��)O 61�N�;2���&������<=;\�&%(<= �P+ 0'�o�2;2<�TX;D�F G1��2�I�2���2�F�2��%(0\�^uBC���)*�\���=<=]\�&%(<� �E��)O 6;2�20(0f<=0�|����,<�W����D<=�5%(C��&%%(C��!�&������<=;\�&%(<= �V1���KL�2�= ��o��) ;\���q<=��;2�=N�1��9��1�1�<�%(<� ��������)O �� ��)*%(<=�20 <���%(C��A�F G1��2� �2�=�2�F�2�6%(0���)* G1�N�;2�21yW6k�%(C��35��%*��79 �=�x3E G1��2�=02�ab��%(C�<=0�� �&� ��)k6Lh/�9"S G;2N�0 �y)*�2N�0*�&WX�=�B�&)(%(<=":��;�%(0}%(C��&%/;*C��&)���;�%(��)*<=]2�9":���F<=��<=�20� " �= > <=;\����0* �=N,%(<= ��0S4 �� > <=;\���

1��20(<�> �4�y 61��2��0C<C6XWXN,%A%(C���%(�2;OC���<I>GN�� ;\�������=0( �Wo��N�0(�214%( V;�)O�\�&%(�F"�)����F��h/ �)*{G0�%(C��&%f��)* G1�N�;2�x�F G1��2�=0f�&%C�<=> C���) 4:)*�;>6N�<�)*�2�F�2�6%(0C<�����1y�= \h���) 4 1���%*��<=���21F1��20(<=> � <$�=��KL�2�=0} "o�&W�0'%')���;�%(<= ��02�/R��9<��=�=N�0'%')��&%(�/ N�) �&����)* L��;OCWGk4N�0*<=��>V%(C���7A-�35H�%( q;�)O�\�&%(���q�F G1��2�=<���>�"S)O���F��h� �)({ "S �)x�����1Y`Z��rgy]}�����Y`Z��@\LT^ 4 �/a(�BUz<f�&���X�=<=;\�&%(<= �1� �y��<��o�}�9�����=<=;\�&%(<= ��0 hA<�%(C�<=��%(C�<=0 1� ����<=�q<=��;2�=N�1��9KP<=1��2 &+ )O�2��%*���J�&�����=<=;\�&%(<= ��0;6,;\�&)9)*�2�6%*���J�&������<=;\�&%(<= ��0����1 �=<�W�)O�&)*k 0'kP0'%(�2�F0\� a���%(C�<=0y�&���X�=<=;\�&%(<= ��1� �y��<=��6 <�%(�2�F0�&)*�5;*C��2;*{L�21 N�%yWGk�N�0(��)*0V����1�)*��%(N�)*���214 ;*C��2;({L�21 <=�B<B��"�%(��)fN�0(���BuBC��^�&�����=<�;\�&%(<= ��0B���2�215%( y����<=��%*��<��5�F;2 ���=�2;�%(<= �~4 �)�<=�6KL�2�6%( �)(k<B "l%(C��^<=%(�2�F02�R��EN�0(�%(C���7�-/35H %( �;*C��&)���;�%(��)*<=]2�5��0(N,W�0(��%F "�1��20(<�> ��0�h9<�%(C�<=� %(C�<=0�1� �y��<���<=�g%(��)*�F0y "�;2 �y�F �0'%')*N�;�%(N,)O��� ����1VW �2CX�2KP<= �)O��� 1��20(<=> ����)* ��o��)(%(<=�20\��R��!���=0* �<=���=N�0'%')O�&%(�AC� \h %(C��D�/a(�BU �F G1��2�=<=��>^"�)O���y��h/ �)({;\����Wo�!N�0*�21%( ���)* G1�N�;2�!���5�&�����=<=;\�&%(<= �,+ 0'�o�2;2<�T�;��F 61��2� �

�S� � !"T',/.b!US�� Q)2���S�n� ��P! #"%$�,�#0!US * ,/.b.1!$23( V Q 2�X�,YTn%�&�,/.}%9Q)(HI��N�1���)^����1('D�2�6%m8@�tp�: ��)* ��o 0(����� �&����)O L��;*C�%( ���)*�20(�2�6%(<=��>�X�&%'%(��)O��0!��)*�2;2<�0(�2��k4����1 KG<�0(N����=��k5N�0(<=��>

>�)O�&��C�<=;\����;2 ��0'%')O��<=�6%�1�<���>�)O���y02� a�� %(C��2<=)xh� �)({ 6}�X�&%'%(��)*��0F�&)*�1��20(;�)*<�Wo�21 <=� %(��)*�F0� "B%(C�)*�2����2kL��)*0� "�F G1��2�=02�-d \@o7YO�'�U\JvQYJos6�^/B�a1YO�'�U\JvQYJo$����1 Zko W�VCVC�'�U\JvQY;o@�g�z)* �=��+ �y 61��2��1��20*;�)*<�Wo�20^%(C����20(0*�2��%(<����B��0(� �2;�%(0� "�V�X�&%'%(��)*� <=�4%(��)*�F0D "/C�<=> C��=kE�&W�0'%')O��;�%^0(%*�&%(�y����1 Wo�2C��2KP<= �)D�2�=�2�y�2��%(02��� % kG� ��+ �y 61��2��<�0D�V)*��T����2�F�2�6% "D� )* ����+ �F 61��2�9<=� %(CX�&%�<�%F)O��T����20�%(C��E)* �=��+ �F G1��2�B0(%*�&%(�4����1�Wo�2C��2KP<= �)y�2�=�2�y�2��%(0V<=� %(��)*�y0y "f% kG�o�20%(C��&%D�&W�0'%')���;�%(��kE0'�o�2;2<="Sk�1� �y��<=�5)*�\���=<�]\�&%(<= ��0� "�%(C���)* �=��+ �F G1��2� �f� ;2����0(0'+ �F 61��2�I<=0f��1������= tkG�F�2�6%f " �% kG�o��+ �F G1��2��<=��%(��)O�F0 " ;2 ��;�)*��%(��;2����0(0*�202�la���%(C��2<�)}h� �)({B6G�X�&%'%(��)*�y)*�\���=<=]\�&%(<� �F<=0�KP<=��h��21���0 �!)*��T����2�F�2�6%��)* G;2�20(0�<=� h9C�<�;*C �4C�<=> CP+ �=��KL�2�/�X�&%'%(��)O� 1��20(;�)*<���%(<= � <�0�)O��T����21 %( ��4�F 61��2� )O�\���=<=]\�&%(<= �o� � 0'%*�&W���<=0(C�<=��>%(C��&%y�4�F G1��2�/;2 ��"S �)O�F0 %( ��5�X�&%'%(��)*� 4 ��0����P��)*�20(0(�21 WGk �5)* �=��+ �y 61��2�y<D<=�6KL ��KL�20�1���TX��<=��>E)*��T����2�F�2�6%)*�2���&%(<� ��0(C�<��X0���;�)* 0(0%(C��4�y 61��2���=��KL�2�=0\� uBC�� ��N,%(C� �)*0qN�0*�4� >�)O�&��C�<=;\���A"c �)*� "^;2 ��0'%')O��<=�6%(0%(C��&%q<=0�&���o�\���=<=��> W�N,%9<=0A�� �%A;2N�)()*�2�6%(��kq<=��%(�2>�)��&%(�21Eh9<=%(C�%(C���e�35H ����1E<�%�<=0B�� �%�;2�=�\�&)fC� \h %( 6 ��0A;\���40(N,���o �)(%%(C��D�� �%*�&%(<= �o�wfN��2�����2;���%D��� �j8@�tj�:}N�0*�x���F��%*���F G1��2�=<=��>��&����)O L��;*C <=�5h9C�<=;OCE� �&%'%(��)*�4��)* ��o��)(%(<=�20f�&)*� ���G��)*�20(0(�214<=�

%(��)*�F0A ")�UYJ^xWL�nZP\@oyo W0�`\LdnW@^igc\L]VA%(CX�&%A;2 ��0(<�0'%B "$)* �=�20B%(CX�&%A�&)*�D�X���2kL�21EW6k<=��0'%*����;2�209 "le�35H �F��%*���F G1��2�;2����0(0*�202� uBC���k���;2;2N,)O�&%(�2��k��o <=�6%� N�%�1���T�;2<��2��;2<=�20V<=��%(C��4ef3EH[�� �%(<= � "!)* ���E�F G1��2�=0V����1���)* \KP<=1�����i����%(��)*�X�&%(<�KL� )*����)*�20*�2��%*�&%(<= � <���%(��)*�y0q "��F��%*�|+ ;2 �����&Wo �)O�&%(<= ��0%(C��&%qN,%(<��=<=]2� � ":���F<=�=k� "D)*�2;2N�)()*<=��>��)* ��o��)(%(<��20�<=��<�%(<����=��k5��)* ��o 0(�21 W6k � 1��2� <=� 8@�ts�: ��eA��"S �)(%(N����&%(�2��k@6}%(C��2<=)��X�&�o��) 1� G�20x�� �%x1��20*;�)*<�Wo�yC� th��)* ��o��)(%(<��20 4 �%(C���)�%(C����VC�<=��)O�&)O;*C�<=;\���X0'%')*N�;�%(N�)*�20 "o;2�S��0(0(<�T���)O0C<��&)*��0'�o�2;2<�T��21�6G�� �) <�0 %(C���)O�A��;2�=�\�&) �� �%(<= � "$h9C��&%B<�%B�y�\����0B"c �)A���F G1��2� %( �)*�\����<=]2�D� )* �=�!�y 61��2� �uBC��B��)*�2;2<=0(�A"S �)O�F0 " �X�&%'%(��)O��0'�o�2;2<�TX;\�&%(<= ��0}h���1���KL�2�= ��o�21��&)*�A;*C��&)���;�%(��)*<=]\�&%(<= ��0 " � �&%'%(��)*�y)O�\���=<=]\�|+

%(<= ��0\�}HJ<�{L��%(C��fHI��N�1���)B����1)'D�2��% h� �)({ 6P% kG� �!�y 61��2��0 ;\���)*�\����<=]2�f N,) �X�&%'%(��)*�q0'�o�2;2<�TX;\�&%(<= �q3E��%*��7A �=�35 61��2��0 ����1 %(C���k ;\���gWo�y)O��T����21 %( 4��)* G1�N�;2�V�F �)*�;2 ��;�)*��%(�)*�\����<=]\�&%(<= ��02� U!����;\��������0( ;�)*�\�&%(�)*��+

Page 9: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

L ����������� ���������������������� �������������! "����

���=<=]\�&%(<� ��0D "� N,)x35��%*��79 ����35 61��2��0!%(C��&%x�&)O�F�F �)*�F;2 ��;�)*��%(�y%(CX����% kG�o�F�F G1��2�=02��eA����<�{L� %(C��FH$��N�1���)����1 'D�2�6%Bh� �)({ 6� N,)A35��%*��79 �=�^35 G1��2� ��)* ��o��)(%(<=�20B�&)O�!���G��)O�20(0(�21q<=�%(��)*�y0B "I;2 ��0'%')O��<=�6%(0B �q%(C��!ef35H�F��%*���F G1��2������1�;2 ��0'%')O��<=�6%l%(�2�������&%(�20�%(CX�&%}1���%(��)*�F<=���/�&���X�=<=;\�&%(<= �P+ 0(� �2;2<=T�;}��)O �� ��)*%(<=�20I���P��)*�20*0(�21�<=�x%(C��U�W �(�2;�%��� ��0'%')O��<=�6% HI����> N���> �D4 UD��H/<�8 ? nr: �HJ<={L� %(C���wfN��2�����2;F��%���� � 8@�tj�: h� �)({ 6I N,)��&����)* L��;*C <=0!WX��0*�21� ��%(C��ye�35H �y��%*���F 61��2� �VUfN,)^h/ �)({

���=0( V<=��;2��N�1��20B�� �%*�&%(<� �4"c �)���)*�2;2<=0(�2�=k����G��)O�20(0(<=��>F)* �=�D��)* ��o��)(%(<=�202��U!N,)f35��%*��79 ��� 35 G1��2�=0�1���%(��)*�F<=�����0(N,W�+ ������> N���> �V " %(C��ef3EHi��0�1���TX���21 WGk�%(C��ef3EH �y��%*���F 61��2� � UfN,)x��)*��KP<= N�0�h/ �)({ ��3E��%*��7A �=�35 61��2��0�"S G;2N�0(�21g �g��)*�2;2<�0(�2��k ���P��)*�20(0*<=��>40'%')*N�;�%(N,)���� � �&%'%(��)*� ��)* ��o��)(%(<��2098@�tY�: � uBC���MG%*�&%(<�;�3E��%*��7A �=�35 61��2��0^1��20(;�)O<�Wo�21�<=� %(C�<�0D�X�&�o��)��&)*�V��� ���P%(�2��0(<� � "�%(C��V3E��%*��7A �=�V35 G1��2�=0^1���KL�2�= ��o�21 <=�� N�)��\�&)*��kh� �)({X��R��D����0( 1��20(;�)*<�Wo�f��% kG� �f "$3E��%*��7A �=�D3E G1��2� %(C��&%B;OC��&)O��;�%(��)*<=]2�209e�35H�<=�6%(��)O��;�%(<= �q1�<S��>�)O���F0�<=�%(C�<=0�� �&� ��)t�

�S�5O � Q T'!$#uBC���)O�xCX��0!Wo�2�2��;2 ��0(<=1���)O�&W��=�xh� �)({4 � �W �'�2;�%b+ W ��0(�21 �� �%(<� ��0D " )* �=�202�FuBC��20(� h/ �)*{G0DCX�2KL�y"c G;2N�0(�21

�4%(C��xN�0(�^ "})* �=�20f"S �)f1��20(;�)O<�W�<=��>F%(C��^��)* ��o��)(%(<=�209���2�21��214W6k5���4 �W �(�2;�%!<=�5 �)O1���)�"c �)!<�%9%( V�X�&)*%(<=;2<��X�&%(�<=���4�X�&)*%(<=;2N����&) Wo�2C��2KP<= �)\� ��� �W �(�2;�%b+ WX��0(�21�)O �=�q0'�o�2;2<�T��20x��)* ��o��)(%(<��20 %(C��&%F �W �(�2;�%(0y<=� %(C��)*N��P+ %(<=�F��2�6KG<�)O ���F�2�6% ��N�0'%}C��2KL�A<="X%(C���kF�&)*� %( D�X���2kx%(C�� )* �����l7A<=�2C��=� ��%/��� � 8 ?&_L:���)* ��o 0(�B�D)* �=��+ WX��0*�21F�F G1��2�=<=��>�&����)O L��;*Cg%( 0'�o�2;2<="SkG<=��>E1��20(<�> � "S)O���F��h� �)({P02� a�� %(C��2<=)��&����)* L��;*CM6 �5)* �=�V<=0�0(� �2;2<=T��21 WGk �E)* �=�V%.k6�o�L6h9C���)O�f��)* ���9%.k6�o�!0'�o�2;2<�T��20 Wo�2C��2KP<= �)O���o��0'�o�2;�%(0 "I;2����0(0 <=��0(%*����;2�202��ab��%(C��!U^U�)O��� �F��%(C� G1 8 ?�Y�:c6X��)* �=�<=0B1���T����21q<=�%(��)*�y0B "��&%'%')*<�W�N,%(�20B����1E��;�%(<= ��02�UfN,)$3E��%*��7A �=� 3E G1��2�=0$�&)*� <=�6%(�2��1��21D%( A0(N����o �)(%o�X�&%'%(��)*�P+ W ��0(�21��y 61��2��)*�2":��;�%( �)*<=��>16�%(CGN�0J N,)I)* �=�20l�&)*�

�����\kL�21yWGky�F G1��2�X�2�=�2�F�2�6%(0 4 ���`>P�76�;2����0*0(�20;6P1����o�2��1��2��;2<=�20J6G��0(0( G;2<��&%(<= ��0C<C6G�� �% WGkF �W �'�2;�%(0\� uBC���3E��%*��7A �=�35 61��2��091��20(;�)O<�Wo�21q<=�q%(C�<=09�X�&�o��)91���%(��)*�y<=���^�y0'�o�2;2<����=<=]\�&%(<= �E "I%(C��^ef3EHg�F��%*���F G1��2� � uBC��D1�<7K ��)*�2��;2�Wo��% h��2�2�� N,)D�F G1��2� + W ��0(�21 �� �%(<= � " )* �=�20!����1 �W �(�2;�%b+ WX��0(�21��� �%(<= ��0! " )* �=�20f<=0!1�<=0*;2N�0(0(�214"SN�)(%(C���)!<=�%(C��D"c �=�= th9<=��> 0(N�W�0(�2;�%(<= �o�

�S� � ��� ! ��P �� Q�.}%9Q)( Q�� � Q T'!$#uBC���e�35H <=0�1���T����214��0f ���� "}%(C����S�2kL��)*0f<=� �y"c N,)'+ �S�2kL��)!�F��%*���F G1��2�l�&)*;*C�<=%(�2;�%(N,)*� 8 ? nr: �9HJ��KL�2��34Y

1���T����20B��������> N���> �!"c �)90'�o�2;2<="SkP<=��>x�F��%*���F G1��2�=0;6�����KL�2�834? 1���T����20�%(C��Def35H <=�%(��)*�y0B "$�F�F��%*���F G1��2�c6�=��KL�2� 3 �y;2 ��0*<=0'%(0D "�ef3EH �F 61��2�=0G4 < �`���76l<=��0'%*����;2�20! "/%(C���34?�y��%*���F 61��2�=<f����1��=��KL�2� 35sq;2 ��0(<=0'%(0D "<=��0(%*����;2�20A "l%(C����F G1��2�=0��&%�����KL�2�$3 � �Aab��%(C���ef3EH 6 �y;2 �=���&Wo �)O�&%(<= �E)* �=�D4 < �`���768�yef3EHg;2����0*0(<�T���)A)* �=�L6�ef3EH ��0(0( G;2<��&%(<= � )* �=�L68 �)^�ef35H ��0(0( G;2<��&%(<= � �2��1 )* �=�k<A<=0!�q3��F����KL�2��;2 ��0'%')*N�;�%U4 < �`���76I��F G1��2�=<=��>;2 ��0'%')ON�;�%C</%(C��&%B<=0B��)*�20'%')*<=;�%(�21KP<=��hi "�� ef3EH ;2����0(0;6���0(0* 6;2<��&%(<� ��6� �)A��0(0( G;2<��&%(<= �E�2��1 4:%(C��!)* ���AW ��0(�k<O��ief3EH ;2 �=���&Wo �)O�&%(<= ��)* �=��1���T����20 %(C�����)* ��o��)(%(<��20 ���2�21��21VWGk����<=��0'%*����;2�A "I<�%(0 W ��0(��%( �� �&)(%(<=;2<��X�&%(�A<=�� �X�&)*%(<=;2N����&) Wo�2C��\KG<= �)z4 �F;2 �=���&Wo �)O�&%(<= �B<O�UfN,) �� �%(<� �q "$�x)* ����1�<7K ��)O0/"S)* � %(C��!�� �%(<= �q "I;2 �����&Wo �)O�&%(<= �V)* �=�f1���T����21q<=�V%(C��!e�35H 4 ����1E �%(C���)

�W �(�2;�%b+ WX��0(�21��� �%(<= ��0f "})* ���k<C68<=�4%(C��&%D N,)f)* �=�20!;OC��&)O��;�%(��)*<=]2��<���0'%*����;2�20! " e�35H��F��%*���F G1��2��;2����0*0(�202�ef3EHq;2 �=�S�&W �)��&%(<= �^)O �=�20$�&)O� )*�20(%')*<=;�%(�21�KG<=��hA0I "��2���2�F�2��%(0��&%$%(C��/e�35Hq�F G1��2�6����KL�2�B4 �=��KL�2�,3 �r<C66����1 �&)*������\kL�21 4:)*�\���=<=]2�21 <}WGky)ON��P+ %(<=�F�A<=��0'%*����;2�20�4 �2���2�F�2��%(0A�&%B�=��KL�2�o35st<C6X����1�%(CGN�0B�&)*�f1���TX���21<=�y%(C���;2 �6%(���P% "A�5�X�&)*%(<=;2N����&) �&�����=<=;\�&%(<� �o� uBC��y1�<7K ��)O�2��;2�20xW ��%.h/�2�2� N�) �� �%(<= �g "B)* �=�20�����1 ef3EHi;2 �����&Wo �)O�&%(<= �)* �=�20��&)*�A<=�=�=N�0(%')O�&%(�21F<=�Fml<=>P� � �@?6��ab�F%(C���1�<���>�)O��� 6G���V���,�����X�=�B "J�D% kG� �A "83E��%*��7A �=�!3E G1��2�X1��20(;�)*<�Wo�21<=��%(C�<=0��X�&�o��) <=0 0(C� \hA���&% ����KL�2��34?6�}u9C�� )*�\���=<�]\�&%(<= ��0} " %(C�<�0�% kG�o�B "o3E��%*��7A �=��35 G1��2�X�&)*�9e�35H50(%*�&%(<=;0'%')*N�;�%(N,)O���81�<S��>�)O���F0{4 ���`>P�768������0*09�f<���>�)O���F0�<O��u9C��!% h� V;2����0(091�<���>�)O���F0B0*C� \h9�4�&%A�=��KL�2�$3�� �&)*�D� �&)(%(<����)*�\���=<�]\�&%(<= ��0 "B%(C�<�0x35��%*��79 �=��35 G1��2� ��uBC����0(0( G;2<��&%(<= � )* �����VPV;Z �q<=� %(C��q3E��%*��7A �=��3E G1��2��0(C� th9��&%9�=��KL�2�I34? 1���%(��)*�F<=���20A� 0(N,W�0(��%B "lef3EH ��0(0( G;2<��&%(<= ��;2 ��0'%')*N�;�%(054 < �`���76�<�%B1���%(��)O�F<=���20B��0(� �2;2<S���=<=]\�&%(<= �

Page 10: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

������������������� ��������� P

0..1

ClassB

*

R2

UML meta−modelM2

R1

AssociationEnd

M1

AsscEnd2

<<AssociationEnd Role>>

AssociationEnd

/AsscEnd2

Association

<<plays role of>>

M0 objD:ClassD

ClassDClassC

Class

<<is a realization of>>

<<is a realization of>> <<is a realization of>>

Assc1

UML Class Diagram (2)

AsscEnd1

<<is a realization of>>

UML Class Diagram (1) UML Collaboration Role Model

SRM

/R2<<Class Role>>

ClassP

/RoleA:ClassAClassA

/RoleD:ClassD

<<is a view of>>

<<is a view of>>

<<is a view of>>

/AsscEnd1

role base

collaboration role base

<<Class Role>>/R1

<<Association Role>>/Assc1

<<AssociationEnd Role>>

<<instanceOf>>

11

1

1

1

<<determines>>

<<determines>>

<<determines>>1

��� �����' �� ��� 6�!�� �).8�&% %��?��23�9% ����!40��9��� ���<�9�

"!%(C��5�F��%*���F G1��2��;2����0(0 �EVCVO\JZJgiWt^igi\L]M<O� MP<=�F<=�S�&)*��k@6 %(C��E)* ���ZG�� 1���%(��)*�F<=���20�� 0'�o�2;2<����=<=]\�&%(<= �� "!%(C���/o W�VPV �F��%*���F G1��2��;2����0(02�i��%V%(C��E�y 61��2�A�=��KL�2�[4 3��r<C6)�/o W�VCV1H ����1 �/o W�VPV � �&)*�EW �%(C )*�\���=<�]\�&%(<= ��0y "%(C�� G��E)* �=�q<=�g%(C��53E��%*��7A �=�535 61��2�B0(C� th9���&%�����KL�2�934?06B����1 �/o W�VCV � <=0y� )*�\���=<=]\�&%(<= �� "A%(C��)* �=�G!?V<=� %(C��F35��%*��79 ���y3E G1��2��0(C� \h9� �&%D����KL�2� 34?6�Fu9C�� e�35H�;2����0*0(<�T���)f)* �=� G \@o Y � 4 �&%��=��KL�2� 3 �r<f<=0D�KP<=��h " �/o W�VPV ��6}%(CX�&% <�0;6 GS\@o7Y �z;2 ��0(<=0'%(0 "��50*N,W�0(��% " �/o W�VPV � ��)O �� ��)*%(<=�20D4 �&%'%')O<�W�N,%(�20;6} ��o��)O�&%(<� ��0;6��0(0( G;2<��&%(<= ��0C<O�^U�W �(�2;�%(0� "#�/o W�VCV � 4 �&%f����KL�2�l34st<A;\��� �����\kq%(C��x)* �=�^ " GS\@o7Y �D�fa�� 0(N��y�y�&)(k@6 N,)f)* �=�20;*CX�&)O��;�%(��)*<=]2�D�y 61��2��<=��>^�2���2�F�2��%(0B�&%B����KL�2�83��@6,h9C�<=�=�9ef35H ;2 �=���&Wo �)O�&%(<� ��)O �=�20 �&)*�!1���T����21q�&%B�=��KL�2�o3 �����1E�&)O�D;*C��&)���;�%(��)*<=]\�&%(<= ��0A "l<=��0'%*����;2�20A�&%9�=��KL�2�J34sG�

�S�� P QMS !"T V ,YX %1Tn%'!�#uBC��}h/ �)({� �^�X�&%'%(��)O��0 4 ���`>P�7660(�2�E8@�\_16L?6�;:=<$����1��&)O;*C�<�%(�2;�%(N�)*�20A4 ���`>P�76�0(�2��8 Yb6 n06 ?�j�:=<JC� �=1�0J�xN�;OC^��)O �F<=0(�L6

W�N,% KL��)*k��<�%'%(�=�!�&%'%(�2��%(<� �5C���0BW �2�2���X��<=1%( y<���;2 �)(�o �)O�&%(<=��>x0(N�;OCE���P�o��)*<=�2��;2�20 <=�6%( F0'kP0'%(�2� 1���KL�2�= ����F�2�6%�2�6KG<�)O ���F�2�6%(0G4 < �`���76J<=�6%( �� �%*�&%(<= ��0;6J%( 6 �=0J6J����1 %(�2;*C���<I>6N��20!N�0(�214%( q1���KL�2�= �� 0(kG0'%(�2�y0C<O�xu9C�� ��Wt^xW@o B�V�g V�F��%(C� G1-8 r�:�<=0l�� �%*�&W����/<���%(CX�&%l<=%��&%'%(�2�F��%(0�%( !<=��;2 �)*� �)��&%(� )*�2N�0*�&W��=�/���G�o��)*<��2��;2�20�<=�6%( ��y 61��2��<=��>9�� �%*�&%(<= �WGk���)* \KP<=1�<=��> 0'kP�6%*��;�%(<=; 0(N����o �)(% "c �)J)O����)*�20(�2�6%(<=��> �&)*;OC�<�%(�2;�%(N,)O���x6&1��20*<=> ��6&����1!)*��T����2�y�2��%o�X�&%'%(��)O��0;6�;\���=�=�21w�d WL�jY� \Ld �rVC6�<��yef3EH �F G1��2�=0\�$� ��)* �W��=�2� h9<�%(CF%(C���� �&%*����kP0(<=0/�F��%(C� G1V<=0}%(C��&%�%(C��A0(�2�y���6%(<=;f��0'�o�2;�%(0/ "%(C��20(�^0'%')*N�;�%(N,)O�209�&)*�!1��20(;�)O<�Wo�21q<=��"c �)*�y���=��k �R� �)({ � 1� �y��<=�P+ 0'�o�2;2<�TX;y������> NX��> �20-8 YG�;:B"S G;2N�0x �g��)* \KP<=1�<���>�������> NX��> �V<���%(��)*":��;2�20�"c �)���0*0(�2�^WX�=<=��>

;2 G1���;2 ���o ���2�6%(0!<=��%( ��)* >�)O���F02�xuBC��20(� ������> N���> �20D"c 6;2N�0f ��1� \h9��0(%')*�\��� 1���KL�2�= ����y�2��%!��CX��0(�20G4 1���+%*��<=�=�2151��20(<=> �5����1E<=�F���=�2�F�2�6%*�&%(<= ��<=�5;2 61��k<B����14�&)*�D�F �)*�x�&����)* ���)*<��&%(�2��k;\���=�=�2151� �y��<=�P+ 0(� �2;2<=T�;���)* &+>�)O���F�y<=��> ������> NX��> �20 4 �DMP# HJ0C<O� U�%(C���)�"c �)*�F0y "f)*�2N�0*�&W����q���G�o��)*<=�2��;2�20��X��;({ ��> �21 "S �)�KL��)(%(<=;\���B)O�2N�0(��&)*�F"S)O���F��h� �)({P0D8 ? dr:/����1 1� �y��<=�P+ 0(� �2;2<=T�;��&)*;*C�<=%(�2;�%(N,)*�20j4 ���`>P�76l0(�2� 8@� �@6 �|d06}�trb6$Y s�:=<O�VuBC���)*� <=0��;2 �P+

Page 11: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

T ����������� ���������������������� �������������! "����

0(<=1���)O�&W��=�4Wo 61�k� "xh/ �)({ �i1� ����<=�i�2��> <=���2��)*<=��> ��)* G;2�20(0(�205����1 1� �y��<=� �F 61��2�=<=��> �� �%*�&%(<= ��0�4 ���`>P�0(�2�D8@�@6J�|d06J�|n06 ?�sb6 Y s�:=<O�#��&%'%(��)*� ������> NX��> �20 4 ���`>16f0(�2� 8 d06Bj�:=<�C��2KL�4Wo�2�2� 1���KL�2�= ��o�21�%( g1��20*;�)*<�Wo�E-/N�0(<=���20(0�7A�20( N,)*;2� 34���P+

��> �2�F�2�6%f%(C��&%A;2 tKL��)*0!�&�����=<=;\�&%(<� ��0B<=��;2��N�1�<=��>��X�&%'%(��)*��0A"c �)9)*�20* N,)*;2�D)O�2��%*���c6 %')O��1�<���>F����1E����<=��%(�2�X����;2���ab��8 dr:c6 - )O��>L�y��%A��� � N�0*��������0(0 �f<���>�)����F0B%( �1��20(;�)*<�Wo��%(C,)*�2�f� �&%'%(��)*��0B)O�2���&%(�21�%( �)O�20( N,)*;2�!)O�2��%*���c6�%')O��1������1��y��<=�6%(�2������;2���}uBC���kFN�0(� %(C��A1�<���>�)O���F0 %( �0(%*�����V N�% �F G1��2�=0 4:hAC�<=;*CV�&)*�A����0( x���S��0(0 �f<���>�)O���y0C<�"c �)K �&)*<= N�0A0(<�%(N��&%(<= ��0;6�0(N�;OC5��0��=<�W�)��&)(k�0(��)*KG<=;2�L6 �F�21�<�;\���J�&%'%(�2��1�����;2�L6 KP<=1��2 �)O�2��%*���c6X)*�\���$�20'%*�&%(�^)O�2��%*���l����10(C� th Wo \�y ��y;2��� uBC��2<=)/�&����)O L��;*CV<=0 �XN,)*�2��k 0'kP��%*��;�%(<=;�� �9�X�&)*% "S)* � %(C��BWX��0(<�;90'%')*N�;�%(N,)*�20;6G<�% <=0 �� �%�;2�=�\�&)h9C��&%f��0'�o�2;�%(09 "l%(C��^�X�&%'%(��)*� �&)*�^1��20(;�)*<�Wo�21�����15C� \h %(C��!�X�&%'%(��)O�5�y�\kqWo�!)*�\���=<=]2�218� 35 �)*�2 tKL��)J6oN����=<�{L�- )O��>L�F��%���� �76,h/�^1��20(;�)*<�Wo�f":���F<=�=<=�20� "l�F G1��2�=0B�&%A�FC�<=> C���)B�=��KL�2�J "$�&W�0(%')O��;�%(<= �o�U�%(C���)qh� �)({ � ��)*�2;2<�0(�2��k 1���T���<=��> �X�&%'%(��)*�i��)* ��o��)(%(<=�20<=��;2��N�1��5%(C� 0(� " HI��N�1���)E����1 'D�2�6%�8@�tp�:c6

����1EwfN��2�����2;!��%9��� �$8@�tj�: �/HI��N�1���)9����1 'D�2��%58@�tp�:IN�0(�f>�)O�&��C�<�;\���o;2 ��0'%')O��<=�6% 1�<���>�)O���y0 "S �)B��)*�2;2<=0(��KP<=0(N������)*�20*�2��%*�&%(<= �� "P�X�&%'%(��)*��0\�lwfN��2�����2; ��%I��� �18@�tj�:6N�0(� �B�y��%*���F 61��2�=<=��>B�&����)* L��;*C^%(C��&%I<=08WX��0(�21^ �^%(C�� ef35H�F��%*���F G1��2� �}u9C��2<�)/�&����)* L��;*C��)* \KP<=1��20����q����%(��)*���&%(<�KL��)*����)*�20(�2�6%*�&%(<= �<=�y%(��)O�F0� "8�F��%*�|+ ;2 �=���&Wo �)O�&%(<� ��0%(C��&%FN,%(<��=<=]2�� "c���F<���k "B)O�2;2N,)()*<=��>E��)O �� ��)*%(<=�20 <=��<�%(<�������k ��)* ��o 0(�21 W6k � 1��2� 8@�ts�: � #��&%'%(��)*����)* ��o��)(%(<=�20�&)*�����P��)*�20*0(�21�<=�g%(��)*�y0F "f�F��%*�|+ ;2 �=���&Wo �)O�&%(<= ��0�%(C��&%y;2 ��0*<=0'%F "�)* �=�20��X���2kL�21 WGkg<=��0'%*����;2�20y "�ef35H�F��%*���F G1��2�$;2����0(0(�20\�9uBC��!� �&� ��)�1� G�20A�� �%;6 C� th/��KL��)J6o1��20*;�)*<�Wo�!C� \h ��)* ��o��)(%(<��209 �%(C���)�%(C����4C�<=��)O�&)*;OC�<=;\���0'%')*N�;�%(N,)*�20f " ;2����0*0(<�T���)*0!�&)*� 0'�o�2;2<�TX�21o���A �)D<�0A%(C���)*����;2���\�&)D�� �%(<= � " hAC��&%�<=%f�y�\����0!"S �)D��F G1��2�I%( )*�\���=<�]2�D� )* �=�!�F G1��2� �R� �)({ECX��09Wo�2�2�41� ���^ �41���KL�2�= ��X<=��>y �W��'�2;�%b+ WX��0*�214�� �%(<= ��0� "l)* �=�20[4 ���`>P�7680(�2�98 ?�Yb6J?&_L:=<O�f�A�4 �W �(�2;�%b+

WX��0(�21g)O �=��0(� �2;2<=T��20x��)* ��o��)(%(<=�20�%(C��&%F �W �(�2;�%(0F<=� %(C��)*N��,+ %(<=�F�y�2�6KP<�)* ���F�2�6%���N�0'%�C��2KL�q<="B%(C���k C��\KL�%( ���S�2k %(C��)* �=��� UfN�) 7�-�3EH )*�;>GN�<�)*�V%(C��&%�)* ���20�Wo������2kL�21�W6kg�F G1��2� �2�=�2�F�2�6%(0 4 ���`>P�76B;2����0(0*�20y����1��0(0( G;2<��&%(<= ��0C<C6X����1q�� �%9W6k �W �(�2;�%(02�

�S��� P QMS !"T � ! ��,�� . Q)23%n( &uBC���)O�BC���0}Wo�2�2��;2 ��0(<=1���)��&W��=��h� �)({� �� �W �(�2;�%b+ WX��0(�21V�� �%(<= ��0 " )* �=�20 4 ���`>P�76,0(�2�[8 ?�Yb6�?&_L:=<O� ���y �W �(�2;�%b+

WX��0(�21�)* �=� 0'�o�2;2<�T��20J��)* ��o��)(%(<=�20J%(C��&%I �W �(�2;�%(0l<=�D%(C�� )*N��P+ %(<=�F�}�2�6KP<�)* ���F�2�6%I�xN�0'%$C��2KL�/<="G%(C���k��&)O�}%( A�����2k%(C�� )* ������UfN�)^3E��%*��7A �=�y35 61��2��0;68h9C�<�;*C �&)*��<=�6%(�2��1��21 %( q0(N����o �)(%A� �&%'%(��)*�P+ WX��0(�21 �F 61��2�l)*�2"c��;�%( �)O<=��>16)*�;>GN�<�)*�A%(C��&% )* ���20�W �A�����\kL�21W6kV�F G1��2� �2�=�2�F�2�6%(0z4 ���`>P�76�;2����0(0*�209����1q��0(0( G;2<��&%(<= ��0�<C6�����1�� �% W6kV �W �(�2;�%(02�uBC���)O��C���0!���=0* yWo�2�2� 0( �F��h/ �)*{5 �4��)*�2;2<=0*�2��k�1���T���<���>��X�&%'%(��)*� ��)* ��o��)(%(<=�202�fHI��N�1���)f����1 'D�2�6%j8@�tp�:

N�0(��>�)��&��C�<=;\���l;2 ��0'%')���<=��%�1�<���>�)O���F0!"c �)!��)*�2;2<�0(� KG<�0(N����$��)*�20(�2�6%*�&%(<= �� " �X�&%'%(��)*��02�ywfN��2�����2;���%x��� � 8@�tj�:N�0(�����F��%*���F G1��2�=<=��>��&����)* L��;*C�%(C��&%y<=0FWX��0(�21� � %(C���e�35H �F��%*���F G1��2� ��uBC��2<�)y�&����)* L��;OC���)O \KP<=1��20���i����%(��)*�X�&%(<�KL� )*����)*�20*�2��%*�&%(<= � <���%(��)*�y0q "��F��%*�|+ ;2 �����&Wo �)O�&%(<= ��0%(C��&%qN,%(<��=<=]2� � ":���F<=�=k� "D)*�2;2N�)()*<=��>��)* ��o��)(%(<��209<=��<=%(<����=��k���)* ��o 0(�215W6k�� 1��2� 8@�ts�: �!uBC��D�X�&�o��)f1� 6�20��� �%;6oC� th/��KL��)J681��20(;�)*<�Wo�DC� th[��)* ��o��)(%(<=�20 �%(C���)f%(C����4C�<=��)O�&)O;*C�<=;\���I0'%')*N�;�%(N�)*�20A " ;2����0(0(<�TX��)*0A�&)*�x0'�o�2;2<�T��21M6��� �)f<=09%(C���)*�x��;2�=�\�&)f�� �%(<= �4 "�h9C��&%f<�%�F�\����09"S �)f� �F 61��2�o%( �)*�\���=<�]2�D�x)* �=�!�F G1��2� �79�2":��;�%( �)*<=��> ;2 61�� CX��0qWo�2�2� ;2 ��0(<=1���)O�21 ��� <=���o �)(%*���6%V� �&)(%� "^%(C�� ��KL �=N,%(<= � "x �W �(�2;�%b+ �)*<=�2�6%(�21

0( "S% h �&)*�5����1�C���0F>L��<=���21�<=���o �)(%*����;2�� �&)(%(<=;2N����&)O��k h9<�%(C %(C�����;2;2����%*����;2�4 "A���%')*�2�F�5#})* >�)O���y�F<=��>%(�2;*C���<I>GN��20[8 _16I�|?r: ��u$ �{PN�1��F����15-/�&%( �)*k�8 ?�pb6o?�r�:I��)* ��o 0(�21E� )O�2"c��;�%( �)*<���>��&����)* L��;*CE%( y0(N,��� �)*%�1��20(<=> ��X�&%'%(��)*��0D��0!%*�&)*> ��%D0'%*�&%(�20D"c �)D0( "S% h �&)*��)*�20(%')*N�;�%(N,)*<���>y�OK �)(%(02��-/N,%(�=��)D����1�fN 8 p�:}���G%(�2��1 %(C��x;2 ��;2����% "�)*�2":��;�%( �)*<=��> %( �%(C���)y�F G1��2�=0;6/0(N�;OC���0F%(C��E"S�\�&%(N,)O�q�F 61��2�c6/N�0(�q;\��0(���F G1��2�c6�����1��&)*;OC�<�%(�2;�%(N,)O�L6� "��� �W �(�2;�%b+ �)*<=�2�6%(�21i"S)O���F��h� �)({X� UfN,)V)*�2"c��;�%( �)O<=��>��&����)O L��;*C N�0(�20V��)O�2;2<=0(�4"S �)*�y0V "�1��20(<=> � �X�&%'%(��)O��04 ���P��)*�20(0(�21E<=�qe�35H %(��)*�F0C< ��0B%(C��!WX��0(<�0 "S �)B)O�2"c��;�%( �)*<���>F�F G1��2�=02�

Page 12: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

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

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

��� � Q T'!$# P QMS !"T #uBC���"c �=�= \hA<=��>^;2 ��;2��)*��0�> N�<=1��� N,)�h� �)({� �1���KL�2�= ��X<=��> �^�� �%*�&%(<� �q"S �) ��)O�2;2<=0(�2��kF���P��)*�20(0*<=��>D� �&%'%(��)*�

0'�o�2;2<�T�;\�&%(<� ��02�

u$ �0(N,���o �)(%f%(C��yN�0(�F "/�X�&%'%(��)*��0^<=���y 61��2�l)O�2"c��;�%( �)*<���> 4 ���`>P�76}0(�2�Fml<=>P� � ���r<C6$� �&%'%(��)*� 0'�o�2;2<�TX;\�&%(<= ��00(C� N��=1�Wo�9;\�&�X�&WX�=�A "J1��20(;�)*<�WX<=��>!0( �=N�%(<= �y;OC��&)O��;�%(��)*<=0(%(<=;20 <=�y�y 61��2��<=��>!%(��)*�y02�}uBC��AN�0(�9 "8%(C��Aef35H<=�4<=��1�N�0'%')(k�<=0f>�)* th9<=��>16o%(CGN�0fh�� �&)O�x<���%(��)*�20(%(�21 <=� 1���KL�2�= ���<=��>y��)O�2;2<=0(�x�X�&%'%(��)*� 0'�o�2;2<�TX;\�&%(<= ��0A%(C��&%;*CX�&)O��;�%(��)*<=]2��e�35H 1��20*<=> ��02�

ab�� �)*1���) %( �=��KL��)O��> �fef3EH %( G �=0;6G%(C��A�X�&%'%(��)*�0'�o�2;2<�T�;\�&%(<� ���� �%*�&%(<� �V0*C� N��=1yW �9WX��0(�21V �V%(C��Aef35H<=��"S)O��0'%')ON�;�%(N,)*�h9C���)*���o 0(0(<=W��=��� uBC��5;2 ��;2����%(0N�0(�21 <=�� N�)�h� �)({ )*�2���&%(�5%( ;2 ��;2����%(01���T����21 �&%%(C��Fef35H �F��%*���y 61��2� �=��KL�2� 4 ����KL�2� 3 ?@<O�mR��V���=0( �N�0(�Fef3EH >�)O�&��C�<�;\���}�� �%*�&%(<= � %( �)*����)O�20(�2��%^)* �=�0'%')*N�;�%(N,)*�20;6&%(C6N�0$ef35H�%( G �=0l;\���xWo� N�0(�21�%( AW�N�<=�=1f%(C�� >�)O�&�XC�<=;\���G"S �)*�y0I ", N,)$�X�&%'%(��)*� 0'�o�2;2<�TX;\�&%(<= ��02�

ab�E N,)Ah/ �)({ 6o���X�&%'%(��)*�40'�o�2;2<�T�;\�&%(<� ��;2 ��0(<=0(%(0A "�u�YJ^xW�GS\@o7Y[u \JvQYJo V�6XhAC���)*�^��3E��%*��7A �=��3E G1��2�J<�0A�;*CX�&)O��;�%(��)*<=]\�&%(<= � "8��"c���y<=��k "oe�35H 1��20(<=> ���F 61��2�=02���i3E��%*��7A �=�f3E G1��2� 1���%(��)*�F<=���20 �^0(� �2;2<S���=<=]\�&%(<= � "I%(C��!e�35H��F��%*���y 61��2�x6,%(C��&%B<=0;6,<�% 1���%(��)*�y<=���20B� 0(N,W�+ ������> N���> �f "I%(C��fe�35H}�����=� �F G1��2�=0�%(C��&%B;\���qWo����P��)*�20(0(�21E<=�%(C��D0(N�W,+ ������> N���> �D�&)O�D;2 ��0(<=1���)*�21%( �Wo�f)*�\���=<=]\�&%(<� ��0B "I%(C��!�X�&%'%(��)*��4 0(�2��MP�2;�%(<� �EYG�ZYt<O�/�35��%*��79 �=�^35 G1��2� <=0 ��0(%')*N�;�%(N,)*�f "J)* �=�20;6Ph9C���)O�f��)* ����0(� �2;2<=T��20 0(%')*N�;�%(N,)O���o����1Wo�2C��\KG<� �)O������)* ��o��)(%(<=�202�� ��;OC )* �=�x<=0!��0(0( G;2<��&%(�21 h9<=%(C �Vef3EH �F��%*���F G1��2�l;2����0(0G4 ���`>P�76 �/o W�VCV@6� YO] Y;d WtosgIqJW@^igc\L]M<!;\���=���214<=%(0G�PW�V;Y2�uBC�����)* ��o��)(%(<��20A1���TX���215<��4��)* �=�x1���%(��)*�y<=��� �y0(N�W�0(��%f "}%(C���)* �=�Ll`0fWX��0*��<=��0'%*����;2�20 4 �2�=�2�F�2�6%(0D�&%!�=��KL�2�3 �r<C6G"c �)}���,���F���=�L66�f)O �=��h9<�%(Cx%(C�� �/o W�VCVBWX��0(� 1���%(��)*�y<=���20}�!0(N�W�0(��%� "X;2�S��0(0};2 ��0'%')ON�;�%(02���A�y<=��0'%*����;2� "�!)O �=�Ll`0}WX��0*�B%(C��&%/C���0}%(C��9��)* ��o��)(%(<=�20 0'�o�2;2<�T��21�<=�V�!)* �=�9;\���GaBo WCBU^��1Y�dn\@o7YO6P%(C��&%/<=0;6�<�% <=0 �UdnYPW@osgIqJWt^igi\L]F "%(C��!)O �=���}� G \@o Y{u \JvQYJo�d`Y`W@opg7qkW@^igc\L]q<=0B���F G1��2��4 ���`>P�76 �F0'%*�&%(<=;D0'%')ON�;�%(N,)O���o1�<S��>�)O��� 6�0(�;>GN��2��;2�!1�<S��>�)O���D<%(C��&%9;2 ��0(<=0'%(0B "I)*�\���=<�]\�&%(<= ��0B "$%(C��f)* ���20B<=�%(C��^35��%*��79 ����35 61��2� �

��� �� ��� )* �=�A<=0��!��)* ��o��)(%.k�+ �)O<=�2��%(�21V0'�o�2;2<�T�;\�&%(<� �F%(C��&%�1���%(��)*�F<����20 ��0(N,W�0*��% " %(C���<=��0'%*����;2�20 "I<�%(0BWX��0(�D�F��%*���y 61��2�J�2�=�2�F�2�6%2�

����������� ���������� �}� 35��%*��79 ���^3E G1��2�8<�0B� 0'%')*N�;�%(N,)O�� "I)* �=�20B%(C��&%B<=0B� ��)O �� ��)*% k6+ �)*<=�2�6%(�21;*C��&)O��;�%(��)O<=]\�&%(<= �E "���":���F<=�=k� "$e�35H �y 61��2��02�

R��DC��\KL�^1���KL�2�� �� �21�% h� �% kG�o�209 "l3E��%*��7A �=��35 61��2�=0 %(C��&%9;\����W �!N�0(�21�<=��� � �&%'%(��)*��0'�o�2;2<�T�;\�&%(<� �o�

W

Page 13: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

\ ����������� ���������������������� �������������! "����

� ��� ����� ����������� �� ����� � ���� � ��� �� MP7�3 <=0��4;*C��&)O��;�%(��)O<=]\�&%(<= �� "��5":���F<=�=k� "9ef3EHi0(%*�&%(<=;0'%')*N�;�%(N,)O�����F 61��2�=0;6B%(C��&%q<=0J6A�F G1��2�=0�%(C��&%�1�����<�;�%V;2����0*0(<�T���)*0 4 ���`>P�76!e�35H ;2����0*0(�20;6A<���%(��)*":��;2�20;6!����1% kG�o�20C<B����1�%(C��2<�)A)*�2���&%(<= ��0(C�<���0�hA<�%(C��\��;*C �%(C���) 4 ���`>P�76oe�35H ��0(0( G;2<��&%(<= ��0J6X1����o�2��1��2��;2<=�20;6�����15> �2�P+��)O���=<�]\�&%(<= ��0C<O�

� ����������� ������� ��� ������� ���������� ������ ��� � ����ab7A3v<=09��;OC��&)O��;�%(��)*<�]\�&%(<= �5 "���":���F<=�=k� "l<=�6%(��)O��;�+%(<= ��1�<���>�)O���F0�4 ���`>P�76 ;2 �=���&Wo �)O�&%(<= �E����1q0(�;>6N��2��;2�D1�<���>�)����F0C<O�

���n� �A.b,/.}% � P !M.1, � Q T'! PRQMS�!UT #���� � P #��uBC���WX��0(�x " ��)* �=�x<=� �qMP7A3 <�0��V�F��%*���F G1��2�l;2����0(0�h9C� 0(��<���0'%*����;2�20!�&)*� �2�=�2�F�2�6%(0f " ef3EH 0(%*�&%(<=;

�F G1��2�=0;6 %(CGN�0!�qMP7A3 )O �=� ;*C��&)O��;�%(��)O<=]2�20^�V0(��%! " ef3EH�0'%*�&%(<=;��F G1��2�=<=��>F;2 ��0'%')*N�;�%(0G4 ���`>P�76I;2����0(0J6o��0*0( &+;2<��&%(<= �M6}> �2����)O���=<=]\�&%(<� � �2�=�2�F�2�6%(0C<O��m� �)y�����������=�L6 � MP7�3 ;2����0(0*<�T���)x)* �=� 4 < �`���76/� MP7A3 )* �=��h9<�%(C %(C���F��%*���F G1��2� ;2����0*0(�/o W�VCVCg h)YOd ��0y�5WX��0(�k<x1���T����20x��)* ��o��)(%(<=�20x%(C��&%F;2�S��0(0(<�T���)O0D4 ���`>P�76 ;2����0(0*�20;6 <=�6%(��)*":��;2�20C<�xN�0'% C��\KL�9<="X%(C���kF�&)*� %( ^)*�\���=<=]2��%(C�� )* �=�L66h9C�<=�=� �^M,7A3�)*�2���&%(<= ��0*C�<���)* �=� 1���T����20���)O �� ��)*%(<=�20l%(C��&% ef35H)*�2���&%(<� ��0(C�<��X0�4 ���`>P�76 ��0(0( G;2<��&%(<= ��0J6�> �2����)O���=<=]\�&%(<� ��0C</�xN�0'%9C��\KL�D<="I%(C���kq�&)*�!%( �)*�\����<=]2�f%(C��!)* �����

��������� ������ �!#"%$�&('*)+��$, u h� % kG�o�209 "I��)* ��o��)(%(<=�20 ;\���EW �f0'�o�2;2<�TX�21q<=���yMP7�3Q;2����0*0(<�T���) )* �����

-/.�021�354�67.�8#9:8�.�;<.=8?>@4�ACB@0�D@1�EFAC0�B �&)O� h/�2�=��+ "S �)*�y�21����20(0)*N��=�20V%(C��&%�1���%(��)*�F<����4%(C�� "S �)O� "�ef35H�F��%*���F G1��2�X;2����0(0/<=��0'%*����;2�20 %(C��&%/;\���y)*�\����<=]2�B%(C��9)* �=��� MG�o�2;2<�T�;\������k@6L%(C��Ae�35H4h/�2�=��+ "S �)*�y�21����20(0�)ON��=�20����1 %(C����y��%*���F 61��2� + �=��KL�2�};2 ��0(%')O��<=�6%(0D1���T����21 <�����MP7A3 )* �=� 1���%(��)*�y<=��� %(C���"c �)*� "��F G1��2�l;2 �P+0'%')*N�;�%(08%(C��&%$;\���^���S�2kf%(C��/M,7A3 )* �=���$HJ<�{L��%(C�� ef3EH�F��%*���F G1��2��h/�2�=��+ "S �)*�y�21����20(0o)ON��=�20;6&�F��%*���F G1��2� +�=��KL�2�8;2 ��0'%')O��<=�6%(09�&)*�D���P��)*�20*0(�21�N�0(<���>x%(C��^U�W �(�2;�%��� ��0(%')O��<=�6%�H$����> N���> �D4 UD��H�<�8 ? nr: �G .�1�0�HID�.JD�4�8�.=B �&)*��;*C��&)O��;�%(��)O<=]\�&%(<= ��0� "8�&������<=;\�&%(<= �P+ 0'�o�2;2<�TX; ��)* ��o��)(%(<=�202�l� "S�\�&%(N�)*�9)O �=�B;2 ��0(<�0'%(0 "� �����y�L6��Ed`Y`WtosgIqJW@^igc\L]m� T1o ^igpaBosgcZ;gi^/BL6L����1^���^ ���%(<= ����� ��)O �� ��)*% kf0'�o�2;2<�T�;\�&%(<= �D���P��)*�20*0(�21^��0I�5ZP\L]}V�^idnWLg=]B^^?YO��aBo W@^?Y2�B�[)*�\���=<=]\�&%(<= �5��N���%(<����=<�;2<�% ky0(� �2;2<=T��20 %(C����6N���Wo��)9 "l)*�\���=<�]\�&%(<= ��09�y"S�\�&%(N,)O�D)* �=�^;\���5C��\KL�<=� ��0(<=��> �=��)*�\���=<�]\�&%(<= � "�%(C��y�2��;2�= 0*<=��>4M,7A3 )* �=���Ea�� %(C�<=0D� �&� ��)k6Ih���1� E�� �% 0(C� th "c�\�&%(N,)*�y)* �=�)*�\���=<�]\�&%(<= ���xN���%(<�����<=;2<�%(<=�20�<="/<�%^<=0 F2� ���LK�H~4 ��;2 �y�F ����k G;2;2N,)()*<=��>q;\��0(�y<=��%(C����X�&%'%(��)*��0Dh��Fh� �)({L�21h9<�%(C <O� uBC��5;2 ��0'%')O��<=�6%y%(�2�F�����&%(�4 "^� "c�\�&%(N,)*�5)* �=�51���%(��)*�F<����20�� "c���y<=��k "^�&������<=;\�&%(<= �P+ 0'�o�2;2<�TX;��)* ��o��)(%(<��202� m��\�&%(N,)*�20-4 ���`>P�76B�&%'%')*<=W�N,%(�20;6/ �� ��)��&%(<= ��0C<x "��F G1��2� ;2 ��0'%')*N�;�%(0�%(C��&%F���S�2k � MP7A3 )* �=�)*�\���=<�]2�!"S�\�&%(N,)O�!)* �=�20 "$%(C���M,7A3Q)* �=���}uBC���)O�D�&)*�!% h� �%.k6�o�209 "$"c�\�&%(N,)*�!)* ���202�

M N 0�D�HO>=0�HID�1�8PD�4�8�.=B 0'�o�2;2<="�k 0'%*�&%(��+ )*�2�S�&%(�21 ��)O �� ��)*%(<=�20f%(C��&%��&)*�F)*�\���=<=]2�21 WGk �&%'%')*<�W�N,%(�20� �)DK ���=N���+)*��%(N,)*��<=��>^ ��o��)O�&%(<� ��0�<=�V��MP7�3 )* ���9)*�\����<=]\�&%(<= �o�����q���,�����X�=�A "$�x0'%')*N�;�%(N,)�����)* ���9%(C��&%B;\���Wo�)*�\���=<=]2�21�W6k;2����0(09�&%'%')O<�W�N,%(�20B<�0 > <�KL�2��Wo�2�= th 4 0(�2�^ml<=>P�X?6���t4:W <n<O�QRTS,S,UWV�X,YTZ\[RTU�]O^\^_]a`cb,bFQWRTS\S�UV<X,Y<Z,[@R�U\d\dfe=ghb,bji=k<S�U�l k�m,[=n,d\d<oa��x%(C�� �&Wo \KL�L6 ��Tbd�d`YO]3^ p}WtosT3YA<=0I%(C���"S�\�&%(N,)O� )O �=� �X���F� ����1x%(C��/)*�\���=<=]\�&%(<= � �xN���%(<��X�=<=;2<�%.kf"c �=�= th9<=��><�% 4b�Wqrq��r<f<=��1�<�;\�&%(�20A%(CX�&%�%(C���)*� ��N�0(%AWo�x���,��;�%(��k ���x)*�\���=<�]\�&%(<= � "}%(C�<=0A)* �=�x<=� ��)*�\���=<=]\�&%(<� �4 "%(C��DMP7A3 )* �=�f;2 �6%*��<=��<=��>�%(C�<=0�"c�\�&%(N,)*��)* �=���}u9C��f;2 ��0'%')O��<=�6%�%(�2�������&%(�f�2��;2�� 0(�21q<=��%(C��fW�)O��;*{L��%(0sWtvu 4:�X�&)O���F��%(��)*0B�&)O��0*N,)()* N���1��21�WGk 878p6 :7:=<�0'%*�&%(�20�%(C��&%�)*�\����<=]\�&%(<= ��0/ "o%(C�� ��T1dCd`YO]B^ p}W@opT}Y^"c�\�&%(N,)*�)* �=�V��N�0'% ���=h��\kG0�C��\KL���5K����=N��y�=�20(0x%(C���� %(C��VK ���=N��V "9�5)*�\���=<=]\�&%(<� � "A���� �%(C���)F"c�\�&%(N,)*��)* �=������F�21fw �0dnYOV �b\@o v �

M x .Wyz1�;\E{4�D�1�8|D@4�8�.�B 0'�o�2;2<="SkEWo�2C��\KG<= �)O0A%(CX�&%��&)*� )*�\���=<�]2�21 W6k �0(<=��> �=� ��o��)O�&%(<= � �)��F��%(C� G1�68 �)W6kq��;2 ���o 0(<=%(<= �q "l �� ��)��&%(<= ��0 �)A�y��%(C� 61�0 <=���yMP7�3 )* ���f)*�\���=<=]\�&%(<= �8�

Page 14: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� ��� ��������� u

�A�E���,�����X�=�! "��xW �2CX�2KP<= �)O���o)* ���!<=0 > <�KL�2�qWo�2�= th 4 0(�2�Dml<=>P� ?6���t4:W�<n<O��=X,XTZ k ]z^,^ ]�� l� ,b,b��T[\U���UV<X�d\d��`��<S�U� �b,b��T[=U���UV<X,d,d���� U����[@RTn,U�l��vl ���m�l�X! �b\b"�T[=U���UWV<X,d,d g b,b"�<[\U���UWV�X�d\d #$�<S�U%���'& V(�[@RTn)&�V)*�� l��Wo

uBC��D�X���F�D "$%(C����&Wo tKL�D��)* ��o��)(%.kV<�0 �E^c^xWtZ�� ��uBC��f)O�\���=<=]\�&%(<= �5��N��=%(<����=<=;2<=% ky"c �=�= th9<=��> %(C��^�����F�4b�Wqrq��r<l<=��1�<=;\�&%(�20l%(C��&%l%(C���)*� �xN�0'%lWo�����,��;�%(��k ���/Wo�2C��2KP<= �)l%(C��&%�)*�\����<=]2�20l%(C�<=0$)* �=��<=����)*�\����<=]\�&%(<= � "l%(C��xM,7A3v)* �=�D;2 �6%*��<=��<���>F%(C�<�0B"S�\�&%(N�)*�D)* �����BuBC��D0'�o�2;2<�TX;\�&%(<= �� "l%(C��^W �2CX�2KP<= �)9)*�2"c��)*�2��;2�20f�K�����N��mVy%(C��&%^<�0^����<=��0(%*����;2�F "��q)*�\���=<�]\�&%(<= �� "��5MP7�3 )* ����;\���=�=�21,+ o Y;�UY;]3^���uBC���;2 ��0'%')O��<=�6%%(�2�������&%(�/;2 ��0(<�0'%(0I "���)*��+ ;2 ��1�<=%(<= ������1x�o 0'%b+ ;2 ��1�<�%(<= �D%(�2�F�����&%(�202�luBC�� ��)*��+ ;2 ��1�<=%(<= �^%(�2�F�����&%(�0'%*�&%(�20 %(C��&%�W �2"c �)*�����P�2;2N,%(<� � "B�EWo�2C��2KP<= �)�)*�\���=<=]2<=��> �E^c^xWtZ�� 6)VV<�0^�� �% <=��%(C��y0(��% "B�2�=�2�F�2�6% �W �(�2;�%(0z4 <=��0'%*����;2�20 "$���-+ o Y;�UY;]3^ )*�\���=<=]\�&%(<= � <}{P�� th9�V%( %(C��! �W �(�2;�% %(C��&% �o��)*"S �)O�F0 %(C�� �E^c^xWtZ��Wo�2C��2KP<= �)\� uBC����o 0'%b+ ;2 ��1�<�%(<� � %(�2���X���&%(��0(%*�&%(�20 %(C��&% %(C����OK �2;�%F "9�5)*�\���=<�]\�&%(<= � " �E^c^xWtZ�� <=0%( <=��;2�=N�1�� Vx<=�5%(C��x0(��%! "}�2�=�2�F�2�6%! �W �(�2;�%(0f{G�� th9�5%( �%(C��^�o��)*"c �)*�F<=��>F �W �(�2;�%2�DuBC��^���P��)*�20*0(<= �_/.�a3dnYx<��%(C���UD��H�)*�2"S��)O0 %( �%(C��!K ���=N��! "/_5Wo�2"S �)*�!���,�2;2N,%(<= �E "l���E �� ��)��&%(<= �o�MPN,W�0(%(<�%(N,%(<=��> %(C�� �����F�20� "^)*�\���=<=]\�&%(<� ��0q"S �)q%(C��~4 "c�\�&%(N,)*� �) MP7A3e<y)* �=� �����F�20q�2��;2�� 0(�21 <=�%(C��^1� N,W��=�!0`>GN��&)*�^W�)O��;*{L��%(0[4P878p6 :7:=<9)*�20*N���%(0B<=�5���4�&���X�=<=;\�&%(<= �P+ 0(� �2;2<=T�;���)* ��o��)(% k@6 ;\���=�=�214� �U\JvQYJos�o Y10LYJo ZP\L]}V�^idnWLg=]B^i6}���G��)O�20(0(�21�<=��%(C���UD��H �8m� �) ���,�����X�=�L6I0(N�W�0'%(<�%(N,%(<���>32 YO]V;\Ld 4 �q)O�\���=<=]\�&%(<= �� "+So7YO�jYO]B^n< "c �)4+So7YO�jYO]3^ <=��%(C�� ��^c^xWtZ��;2 ��0'%')O��<=�6%�%(�2�������&%(��)*�20*N���%(0/<=�y%(C��A"c �=�= th9<=��>��F 61��2� + �=��KL�2�;2 ��0'%')O��<���%2�

�=X,XTZ k�� l� 65\UV+lWm=S��`��<S�U� 75\UV+lm\S8��� U9�:�[@RTn�UTl��vl ���m�l�X! -5=UWV+lm\S g;5=UWV7lWm\S�#$�<S�U<�9�;&�V=�[R<n:& V)*>�vl �o

� 0(%*�&W��=<=0(C�<=��>q%(C��&%y� �y 61��2� �2���2�F�2��%�)O�\���=<=]2�20F��MP7�3 )* �=�q<���KL ��KL�20 ��)* \KP<=��>4%(C��&%�%(C��q;2 ��0'%')O��<=�6%(0��0(0( G;2<��&%(�21 h9<�%(C %(C��y�F 61��2�}�2�=�2�F�2�6%�<=�F����k�%(C����F G1��2� + �=��KL�2��;2 ��0(%')O��<=�6%(0� �W�%*��<����21 WGk 0*N�<�%*�&W���k4<=�P+0'%*���6%(<��&%(<=��>�%(C��F)* ���Ll`0^;2 ��0'%')���<=��%�%(�2�������&%(�20J6l����1 1���%(��)*�F<���<=��>%(C��&%�%(C���)*�\����<=]\�&%(<= � �xN���%(<=���=<=;2<�%(<��20��0(0( G;2<��&%(�21qhA<�%(Cq%(C��!"c�\�&%(N,)*�!)O �=�209�&)*�D�� �% KG<= �S�&%(�21o�

uBC���0'%')*N�;�%(N�)*�y "9� MP7�3 )* �=��<=0�0*C� \h9� <=� m$<�>P��?6���t4 �t<O��uBC��F%( �� ;2 ���X�&)(%(�y�2��%�;2 ��0(<�0'%(0� "B%(C,)*�2��X�&)(%(0\�

� )* �=�lWX��0(��1��2;2���&)O�&%(<= �D "G%(C���"c �)*�'?RH WLV;YCGS\@o7YA@ 6|h9C���)*�YH�W�VJY/<=0 %(C��}�����y�� "�%(C��})* �=�Ll`0oWX��0*�S4 < �`���76%(C��f�����F�! "$� �F��%*���F G1��2�o;2����0(0�<O� �A�q�������������� "$�x)* �=��WX��0(�!1��2;2���&)O�&%(<= �q<=0B? �/o W�VCVCg h)YOdMGS\@o7YC@ �Uf���=ky<=��0'%*����;2�20B "$%(C��fWX��0(�D;\���E)*�\���=<=]2�f%(C��f)* �=���

� )* �=�!�����F�^1��2;2���&)O�&%(<= �E "J%(C��^"S �)*�ED GS\@o7YGF5WL�jYO6Xh9C���)*�FGS\to YHF{WL�jY9<=0 %(C��!�X���F�D "I%(C��!)* �=���

���4 ���%(<= �����Ad`Y`W@opg7qkW@^igc\L] �[To ^igsa osgcZ;gi^/B %(C��&%D0'�o�2;2<�T��20�%(C�� �GN��^Wo��)! "})O�\���=<=]\�&%(<= ��0�%(C��&%D;\��� ���,<=0'%!"c �)%(C��y)* �=�y<�� �E)*�\���=<=]\�&%(<= � " %(C��MP7A3 %(C��&% <=��;2��N�1��20!%(C��y)* �=����ab� %(C�<=0D� �&� ��)k6I%(C��V�xN���%(<�����<=;2<�% k4<=0 �F<�%'%(�21E<="I<=%B<=0GF:K�H-4 < �`���76�h9C��2�%(C���)*�D<=0B�� �)*�20'%')*<�;�%(<= �� �q%(C��^�6N���Wo��)9 "I)*�\���=<=]\�&%(<= ��0 %(C��!)* ���D;\���C��\KL��<��V� MP7A3 )*�\���=<=]\�&%(<= � < ����1Vh9C��2�y%(C����xN���%(<�����<=;2<�% k�;\���VWo�A<���"S��)*)*�21y"S)* � �%(C���)B<=��"c �)*�y�&%(<= ��<=�%(C��^MP7�3��

uBC��D)* �=�D�����y������1E)* �=�!WX��0*�^1��2;2���&)��&%(<= �E;2 N���1�Wo�D���P��)*�20(0(�215�F �)*�D;2 ��;2<=0(�2��k���0CI GS\@o7YGF5WL�jY���H�W�V;YQ6W�N,%�h���"c�2��%�%(C��&%F%(C��)*�20(N���%(<���> 0'kG�6%*��;�%(<=;�0*<=�F<=���&)O<�% k�hA<�%(Cg%(C���ef3EH ;2 �=���&Wo �)O�&%(<� �g)* �=�q;2 N��=1 ;\��N�0(�;2 ��"cN�0(<= �8�lm� �)A%(C�<�0�)*�\��0( �qh��!������;2�D%(C��fWX��0(�D<���� )* �=�!0'%(��)O�2 �% kG� �^0'kG��Wo � �

Page 15: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

,)a ����������� ���������������������� �������������! "����

SensorAttach (s:TempSensor)

TempMonitor1..*

Role realization multiplicity

Role realization multiplicity<<Class Role>>/Monitor

{self.isAbstract = true}<<Metamodel−level Constraints>>

<<Structural Role>>

Example of a SRM Role and a Realization(b)

Activate (){pre:ready = 0

post:ready = 1}

ready:Intth:Intcv:Int

{cv < th}

...

(not shown if it is "*")

{pre:TempSensor−>excludes(s) and ready =1post:TempSensor = TempSensor@pre−>including(s)}

SensorDetach (s:TempSensor){pre:TempSensor−>includes(s) and ready =1

post:TempSensor = TempSensor@pre−>excluding(s)}

SRM Role Structure(a)

(not shown if it is "1..*")

p

post:[[Element]] = [[Element]]@pre−>excluding(s)}

(not shown if it is "*")

<<is a realization of>>

/Attach 1..1 (s:[[Element]])

/Detach 1..1 (s:[[Element]])

Feature role multiplicity

{[[CurrentValue]] <= [[Threshold]]}

{pre:[[Element]]−>includes(s)

post:[[Element]] = [[Element]]@pre−>including(s)}{pre:[[Element]]−>excludes(s)

<<Behavioral Role>>

/CurrentValue 1..1/Threshold 1..1

Structural role properties

Behavioral role properties

/RoleName

Base Role Stereotype

OCL metamodel constraintsConstraints on form of base elements

Feature roles

<<Metamodel−level Constraints>>

<<Behavioral Role>>

<<Structural Role>>

Feature roles

OCL metamodel constraint

��� �����' � ��< ���%'(��C;5%���(�U!�#�����6�2 6�!�� �

uBC���0(�2;2 ��1q;2 �F�X�&)(%(�F�2�6% ;2 ��0(<=0'%(0� "I�F��%*���F G1��2� + �=��KL�2�o;2 ��0(%')O��<=�6%(0 %(CX�&%B1���%(��)*�F<=���9%(C��[4 0'kP��%*��;�%(<�;k<"c �)*� "}%(C��xWX��0*�x<���0'%*����;2�20f%(C��&%D;\��� )O�\���=<=]2�x%(C��x)* �=���xuBC���)*�\���=<=]\�&%(<= � �xN���%(<=���=<=;2<�%.kq> <�KL�2� <=�4%(C��x%( ��;2 ���X�&)*%(�F�2��% ;\����Wo�/���P��)*�20*0(�21F��0 �!�F��%*���y 61��2��+ �=��KL�2�,;2 ��0'%')O��<���%}N�0*<=��>A%(C��9UD��H�Wto=o D�]V�^xW@]BZCYOVA"S�\�&%(N�)*�L6W�N,% %(C��f)*�20(N���%B<�0B���F �)*�!;2 ���X�=����y��%*���F 61��2� + �=��KL�2�J;2 ��0'%')O��<=�6%2�uBC�� %(C�<�)O1^;2 ���X�&)*%(�F�2��%};2 ��0(<=0'%(0l "�"c�\�&%(N,)*�/)* ���202��MP%')*N�;�%(N,)O���6)* �=�20��&)*�/���S��;2�21x<��^%(C���0(�2;�%(<� �xC��\��1��21

? 23^id�T}ZJ^iT1dnW@o G \@o Y @ 6X����1Wo�2C��\KG<� �)O���o)* �=�20B�&)O�!������;2�21�<��%(C��D0(�2;�%(<= �EC��\��1��21 ? HEY��bW�0kgc\LdnW@o GS\@o7Y @ �

��������� '*$�����!�)�O �%!�� '*)7��$� � )O �=�5;\��� Wo� ��0(0( G;2<��&%(�21 h9<=%(C ���� �%(C���)q)* �=�L6�<=��1�<=;\�&%(<���>�%(C��&%%(C��4)*�\����<=]\�&%(<= ��0 "D%(C��5)O �=�20��&)*�

��0(0( G;2<��&%(�21 <=� � �y��������)�%(CX�&%y<=0�;2 ��0(<�0'%(�2��%�hA<�%(C C� \h�%(C��WX��0(�20F "A%(C��q)O �=�20F�&)*�E��0(0* 6;2<��&%(�21�<=�g%(C��ef3EH �F��%*���F G1��2� �5m� �)����,�����X�=�L6}� �/o W�VPV)* �=��;\��� Wo�y1�<�)*�2;�%(��k���0(0( G;2<��&%(�21 h9<�%(C ��� ��VPV;\JZ;gcW@^igc\L]�+A] v)* �=�L6 W�N,% �� �% h9<�%(Cg��� ��VPV;\JZ;gcW@^igc\L] )* �=�VWo�2;\��N�0(��%(C��e�35Hi�F��%*���F G1��2� 1� G�20 �� �%�1�<�)*�2;�%(�=k ��0(0( G;2<��&%(�%(C�� ��VPV;\JZ;gcW@^igc\L]��F��%*���F G1��2�8�2���2�F�2��%9h9<�%(C%(C�� �/o W�VCV��F��%*���F G1��2�8�2�=�2�y�2��%2� R��DN�0(�f%(C��^e�35H "c �)*�z "��0(0( G;2<��&%(<= �5%( V)*����)*�20*�2��%A)* �=� ��0(0( G;2<��&%(<= ��02��HJ<�{L��e�35H���0(0( G;2<��&%(<= ��0;6X)O �=����0(0* 6;2<��&%(<� ��0f;\���5Wo�D�X���F�21����1;\����C��\KL�!��N���%(<����=<�;2<�%(<=�20 ��0(0* 6;2<��&%(�21hA<�%(CV%(C��2<�) �2��1�02�}�[MP7A3 "S �)9�x0(<=�F���=<�T��21VU�W�0(��)(KL��) � �&%'%(��)*�q<=00(C� th9��<=�qml<=>P� ?6�@?6�uBC��FMP7�3 ;2 ��0*<=0'%(0f " %.h/ E;2����0(0f)* �=�20J6�� ��V;Y;dH0@YOd����1 2}T3���JY`ZJ^�6J��� ��0*0( 6;2<S�&%(<= � )* �=�L6�� �OV;YOd 0LYOV@6I����1

% h� ��0(0( G;2<��&%(<= �F�2��1y)* �=�20;6 �EVCVO\JZ +A]Bv�� ��V�����1 �EVCVO\JZ +A]Bv�23T}�L��uBC���� �OV;Y;dH0@YOdf)* �=� ;OC��&)O��;�%(��)*<=]2�20�;2����0*0(�20

Page 16: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� ��� ��������� ,!,

11..*

1

1

1

/AssocEndSub<<AssociationEnd Role>>

{multiplicity = *}<<Metamodel−level Constraints>>

/Observes<<Association Role>>

<<AssociationEnd Role>>/AssocEndObs

<<Metamodel−level Constraints>>

<<Class Role>>/Observer

<<Structural Role>>/ObserverState

<<Behavioral Role>>/Update (s:[[Subject]]){pre: true

post:[[Observer]]@pre−>excluding(s)}{pre:[[Observer]]−>includes(s)

/Detach (s:[[Observer]])post:[[Observer]]@pre−>including(s)}

{pre:[[Observer]]−>excludes(s)/Attach (s:[[Observer]])<<Behavioral Role>>

/SubjectState<<Structural Role>>

{self.isAbstract = false}<<Metamodel−level Constraints>>

/GetState():[[T]] {pre: true post: result = [[Function]]([[SubjectState]], ...)}

/Notify()

/Subject<<Class Role>>

post:[[ObserverState]] = [[Function]](s.[[SubjectState]], ...)}

<<Metamodel−level Constraints>>{self.isAbstract = false}

1

1

{multiplicity = * and isNavigable = true}

1..*

1..*

1..*

��������� � �� ��6�2 # !�( ��= ������= � �10����C./�)( � �9(-$���%%'�)(�

"o �W �(�2;�%(0E4 �W�0(��)(KL��)*0�<�%(C��&%��F ��<=%( �) �%(C���) �W �(�2;�%(0�;\���=�=�21y0*N,W �(�2;�%(0;6G����1�%(C�� 2}T3���JY`ZJ^})* �=�9;OC��&)O��;�%(��)*<�]2�200(N,W��'�2;�%B;2����0*0(�202�uBC��D��0*0( 6;2<S�&%(<= �qWo��% h��2�2�E0(N�W �'�2;�%9����1� �W�0(��)(KL��)�;2����0(0(�209<=�E�x)*�\���=<�]\�&%(<= �� "$%(C��^U�W�0*��)(KL��)B�X�&%'%(��)*�5<=0

;\�&��%(N,)O�21V<��y%(C����X�&%'%(��)O��WGk � �OV;YOd 0LYOV �}uBC���"S �)*� "J%(C�����0*0( 6;2<S�&%(<= ��2��1�0� "J��)*�\���=<=]\�&%(<� �V " � ��V;Y;dH0@Y�V�&)*��;2 ��0'%')O��<=���21�WGkV%(C��D% h� ���0*0( 6;2<S�&%(<= �5�2��1q)* �=�20A0(C� \hA�o� �EVCVO\JZ +A]Bv�23T}��0'%*�&%(�20�%(C��&%A%(C��D0(N�W �'�2;�%��2��1 "9��� � ��VJYOd 0LYOV�)*�\���=<�]\�&%(<= � �xN�0'%xC��2KL�q�4�xN���%(<�����<=;2<�% k4 "9s4 �)x�y �)*� 4 K@<C6 h9C�<=�=� �EVCVO\JZ +A]Bv� �OV0(%*�&%(�20%(C��&% %(C��V �W�0(��)(KL��)��2��1g�xN�0'%xWo�y���\KG<=>L�&WX�=�V����1 �xN�0'% C��2KL���5�xN���%(<�����<=;2<�% k "9s4 �)��F �)*��� uBC��MP7A3%(CGN�09;OC��&)O��;�%(��)*<=]2�20f�F G1��2�=09<=�qh9C�<�;*C�0(N�W �'�2;�%A �W �'�2;�%(0�;\��� �&%'%*��;*C4%(C��2�F0(�2�=KL�20B%( y ���^ �)A�y �)*�^ �W�0*��)(KL��) �W �(�2;�%(0;6�����1q���� �WX0(��)(KL��)B �W �(�2;�%/;\����F ��<�%( �) ���A �) �F �)O�A0(N�W �'�2;�%/ �W �(�2;�%(02� uBC��A��N���%(<����=<�;2<�%(<=�20� �V%(C����0(0( G;2<��&%(<= ��W ��%.h/�2�2� %(C�� 2}T3���;YPZJ^�)* �=�F����1�%(C�� �EVCVO\JZ +A]Bv$2}T3�F)O �=��<=��1�<�;\�&%(� %(C��&%��V)*�\���=<�]\�&%(<= �� "/%(C��2}T3���JY`Zk^ )* �=�m4 �V;2����0(0C<9�xN�0'%ACX�2KL���&%!�=�\��0'%f ���x��0*0( 6;2<S�&%(<= � �2��1E%(CX�&%�)O�\���=<=]2�20 �EVCVO\JZ +A]Bv�23T}�t68����15%(C��&%�)*�\����<=]\�&%(<= �� " �EVCVO\JZ +A]Bv$2}T3�y�xN�0'%^W ����0(0* 6;2<��&%(�21 h9<�%(C�������;�%(��k ���F;2�S��0(0!%(C��&%D)O�\���=<=]2�20!%(C�� 2}T3���JY`ZJ^)* �=���}u9C��! �%(C���)9)O �=�D��0(0( G;2<��&%(<= ��090(C� \hA��<=�%(C��^MP7�3v�&)O�D<=�6%(��)(��)*��%(�21�<�����0(<=�F<����&)/����������)\�uBC���)O�\���=<=]\�&%(<= ����N��=%(<����=<=;2<=%(<=�20I0*C� \h9��<=� %(C��fMP7A3 )*�;>GN�<�)*��%(CX�&% �!)*�\����<=]\�&%(<= �F " %(C���MP7A3 �xN�0'% C��\KL�

�&%A���\��0'%9 ���^)*�\���=<=]\�&%(<= �E "!2}T3���JY`ZJ^ ����14�&%A�=�\��0(%9 ���D)O�\���=<=]\�&%(<= �� " � �OV;YOd 0LY;d06 ����1��\��;OCE)*�\����<=]\�&%(<= �E "2}T3���JY`Zk^B<=0���0(0( G;2<��&%(�214h9<�%(C5�&%f�=�\��0'%� ��� � ��V;Y;dH0@YOdb6 ����14�\��;*C � �OV;YOd 0LY;d�)*�\���=<=]\�&%(<� �E<=0f��0(0( G;2<��&%(�215h9<�%(C�&%��=�\��0'%� ���A2}T3���;YPZJ^�)*�\����<=]\�&%(<= �FKP<�� � ��V;Y;dH0@Y�V�)*�\���=<=]\�&%(<= ��02��uBC��B0(�����=�=�20'%/�F 61��2�=0}%(C��&%�;\����)*�\���=<=]2�9%(C�<=0MP7�3 ;2 ��0(<�0'%B "$�x)O�\���=<=]\�&%(<= �q " 2}T3���JY`Zk^/����1��x)O�\���=<=]\�&%(<= �q " � ��VJYOd 0LYOdx;2 �����2;�%(�21qWGkq�x)*�\���=<=]\�&%(<= �q "� ��VJYOd 0LYOV�� �A �%(�F%(C��&%^%(C��eF2� ���LK�H5)*�\���=<�]\�&%(<= ���xN���%(<�����<=;2<�% k5"S �) � �OV;Y;dH0@Y�V-4 �� �%^0*C� \h9� <�;\����Wo��<=��"c��)()*�21

Page 17: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

,g7 ����������� ���������������������� �������������! "����

"S)* �[%(C���)*�\���=<�]\�&%(<= ����N���%(<����=<�;2<�%(<=�208 " 2}T3���JY`Zk^$����1 � �OV;YOd 0LY;d�����1 %(C�� ��N��=%(<����=<=;2<=%(<=�208 ��%(C�� ��0(0* 6;2<��&%(<� ��0Wo��% h��2�2��%(C��D)* �=�202�79�\����<=]\�&%(<= ��0B "I%(C�� � �OV;Y;dH0@YOdx)* �=�!�xN�0'%

Wo�f;2 ��;�)*��%(�^;2�S��0(0(�20{4'VJY;o wzq7g=V �z�OV�^idnWtZJ^�� wOW@osV;YL<C6

C��\KL�^�&%9�=�\��0'%A ���!)*�\���=<�]\�&%(<= �q " � ��V;Y;dH0@YOd 23^xW@^?YQ6X����1

C��\KL�!Wo�2C��2KP<= �)*0 %(CX�&%B)*�\���=<=]2���BabvtWt^?YL�

uBC����y 61��2��+ �=��KL�2���o 0'%b+ ;2 ��1�<�%(<� �! �W�%*��<=���21!"S)* ���BabvtW@^?Y )O�;>6N�<=)*�20 %(C��&%8%(C��})*�\���=<=]\�&%(<= �! "G%(C�� � �OV;Y;dH0@YOd 23^xW@^?YWo�AN�� 1X�&%(�21yh9<=%(C��K ���=N��A%(C��&% <=0 �x1���T����21V"SN���;�%(<= � "I�x0(N,W��'�2;�%�0'%*�&%(�G4 �x)*�\���=<�]\�&%(<= � ">2}T3���JY`Zk^ 23^xW@^?YL<����1E� 0*0(<�W���kV �%(C���)��&)O> N��F�2�6%(02�BuBC��D878���T1]BZJ^igc\L] :7:I�X�&)����F��%(��)��xN�0'%9W �^<=��0'%*���6%(<��&%(�21�hA<�%(C�%(C��^�����F�^ "�D"cN���;�%(<� ��%(C��&% 1���T����20 C� \h�%(C��90(N,W��'�2;�% 0(%*�&%(�9<=0 N�0(�21F%( �;\���=;2N����&%(�A�D����h K����=N��B"S �) %(C��9 �WX0(��)(KL��) 0(%*�&%(���uBC��9W�)O��;*{L��%(�21V���P��)*�20*0(<= �y"c �=�= th9<=��>m878���T1]BZJ^igc\L] :7: 0*C� \h90 %(C��A�X�&)O���F��%(��)O0 %(C��&%��xN�0'% Wo� � ��0(0(�21V<=��%( ^%(C��"cN���;�%(<= � 4:%(C�� Fvqrqrq Hy<=��1�<=;\�&%(�20�%(C��&%9 �%(C���)A�X�&)O���F��%(��)O09�� �%B���P���=<=;2<=%(��ky�=<=0(%(�21q�y�2kWo�f��)*�20(�2�6%C<O�79�\����<=]\�&%(<= ��0B "I%(C�� 23T}���;YPZJ^ )* �=�!�xN�0'%

Wo�f;2 ��;�)*��%(�^;2�S��0(0(�20{4'VJY;o wzq7g=V �z�OV�^idnWtZJ^�� wOW@osV;YL<C6

C��\KL�^�&%9�=�\��0'%A ���!)*�\���=<�]\�&%(<= �q " 2}T3���JY`ZJ^ 2B^xW@^?YQ6X����1

C��\KL�!Wo�2C��2KP<= �)*0 %(CX�&%B)*�\���=<=]2� ��^c^xWtZ���6 @ Y;^xWtZ�� 6 � YJ^ 23^xW@^?YQ6 ����1 F{\t^ig w<B��

uBC��^Wo�2C��2KP<= �)O���I�F 61��2� + �=��KL�2�$;2 ��0'%')O��<=�6%(0A%(C��&%!��N�0(%9Wo�^0*�&%(<�0'T��215W6kq)*�\����<=]\�&%(<= ��0� " 2}T3���JY`Zk^9�&)*�x �W,+%*��<=���21�W6k <=��0'%*����%(<S�&%(<=��> %(C����X�&)O���F��%(��)*0V "f%(C��5M,7A3 )* �=�Ll`0�Wo�2C��2KP<= �)O��� )O �=� 4 < �`���76 �E^c^xWQZ���6M@ YJ^xWtZ���6� Y;^ 2B^xW@^?YQ6�F{\t^ig w<B1<O�/� )*�\����<=]\�&%(<= �q "I%(C�� �E^c^xWtZ��VWo�2C��\KG<� �)9�&%'%*��;*C��20!���� �W�0*��)(KL��)B%( �%(C��!0*N,W �(�2;�%;6�����1E�)*�\���=<�]\�&%(<= �� " %(C��3@ Y;^xWQZ��yWo�2C��\KG<= �) )*�2�F tKL�20B���� �W�0*��)(KL��) "�)* � %(C���0(N,W �(�2;�%2��� )*�\���=<=]\�&%(<� �� " � YJ^ 23^xW@^?Y)*��%(N,)O��0D�K ���=N�� 4 <=��1�<=;\�&%(�21 W6k~d`Y�VCTo ^`<f " %.k6�o�F<���1�<=;\�&%(�21 WGk5%(C�� �X�&)O���F��%(��) wE6J%(CX�&%^<=0D�q"cN���;�%(<= � "%(C��x;2N,)()*�2�6%9K ���=N��� "�%(C��x0'%*�&%(��)*�\���=<=]2<=��> 2}T3���JY`Zk^ 23^xW@^?YQ68����1E�o 0(0*<�W���k �%(C���)�K����=N��202�AuBC���)*���&)*�x�� y��)*��+����1V�o 0'%b+ ;2 ��1�<=%(<= ��0/ � F5\@^ig w�B 4 < �`���76P%(C���)*�!�&)*�f�� �)*�20'%')*<=;�%(<� ��0 �%(C��A�OK �2;�% %(C�<=0/ ��o��)O�&%(<= �C���0 �V%(C��0'%*�&%(�� "$��0*N,W �(�2;�%C<O�

<<Observes>>

*

*

GetKilnTemp(): TempGetKilnPress(): Press

DetachObs(s:KilnObs)

kilntemp: Tempkilnpressure: Press...

NotifyTemp()

AttachObs(s:KilnObs)

NotifyPress()...

<<Subject>>Kiln

...

currentHighTemp: Temp

Update(k:Kiln)

currentLowPress: Press

Update(k:Kiln)...

<<Observer>>TempObs

<<Observer>>PressureObs

KilnObs

*

*

obsTemp

<<Observes>>

obsPress

��������� �� �� �� 68�1�&� =�1�&%= !<� !�# %���� �4= ����� = � �10 ���?./�)( � �)(-$��&%%'�)(�

�i)O�\���=<=]\�&%(<= �q "J%(C��!0(<=���X�=<�T��21�UfW�0(��)(KL��) �X�&%'%(��)O��<=0�0(C� th9�q<=�ml<=>P��?6�ZYG� ab��%(C�<=0/�X�&�o��)J6�� 0'%(��)*�2 �% kG�o�h9<�%(C��4)O �=�q�����F�e4 ���`>P�76 ? 23T}���;YPZJ^ @ <x<=��� �y 61��2� ;2 ��0'%')*N�;�%F<=0�N�0(�21g%( �<=��1�<=;\�&%(�V%(C��&%�%(C��q�F G1��2�

Page 18: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� ��� ��������� ,)?

;2 ��0'%')ON�;�% <=0 ���y<=�6%(�2��1��21 )*�\����<=]\�&%(<= �y " %(C��B)* �=����uBC��20(�90'%(��)*�2 �% kG�o�20/�&)O�B��)*<���%(�21�<=�FW ��1 %( ^1�<=0(%(<=��> N�<=0*C%(C��2�z"S)* �z �%(C���)Aef3EH8+/����1�N�0*��)'+ 1���T����210'%(��)O�2 �% kG� �20\�uBC���;2�S��0(0��5gios] <=0J��)O�\���=<=]\�&%(<= �D "6%(C�� 23T}���;YPZJ^ )* �=�L6|h9C�<=���Pw YO��a � �OV ����1��SdnYOVPVCT1d`Y � �OV �&)*��)*�\���=<�]\�&%(<= ��0

"�%(C�� � ��V;Y;dH0@YOdB)O �=�L6���0}<=��1�<=;\�&%(�21^WGk^%(C��/0(%(��)*�2 �% kG�o�202�}uBC�� �&%'%')*<�WXN,%(�20 �rgios]3^?Y;��a����1 �rgiop]@a3d`Y�VPV�T1dnY��\��;OC�����\kD%(C�� )* �=� "�2}T3���JY`Zk^ 23^xW@^?Y�� � Y;^��5gios]%w YO��ay)O��%(N,)*��0I%(C��/;2N,)()*�2�6%IK ���=N�� " �rgiop]3^?YO��a$6�����1�� YJ^��5gyop]��SdnYOVPV)*��%(N,)O��0�%(C�� ;2N,)*)*�2��% K����=N�� " ��gyop]@a3d`Y�VCVCT1d`YL�}u9C��20(�B ��o��)O�&%(<= ��0}�\��;*C�)*�\���=<=]2��%(C���� Y;^ 23^xWt^?YAW �2CX�2KP<= �)\��uBC��@ Y;^xWtZ�� � ��V�����1 �E^c^xWtZ�� � ��V^ ��o��)O�&%(<= ��0B�&)O�D<=�6%(�2��1��21%( �)*�\����<=]2�f%(C�� �E^c^xWtZ��E����1A@ Y;^xWtZ��q"c�\�&%(N,)*�f)O �=�20;6)*�20'�o�2;�%(<�KL�2�=k � uBC��5W �2CX�2KP<= �)*00'�o�2;2<�T��21 W6k�%(C�� �F 61��2� + �=��KL�2�f;2 ��0'%')O��<���%(0 �W�%*��<=���21 WGk �&����)* ���)*<S�&%(�2��k<=��0(%*����%(<�%(<S�&%(<=��>5%(C���X�&)O���F��%(��)O0� "9%(C�� �E^c^xWQZ�������1 @[YJ^xWtZ�� ;2 ��0'%')���<=��%�%(�2�F�����&%(�20F�&)*�q<=�F���=<=�21 h9C��2�w YO��a � ��V^ �)��Ad`Y�VCVCT1dnY � ��V^ �W �(�2;�%(0A�&)O�!�X��0(0(�215��0 �X�&)O���F��%(��)O0B%( �Wo �%(C @ Y;^xWQZ�� � �OV�����1 �E^c^xWtZ�� � ��V �ab� wBY;� a � ��V@6J%(C�� ZJT1dCd`YO]3^��zg7X �7w YO��ag�&%'%')O<�W�N,%(� )*�\����<=]2�20 � ��VJYOd 0LYOd 23^xW@^?Y�<=� %(C�� � ��V;Y;dH0@YOd�)* �=����uBC��

�BabvtW@^?Y/ ��o��)O�&%(<= �^;2 ���X�&)*�20 ��q �rgiop]3^?YO��a %( {Z;T1d�dnY;]3^���g7X �+wBY;� aF����1D��0(0*<=> ��0 ��q �rgios]3^?Y;��a�%( {ZJTbd�d`YO]3^��zg X �7w YO��a<="�%(C�� ��q �rgios]B^?YO��a K ���=N��x<=0!>�)*�\�&%(��)J6I�2�=0(� Z;T1d�dnY;]3^���g7X �+wBY;� ag<=0f�=�2"S%fN���;*C�����> �21o�^uBC�<�0AWo�2C��\KG<� �)f<������=<=�20%(C��D"c �=�= th9<=��> �F G1��2� + ����KL�2�o;2 ��0'%')O��<=�6%9 �W�%*��<����21W6k��&����)* ���)*<��&%(�2�=ky<=��0'%*���6%(<��&%(<=��> %(C��f�X�&)O���F��%(��)O09 "$%(C���BabvtW@^?YxWo�2C��\KG<� �)O��� )* �=�!<=�%(C�� � ��V;Y;dH0@YOdx)* �=���`��<S�U� *X�SWR�U�Tm�l�X! J[=U=X� ��X! i<U�� ��3� Fi�U�� ��� i<U�� � g

& � 8�=g X X�k�UWV U�[TlU XUWVTn)& �& V RTS\S�UV<X��:&$*Wk<i<U��� g�� ��� ^��:&=[@V<X<U���� R<S,S,UWV<X���&�*�k,i<U�� �(�o

ab�q0(N��F�y�&)*k@6����F G1��2�o<=0B0*��<�1%( dnYPW@opg7qrYGW 2 G u <�"J%(C��!"c �=�= th9<=��> C� ��1�02�uBC����y 61��2��;2 ��0'%')*N�;�%(0I%(C��&%I�&)O� <=�6%(�2��1��21!%( 9)*�\���=<=]2� M,7A3 )* �=�20I1� )*�\���=<�]2��%(C���)* ���202�IuBC�<=0o�F�\����0J%(C��&%4b�r< %(C�� �F G1��2�L�2�=�2�y�2��%(0$0*�&%(<=0("Skf%(C�� �y��%*���F 61��2� + �=��KL�2��;2 ��0'%')O��<=�6%(0J "P%(C�� )* �=�L6 ����1j4 ?@<o%(C�� ;2 ��0'%')O��<=�6%(0���P��)*�20(0(�214<=�E%(C��^)O�\���=<=]2<=��>y�F 61��2� 4 ���`>P�76o��)*��+B����15�o 0'%b+ ;2 ��1�<�%(<� ��09"c �)� ��o��)O�&%(<� ��0;6o����15;2 ��0'%')O��<=�6%(0 ���&%'%')O<�W�N,%(�20C<�<=������k�%(C��9�y 61��2��+ �=��KL�2��;2 ��0'%')���<=��%(0 �W�%*��<=���21yW6k�<=��0'%*����%(<S�&%(<=��>f%(C��9�X�&)O���F��%(��)*0 " %(C��"c�\�&%(N,)*�f)* �=�20\�

uBC��E�F 61��2�9;2 ��"c �)*�F0�%( ;2 ��0(%')O��<=�6%(0����P��)*�20(0*�21 ��;�)* 0*0y)* ���20� �)V%(C��2<�)�)*�\���=<=]\�&%(<= ��0-4 ���`>P�769)O�\���=<=]\�|+%(<= �5��N��=%(<����=<=;2<=%(<=�20;6G)* �=�^��0(0* 6;2<��&%(<� �5�xN���%(<��X�=<=;2<�%(<=�20�<O� #})*��+ 1���T����21�;2 ��0(%')O��<=�6%(0���;�)* 0*09)* ���20A����1E)* �=�)*�\���=<�]\�&%(<= ��0�h9<=���XWo�!<=�6%')* G1�N�;2�21Vh9C��2�EN�0(�21q<=�%(C�<�0 �X�&�o��)\�

��������� � &�)I)������%� !�����@!�) � 0(%*�&W��=<=0(C�<=��>f%(C��&% wBY;��a1u \L]3gy^x\Ldx<=0��D)*�\����<=]\�&%(<= �V "$u \L]3gy^x\Ld^)*�;>6N�<�)*�20 ��)* \KP<=��>^%(C��&%/%(C��A;2 ��0'%')O��<=�6%(0

��0(0( G;2<��&%(�215h9<�%(Cfw YO��a1u�\L]}gi^x\LdF<=���X��ky%(C��^�F 61��2� + �=��KL�2�J;2 ��0'%')O��<=�6%(09 �W�%*��<����21qWGk<���0'%*���6%(<��&%(<=��> %(C��^�X�|+)O���F��%(��)O09 "I%(C��5u \@]}gy^x\@d "c�\�&%(N,)*�D)* �=�20;6,%(C��&%A<=0;6,%(C��!"c �=�= th9<=��>x��)* G "$ �W��=<=>L�&%(<= ��0 ��N�0(% W �!1�<=0(;*CX�&)*> �21o�� ���! O� �! %� �� �" ����# ��� �%$&" � ���('*),+ ���-�� ������� �

Z10/.N^��/0 4`Z101. � ^��3<2 � � �T�4365 ��3���7z�����8" �����9'�)�+ ���-�� ������� �

4 w YO��a:2 Y;]VO\Ld . aBdnY;: Y`_QZkosT}vQYOVt4'Vk< WL]BvUdnYPWtvCB . a3d`Y � � WL]Bvw YO��a:2 Y;]VO\Ld � w YO��a:2�YO]V;\Ld . a3d`Y�: gy]BZJopT}vLg=]bX�4'Vk<n<<04 w YO��a:2 Y;]VO\Ld . aBdnY;: Y`_QZkosT}vQYOVt4'Vk< WL]Bvw YO��a:2 Y;]VO\Ld � w YO��a:2�YO]V;\Ld . a3d`Y�: gy]BZJopT}vLg=]bX�4'Vk<n<

Page 19: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

, L ����������� ���������������������� �������������! "����

� �����T� 3 5 � 3 ��7z�����8" � ���('*),+ ���-�� ������� �4 w YO��a:2 Y;]VO\Ld . aBdnY;: g=]BZkosT}vQYOVt4'Vk< WL]BvUdnYPWtvCB . a3d`Y � � WL]Bvw YO��a:2 Y;]VO\Ld � w YO��a:2�YO]V;\Ld . a3d`Y�: Y`_0ZJopT}vLg=]bX�4'Vk<n<<04 w YO��a:2 Y;]VO\Ld . aBdnY;: g=]BZkosT}vQYOVt4'Vk< WL]Bvw YO��a:2 Y;]VO\Ld � w YO��a:2�YO]V;\Ld . a3d`Y�: Y`_0ZJopT}vLg=]bX�4'Vk<n<

���5O �b(A.b!�2,�� .%9QA( P ! .b, � Q T'! P QMS�!UT #������ P #��#})O��+$����1��o 0'%b+ ;2 ��1�<�%(<= ��%(�2���X���&%(�20 ���P��)*�20(0*�21y<=�y��MP7A3 ;2 ��0'%')���<=��%(C��B�OK �2;�%(0� " W �2CX�2KP<= �)*02� �A �%����=�

Wo�2C��2KP<= �)O������)* ��o��)(%(<=�20};\����Wo�B���P��)*�20(0(�21�<=��%(��)*�y0 " ��)*��+l����1F�o 0'%b+ ;2 ��1�<�%(<= ��0}<����^MP7�3 6G"S �)/���,���F���=�L6 ����;\������ �%�N�0*� ��)*��+o����1��o 0'%b+ ;2 ��1�<�%(<= � ;2 ��0'%')���<=��%$%(�2�����S�&%(�20l%( !;2 ��0'%')O��<=� C� th� �W �(�2;�%(0� "�)*�\���=<�]\�&%(<= ��0<=�6%(��)O��;�%9hAC��2�q�o��)*"c �)*�F<=��>��F�X�&)(%(<=;2N��S�&) W �2CX�2KP<= �)\�/a��q%(C�<=0B0(�2;�%(<= �5h��D1��20(;�)*<=W �D��% kG� �� "l79 �=�^35 G1��2�c6;\���=�=�21 ��� D�]3^?YOdnWtZk^igi\L] GS\@o7Y[u \JvQYJoM4:ab7A3e<B%(CX�&%f;\���4Wo�^N�0(�21E%( ;2 ��0(%')O��<=�4C� \h� �W �(�2;�%(0! "�)*�\���=<�]\�&%(<= ��0<=�6%(��)O��;�%Bh9C��2��;\�&)()(kP<=��> N,%A��)*�\���=<=]\�&%(<= �q "�� Wo�2C��\KG<� �)O��� )* �=���� ;2 �=���&Wo �)O�&%(<= �P+ 0(% kP�=�21 ab7A3 "S �)F%(C���0(<=���X�=<�T��21gU�W�0(��)(KL��)y�X�&%'%(��)*��<�0�0(C� \hA��<=� ml<=>P�/?6�`_4 �t<O� uBC��

ab7A3 1��20(;�)*<=W �20D�q�X�&%'%(��)*� "�<=�6%(��)O��;�%(<= � <=� h9C�<�;*C %(C��-4:)*�\���=<=]\�&%(<= � " %(C��k<AF{\t^ig w<B5Wo�2C��\KG<� �)^<=�6KL ��KL�20<=�6KL �{G<���>�%(C�� �3a1vtW@^?Y9Wo�2C��2KP<= �)}<=� �\��;*C� "X<=%(0� �W�0(��)(KL��)*0\�l�fN,)O<=��>A%(C�� ���P�2;2N�%(<= �F "�%(C�� �3abvQW@^?YAWo�2C��2KP<= �)J6���� �W�0*��)(KL��)^<=�6KL �{L�20D%(C�� � YJ^ 23^xW@^?Y�Wo�2C��\KG<= �)D " %(C��F0*N,W �(�2;�%2� u9C��xK��&)*<S�&W��=�DV�^�)*����)O�20(�2��%(0D%(C���0(N,W �(�2;�%0'%*�&%(�^%(C��&%9<=0�)*��%(N�)*���21���0A��)*�20(N���% "$%(C�� � YJ^ 23^xW@^?Y�Wo�2C��2KP<= �)\�

*

(a) An IRM for a simplified Observer Pattern

*

1.1: NotifyTemp()

/s:Kiln

(b) A Collaboration Diagram that realizes the IRM

:TempObserver

1.1.1.2 : st := GetKilnTemp()

1.1.1 * : Update(s)

n.p * : /Update(s)

n.p.q : st := /GetState()

n: /Notify()

:[[Observer]]/s:[[Subject]]

1.1.1.1 : LogUpdateRecd(s)

��� �����' � �� �� 6U2 #�!<(-%��?��. = ����� = � �10 ���?./�)( � �)(-�?��%%'�)(�

uBC��D)*�2;�%*����> N����&)�Wo 2�,�20A<��Eml<=>P� ?6�`_4 �t<��&)*�mZP\@oyo WQ�`\LdnW@^igc\L] d \to YU^?YO��aBo W@^?Y�V��A��;2 �=���&Wo �)O�&%(<� ��)* �=�D%(�2� +�����&%(�51���%(��)*�F<����20�� 0(��%V "!ef35H ;2�S��0(0(<�T���)y)* �=�20 4 ��ef3EH�;2����0*0(<�T���)F)O �=�E<=0�����)O �'�2;�%(<= � "D� ef35H;2����0(0�<O� a���0(%*����%(<��&%(<���>E%(C���� �&)O���F��%(��)*0 "A�4;2 �=�S�&W �)��&%(<= � )O �=�y%(�2�F�����&%(�V)*�20(N��=%(0�<=�g�4e�35Hi;2����0*0(<�T���))* �=�D4 < �`���76 %(C���)*�\���=<=]\�&%(<= ��0A "}��;2 �=���&Wo �)O�&%(<= �5)* �=�^%(�2�������&%(� �&)*�xe�35Hg;2����0(0(<=T���)9)* ���20C<O�AuBC���;2����0*0(<�T���))* �=�20� �W�%*��<=���21 WGk�<=��0(%*����%(<��&%(<���>f;2 �=���&Wo �)O�&%(<= �x)* �=�/%(�2���X���&%(�20 �&)*����)O �'�2;�%(<= ��0� "�%(C��/)*�\����<=]\�&%(<= ��0� "X%(C��MP7�3 )* �=�20f<=��1�<=;\�&%(�21 <=�5%(C��x%(�2�������&%(�202�xm� �)D�����������=�L6oWGk50(N�W�0'%(<�%(N,%(<���>)�5"c �)[VF����1 �5giop] "c �) 2}T3���JY`ZJ^<=�-I878sV;:7:$�B878 2}T3���JY`ZJ^':7:8h��D> ��%B%(C��De�35H ;2�S��0(0(<�T���) )O �=� I �V���5giop]40(C� \h9��<��qm$<�>P� ?6�`_4:W <O�ab�F����a�7�3 6 F���H^�&)*� ���S��;2�21F<=��"S)* ��%} "X%(C�� Wo�2C��\KG<� �)O���,"S�\�&%(N�)*� )* �=� �X���F�20 4 ���`>P�76)I$F{\@^ig w<B1<$%( D<���1�<=;\�&%(�

%(C���k �&)O���jY�VCVOWJXbY dn\@o YOVy%( W �E)*�\���=<=]2�21�W6k ��;�%(N����f�F�20(0*��> �20e4 0'�o�2;2<�T�;\�&%(<� ��0y "D0(%(<=��N��=<=< <=� ����ab7A3)*�\���=<�]\�&%(<= �o�la��y%(C�<=0 �X�&�o��) h��9)*�20(%')*<=;�% N,) �&%'%(�2�6%(<= �V%( ��F�20*0*��> �9)O�\���=<=]\�&%(<= ��0 %(C��&% �&)*�90'�o�2;2<�TX;\�&%(<= ��0 "

Page 20: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� ��� ��������� , P

��o��)O�&%(<= �F;\�����=0;6�hAC���)*��%(C��B ��o��)O�&%(<� ��0 �&)*�9)*�\���=<=]\�&%(<= ��0} " %(C�� Wo�2C��2KP<= �)O����"S�\�&%(N,)O� )* �=�20 %(C��&% �&)*�B�X���F�21<=�%(C��^�F�20(0*��> �!)O �=�202�uBC��x0(�;>GN��2��;2� ���&Wo�2�=0A<=� ���5ab7A3 �&)*� > �2����)*<=;L6o"c �)D���,���F���=�L6 %(C�� ���G��)*�20(0(<= ��]g��I$F{\t^ig w<BB4?<�<=��1�<=;\�&%(�20

%(C��&%x%(C��/F5\@^ig w�B 0'%(<���N���N�0D<=� ��)*�\���=<=]\�&%(<� � <=0^%(C�� ] %(C <=��%(��)���;�%(<= � <�� %(C��y0*�;>6N��2��;2�L6$hAC���)*���E0'�o�2;2<�T�;K ���=N��q"c �)-] ��N�0'%�Wo�q> <�KL�2��<=��� )*�\���=<=]\�&%(<= �8� MP<=�y<=���&)*��k@6�%(C������G��)*�20(0(<= �"]%q aOq���� V�^�� � I � Y;^ 2B^xW@^?Y04?<<=��1�<=;\�&%(�20x%(C��&%y� �F�20(0*��> ��)*�\���=<=]\�&%(<= �g " � Y;^ 23^xWt^?YE<�0�%(C����&%(C ���20'%(�21 <=�6%(��)O��;�%(<= �� "9%(C��maX%(C ���20'%(�21<=�6%(��)O��;�%(<= � "8%(C��{] %(C N,%(��)*�F 0'% <=�6%(��)O��;�%(<= �8���A �%(�f%(C��&%/%(C���ab7A3 ���=�� \h90� �%(C���) <=�6%(��)O��;�%(<= ��0/%( G;2;2N,)Wo��% h��2�2�4%(C�� I �BabvtW@^?Y�����1E%(C�� I � YJ^ 23^xW@^?YF<=��%(��)���;�%(<= ��0f��0�<���1�<=;\�&%(�21qWGkq%(C��x0(�;>GN��2��;2�^���P��)*�20*0(<= ��02� ab�%(C���)*�\���=<=]\�&%(<� �5 "�%(C��^ab7A3 0*C� \h9�4<=�5m$<�>P�o?6�`_4:W <C6�] � �Wq��@6�a�� ������1�� ��?6� �A �%(�x%(C��&%�%(C���)*�x<=0f���<=�6%(��)O��;�%(<= ��4 IM\`X �3abvQW@^?Y�G YPZPv}<A%(C��&%A 6;2;2N,)O0 Wo�2"S �)*�f%(C�� � Y;^��5gios]CwBY;� a�<=�6%(��)O��;�%(<= ��%(C��&%9<=0B�� �%B0(C� \hA��<=�%(C���ab7A3 4 < �`���76�<�%/<�0/�� �%/� �&)(% "8%(C���Wo�2C��2KP<= �) ;*CX�&)O��;�%(��)*<=]2�21qWGky%(C��A� �&%'%(��)*�B<O�}ab�V%(C�<=0/a�7�3 )*�\���=<�]\�&%(<= ��6%(C��A)*�2;2�2<���%� " %(C�� �3a1vtW@^?Y^0'%(<=�xN��=N�0 <=0 �= > > �21Wo�2"c �)*�B%(C��A �W�0*��)(KL��) �W�%*��<=��0 %(C���0'%*�&%(�f "o%(C��B{P<=�=�8�Iab7A350;\���5����0( Wo�!1,)O�2hA�qN�0(<=��>���0*�;>6N��2��;2�D1�<���>�)O����0'% kP�=�D��0BhA<=�=� Wo��0*C� \h9�E<=�q0(�2;�%(<= �5_P�

O)� ��P P !M.1,YX QMS�!UT��N%'!��� 35��%*��79 �=�!35 61��2�X1���%(��)O�F<=���20��^0(� �2;2<S���=<=]\�&%(<= �� "o%(C���e�35H��F��%*���F G1��2� <=��%(C��A0*�2��0(�A%(C��&% )O�\���=<=]\�|+

%(<= ��0$ "�%(C��/35��%*��79 �=� 35 61��2�P�&)O�/�Ah��2�=� + 1���T����21^0(N,WX0(��%I "��y��%*���F 61��2�G<���0'%*���6%(<��&%(<= ��02�$79 �=�20l1���%(��)O�F<=���0'�o�2;2<����=<�]\�&%(<= ��0 "$e�35H �y��%*���F 61��2�8;2����0(0(�20J6X��0B<=�=��N�0'%')O�&%(�21<=�qml<=>P�8� �@?6�

Association

Class

association *

1

connection

participant

2..* 1AssociationEndAssociationEnd

/AssocEndMonitor<<AssociationEnd Role>>

<<Class Role>>/Monitor

<<Class Role>>/Subject

1

1

1

11

<<determines>>

(a) (b)

<<determines>>

connection

<<determines>>

1

1

1

1

Subject

AssocEndSubject 1..*1..*

1..*1..*

1

1 1

Monitors

Monitor

<<Association Role>>/Monitors

/AssocEndSubject<<AssociationEnd Role>>

AssocEndMonitor

��������� �� �� �"2 � 23�9% ����!40��9� ��= � �A!�# %��?��. = ������= � �10 ���C./�)( �<�)(-�C�&%%'�)(� �46U2

ml<=>P�J?6�Zj14 �t<f0(C� th90�%(C�� �F��%*���F G1��2������1 ml<=>P�J?6�Zj14:W <�0(C� th90D��� �&W�W�)*��KP<��&%(�21�MP7A3 "S �)f%(C�� 0(<������=<�TX�21U�W�0*��)(KL��) �X�&%'%(��)*�g0(C� th9�g<=� ml<=>P� ?6�@?6� � ����0(0(�20x%(C��&%�;\��� �����\k�%(C��32}T3���JY`Zk^D)* �=��&)*�V<=��0'%*����;2�20x "9%(C���F��%*���F G1��2�)�/o WLVPV40(� �2;2<S���=<=]\�&%(<= ��;\�����=�21 2}T3���JY`Zk^�6 ����1�;2����0(0*�20y%(C��&%V;\�����X���2kg%(C�� � ��V;Y;dH0@YOd )* �=�4�&)*�<=��0(%*����;2�20D " %(C����F��%*���F G1��2� �/o W�VPVV0'�o�2;2<����=<=]\�&%(<= � ;\���=���21 � ��V;Y;dH0@YOdG�yMP<=�F<=�S�&)*��k@6 %(C��F��0(0( G;2<��&%(<= ��0f%(C��&%;\�����X���2k %(C�� � ��VJYOd 0LYOV�)* �=���&)*��<���0'%*����;2�20F "f� 0'�o�2;2<�����<=]\�&%(<= � "A%(C�� ��VPVO\kZ;gcW@^igi\@]i�F��%*��;2����0(0�;\���=�=�21� ��VJYOd 0LYOV��ml<=>P�P?6�Zj�> <�KL�20 %(C��9�y��%*���F 61��2��;2 �)()*�20(� ��1�<=��>f%( ^%(C��9":��;�%( �)(kF�X�&)*% " %(C��B��m M,7A3 �G������0(0*�20}%(C��&%�;\���

�����\k^%(C�� ��\@]BZ;d`Y;^?Y �MWtZk^x\Ld�BA)* �=� �&)*�B<���0'%*����;2�20� "X%(C�� �F��%*���F G1��2� �/o W�VPV�0'�o�2;2<����=<�]\�&%(<= � ��\L]BZ;d`Y;^?Y �MWtZk^x\Ld<B�6����1 ;2����0*0(�20f%(C��&%D;\��� ���S�2kE%(C�� �{��V�^idnWtZk^ �MWtZk^x\Ld�By)* �=���&)*��<=��0(%*����;2�20! "}%(C����y��%*���F 61��2� �/o W�VCVCg h)YOd!0'�o��+;2<����=<�]\�&%(<= � �z�OV�^idnWtZJ^ � WtZJ^x\Ld<B��9MP<=�F<=�S�&)*��k@6�%(C��D> �2����)O���=<�]\�&%(<= ��0 %(C��&%�;\�������S�2kV%(C�� �MWQZJ^x\Ld<B � YO] Y;d W@opgIqJW@^igc\L])* �=���&)*�D<=��0(%*����;2�20B "���0'�o�2;2<����=<�]\�&%(<= �q "$%(C�� � YO]�YOdnW@osgIqJWt^igi\L]q�F��%*��;2�S��0(0A;\�����=�21 �MWtZk^x\Ld<B � Y;] YOdnW@opg7qkW@^igc\L]}6����1 %(C�� ? d`Y`WtosgIqkY @ )*�2���&%(<� ��0(C�<��X0�%(CX�&%y;\�������S�2kg%(C�� �MWQZJ^x\Ld<B�G Y`W@opgIqJW@^igc\L]�)* ���E�&)*��<=��0'%*����;2�20F "!�

Page 21: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

, T ����������� ���������������������� �������������! "����

AbstractFactInterface

AbstractFactory

FactoryGeneralizationAbst

Abstraction

Relationship

Dependency Generalization

FactoryGeneralizationConc

Classifier

AbstractFactType

supplier

Interface

supplierDependency

FactoryRealizationType

supplier

supplierDependency

Class

1 parent child

ConcreteFactory

generallization *specialization *

1parent

client

FactoryGeneralization

FactoryRealizationclientDependency

FactoryRealizationInterface

*

1 1

*

*

1child

1

1

specialization* *

generallization

��������� �� ��� "2 � 23�9% ����!40��9� ��= � �A!�# %����U#:��;5%'!<(�� �C��(/%8!�#�� �?. %'('�<;5%��C�<;5%'!�(�� �46U2

0'�o�2;2<����=<�]\�&%(<= �E "l%(C�� �z�OV�^idnWtZJ^igc\L]q�F��%*��;2����0(0!;\�����=�21 � WtZJ^x\Ld<B�G Y`WtosgIqJW@^igc\L]��^a���0(%*����;2�20f "�%(C�<=0A0'�o�2;2<����=<=]2�21�F��%*���F G1��2�J�&)O�!)*�\���=<=]\�&%(<� ��0B "I%(C��D��m�MP7A3 �

�S� � !$,YTn%�&�,/.%9QA(� �F G1��2�}<=0D0O��<=1�%( d`Y`WtosgIqkY-W-27G u <�" %(C���"S ���= \h9<���>C� �=1�02�D4b�r<�MP�2���2;�%(�21 �F G1��2�};2 ��0(%')*N�;�%(0D)O�\���=<=]2�

%(C��V)* �=�2094 < �`���76 %(C���F 61��2� ;2 ��0(%')*N�;�%(0�0*�&%(<=0*"�k�%(C����F��%*���y 61��2��+ �=��KL�2� ;2 ��0'%')O��<���%(0 "B%(C���)O �=�L6 ����1 %(C��;2 ��0'%')���<=��%(0y���G��)O�20(0(�21 <=�g%(C��)O�\���=<=]2<=��>4�F G1��2�/+^���`>P�76/��)*��+�����1g�o 0'%b+ ;2 ��1�<�%(<= ��0 "c �)y ��o��)O�&%(<= ��0;6�����1;2 ��0'%')���<=��%(0� ��&%'%')*<�W�N�%(�20}+l<=������kx%(C����F G1��2� + �=��KL�2�X;2 ��0'%')O��<=�6%(0� �W�%*��<=���21yW6k�<=��0'%*���6%(<��&%(<=��>D%(C��9� �&)O���F��+%(��)*0B "J%(C��!"c�\�&%(N,)*��)* �=�20C<C6�����1 4 ?@< %(C��!�F G1��2� ;2 ��"S �)O�F0�%( �;2 ��0'%')O��<���%(0 ���P��)*�20(0*�21���;�)* 0(0 )* ���20 �) %(C��2<�))*�\���=<�]\�&%(<= ��0z4 ���`>P�76X)*�\���=<=]\�&%(<= �E��N��=%(<����=<=;2<=%(<=�20;6L)* ���D��0(0( G;2<��&%(<= ���xN���%(<��X�=<=;2<�%(<=�20�<O�wf<�KL�2� ��� MP7�3 68��)*�\���=<�]\�&%(<= � ;\��� W ����)* G1�N�;2�21 "S)* � <�%�W6k~4b�r<�;�)*�\�&%(<=��><=��0(%*����;2�20f "}%(C��xWX��0(� "c �)

�\��;*Cg)O �=�L6 4 ?@<�0(N,W�0'%(<=%(N,%(<=��>q�����y�20x"c �) %(C���)* �=�V�����F�20m4 <=��;2�=N�1�<=��>Wo�2C��2KP<= �)O��������1 0'%')*N�;�%(N�)O��� )O �=�20C<C64 Yt<�0(N,W�0(%(<�%(N,%(<=��>�K����=N��20V"c �)%(�2�������&%(�4�X�&)����F��%(��)*0e4 ���`>P�76f%(C� 0(� "S N���1 <���%(C��4;2 ��0'%')���<=��%V%(�2�����S�&%(�20C<%(C��&%/0*�&%(<=0("Sk %(C�� �X�&)O���y��%(��)/;2 ��0(%')O��<=�6%(0;6G����1 4 _Q<l��)O \KP<=1�<=��>!�xN���%(<=���=<=;2<�%(<��20J%(C��&%/;2 ��"c �)*� %( ���N��=%(<����=<=;2<=% k;2 ��0'%')���<=��%(0A���G��)*�20(0(�21q<=�%(C���MP7A3 ���� ���,�����X�=� "x��MP7�3 )* ��������1i� )*�\���=<=]\�&%(<� � "�%(C�� )* ��� �&)O� > <�KL�2�i<=� ml<=>P�A?6���t4:W <O�z7A�\���=<=]\�|+

%(<= ��0q "�%(C���u�\L]}gi^x\Ldg)* �=� �&)*���&W�0'%')���;�%E;2����0(0(�20�4 ��0�<=��1�<�;\�&%(�21 W6k %(C�� �F��%*���F G1��2� + �=��KL�2�^;2 ��0'%')O��<=�6%V;YJo wOq7g V �z��VO^id WQZJ^ � ^idCT3YL<O� uBC��!)O�\���=<=]\�&%(<= ���xN���%(<=���=<=;2<�%.k� "$%(C�� u \L]}gi^x\Ld�)* ���D<=��1�<�;\�&%(�20 %(C��&%9%(C���)*�D�xN�0'%Wo�y ���� �)��F �)*�F)O�\���=<=]\�&%(<= ��0x "�%(C�� u \L]3gy^x\LdE)* �=�y<�� �4�q)*�\���=<�]\�&%(<= � "�%(C��MP7�3 %(C��&% <=��;2�=N�1��20!%(C��)* �=���uBC��F)*�\���=<=]2<=��>V;2�S��0(0(�20x��N�0(%^C��2KL�� ���F)O�\���=<=]\�&%(<= ���\��;OC " "/%(C�� ��Tbd�d`YO]3^ p}WtosT3Yq����1 w �Qd`Y�V �1\@o v

Page 22: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� ��� ��������� , W

4 ��0 <=��1�<�;\�&%(�21 WGk %(C��V��N��=%(<����=<=;2<=%(<=�209F2� �����JHQ<C6�����1 ����)*�\���=<�]\�&%(<= � �\��;OC " %(C���Wo�2C��2KP<= �)*0 �E^c^xWtZ�� ����1@ Y;^xWtZ�� �Fu9C��F�&W�0'%')O��;�%�;2����0(0 w YO��a1u�\L]}gi^x\Ldq0(C� \hA� <=� ml<=>P�I?6���t4:W <!<�0D�V)*�\���=<=]\�&%(<= � "Au�\L]}gi^x\LdqN���1���)%(C��D"c �=�= th9<=��>x)* ���f)*�\���=<=]\�&%(<= �q���&����<=��>P�

Z10y)*�\���=<=]2�20 ��T1d�dnY;]3^ p}W@opT3Y^��q)*�\���=<=]2�20*w �QdnYOV �b\to v2 Y;]VO\Ld �E^c^xWtZ��q)*�\���=<=]2�20 ��^c^xWtZ��2 Y;]VO\Ld&@ Y;^xWtZ��q)*�\���=<=]2�20 @ YJ^xWtZ��uBC��!;2�S��0(0 w YO��a:2 Y;]VO\Ld )*�\����<=]2�20 +So7YO�jY;]3^

� � � Q T'!��"!�( !$2},YTn%�&�,/.%9QA(�� ���z! �M%',YTn%�&�,/.}%9Q)(79 ���20 h9<�%(C � ;2 �F�F ��0*��%F "9;*CX�&)O��;�%(��)*<=0'%(<�;20F;\��� Wo�> �2����)O���=<=]2�21gWGk �4)O �=�L6 ;\���=�=�21��~dn\@o7YmX0YO]�YOd��

W@opg7qkW@^igc\L] 4 �) 0(<=�����=k > �2����)O���=<=]\�&%(<= � h9C��2� %(C��V;2 ��%(���P%F<=0^;2���\�&)�<C6�%(C��&% ;2 ��0(<=0'%(0 ���=k "B%(C���;2 �y�F �;*CX�&)O��;�%(��)*<=0'%(<�;202��uBC�� )* �=�20$%(C��&%}�&)*�/> �2����)O���=<=]2�21��&)*��;\���=���21Ddn\@o7Y V?a1YPZ;gcW@osgIqJWt^igi\L]}VA4 �)}0'�o�2;2<�����<=]\�&%(<= ��0Jh9C��2�%(C���;2 �6%(���G% <�0$;2���\�&)�<O����)* �=�/0'�o�2;2<����=<�]\�&%(<= � <=��C���)*<=%(08%(C�� ��0(0( G;2<��&%(<= ��0;6 %(C����F��%*���F G1��2� + �=��KL�2�,;2 ��0'%')O��<=�6%(0����1 %(C��F"c�\�&%(N,)*�F)O �=�20D1���T����21�<=� %(C��y> �2����)O���=<=]\�&%(<� �o�qw!�2����)O���=<=]\�&%(<� ��0^;\��� W �yN�0(�21 %( E)*�20'%')*N�;�%(N�)*�y�MP7�3QWGk���G���� <�%(<=��>�;2 �F�y ������%(<=�209��;�)O 0(09)O �=�202��R��xN�0(�f%(C��^e�35H > �2����)O���=<=]\�&%(<= �50'kP�^Wo � %( y<���1�<=;\�&%(���> �2����)����=<=]\�&%(<= � �&0(� �2;2<S���=<=]\�&%(<= �)*�2�S�&%(<= ��0(C�<=��Wo��% h��2�2��)O �=�202�� )* �=��0'�o�2;2<����=<=]\�&%(<� ��;*C��&)���;�%(��)*<=]2�20F��0*N,W�0(��%x "�%(C��y)O�\���=<=]\�&%(<= ��0�;*C��&)���;�%(��)*<=]2�21 W6k�<=%(0^�X�&)O�2��%�)* �=�

4 ;2N,)()O�2��%(��k@6 �F0'�o�2;2<�����<=]\�&%(<= �)* �=�^<=0B)*�20(%')*<=;�%(�21�%( �C��2KP<=��>y ����k ���D�X�&)O�2��%A)* �=�k<O��uBC�<=0B<�09��;2;2 �����=<�0(C��21WGkV"cN,)(%(C���) )O�20'%')*<=;�%(<=��> %(C��f��)* ��o��)(%(<=�20 <���C���)*<�%(�21"S)* � %(C��D�X�&)*�2�6% )* �=�!<=�%(C��^"S �=�� \h9<=��>�h �2kP02�

m�N,)*%(C���)B)*�20'%')O<=;�%(<=��>x%(C��D�xN���%(<=���=<=;2<�%(<��20 "l<=��C���)O<�%(�21q��0(0( G;2<��&%(<= ��0 Wo��%.h/�2�2�E)* �=�202�

m�N,)*%(C���)B)*�20'%')O<=;�%(<=��>x)*�\���=<�]\�&%(<= ���xN���%(<�����<=;2<�%(<=�20 "I� �&)*�2��% )O �=�20B �)A "I%(C��2<�)A"S�\�&%(N,)O�f)* �=�202�

��1�1�<=��>x�F��%*���F G1��2� + ����KL�2�J;2 ��0'%')���<=��%(0B%(C��&%9"cN,)(%(C���)B;2 ��0(%')O��<=�q%(C��!"c �)*�z "$)*�\����<=]\�&%(<= ��02�

35 61�<�"�kP<=��>�<=��C���)*<=%(�214"c�\�&%(N,)*� )O �=�20!0( %(C��&%!%(C���k ;*CX�&)O��;�%(��)*<=]2�V�0(N,W�0(��%! " %(C��F�&������<=;\�&%(<= �P+ 0'�o�2;2<�TX;��)* ��o��)(%(<��20/;OC��&)O��;�%(��)*<�]2�21EWGk�%(C��D<=��C���)O<�%(�21"S�\�&%(N,)O�!)* �=�202�

��1�1�<=��>x����h "c�\�&%(N,)*�D)* �=�202�

� �X�&)(%(<����lMP7A3R"c �)����4�9WX0'%')O��;�%AmX��;�%( �)(kE�X�&%'%(��)O��%(C��&%�N,%(<=�=<=]2�209> �2����)O���=<=]\�&%(<� �E<=0A0(C� \hA�E<=��ml<=>P�o?6�@n4:%(C�<=0�MP7A3R0(C� th909 ����kV0* �F�D "l%(C��!��)* ��o��)(%(<=�20B��0(0( G;2<��&%(�215h9<�%(C�":��;�%( �)(kq)*�\����<=]\�&%(<= ��0����y�F �)*�D1���%*��<=�=�21MP7�3Q"c �)B%(C��D�AW�0'%')���;�%9m���;�%( �)(k�#��&%'%(��)*�4<=0 > <�KL�2��<��EMP�2;�%(<= �E_Q<O�ab� %(C�� M,7A3�6B%(C�� � WtZJ^x\@d�B )* ��� 4:%(C�� > �2����)O���=<=]\�&%(<= � <q;\�&��%(N,)O�20���)* ��o��)(%(<��20q%(C��&%4�&)O� ;2 �F�F � %(

�z�OV�^idnWtZJ^ � WtZJ^x\Ld<B ����1 ��\L] Z;d`Y;^?Y � WtZJ^x\@d�B )* ���20 4:%(C���0'�o�2;2<�����<=]\�&%(<= ��0C<O� ��0qh9<=���AWo� 1��20(;�)O<�Wo�21 <=� MP�2;�+%(<= � _16 )*�\���=<=]\�&%(<� ��0y " �{��V�^idnWtZk^ �MWtZk^x\Ld�B ;\����Wo�E<���%(��)*":��;2�20V �)�&W�0(%')O��;�%V;2�S��0(0(�20;69����1 )*�\���=<�]\�&%(<= ��0y "��\L]BZJdnYJ^?Y � WtZJ^x\Ld<B �&)*��;2 ��;�)*��%(�V;2����0(0(�20\�VuBC��F0'�o�2;2<����=<=]\�&%(<� ��0!<=��C���)O<�%!%(C��y��0(0* 6;2<��&%(<� ��0 �bWLVC�nZ��Qgio v@6 �1W�VC�abWLd`YO]B^i6�g V��?V�TraQaBosgxYOd�6�����1 g V�� ZkosgxYO]3^i6,��0/h/�2���X��0/%(C��9�y��%*���F 61��2� + �=��KL�2� ;2 ��0'%')O��<���%(0�����1V"S�\�&%(N,)O�9)* ���20 <=�y%(C��> �2����)O����<=]\�&%(<= � � WtZJ^x\Ld<B���uBC���;2 ��0'%')O��<=�6% s� �YG u Wo��% h��2�2� � WtZJ^x\@d�B � YO]�YOdnW@osgIqJWt^igi\L]q����1 � WtZJ^x\Ld<B�G Y`WtosgIqJW@^igc\L]<=��1�<=;\�&%(�20f%(C��&%!%(C���)*��;\������ �%!Wo� �V)O�\���=<=]\�&%(<= � " Wo �%(C %(C��20(� )* �=�20fWo��%.h/�2�2� ����k4% h� �MWQZJ^x\Ld<B5)O�\���=<=]\�|+%(<= ��0\�BuBC�<=0B<�0A���4���,�����X�=�^ "}�-4:��)*��+ 1���T����21B<�;2 ��0'%')���<=��%!��;�)* 0(0A)* �=�20\�BuBC�� � WtZJ^x\@d�B�> �2����)����=<=]\�&%(<= �4<=00(<=�F����kV���E �)*>L����<=]\�&%(<= �X���J�2�6%(<�% kE����1E<=0B�� �%9�y�\����%A%( �Wo�!1�<�)*�2;�%(��kV)*�\���=<�]2�21�6,%(C��&%A<�0;6����=�o)*�\����<=]\�&%(<= ��0B "�MWQZJ^x\Ld<B �&)*�V�2<�%(C���)x)*�\���=<=]\�&%(<� ��0^ " �{��V�^idnWtZk^ �MWtZk^x\Ld�B �) ��\@]BZ;d`Y;^?Y �MWtZk^x\Ld�BX� MPN�;*C ��)O �=�y<=0�0*��<=1 %( EWo�WQ�OV�^idnWtZJ^:�

Page 23: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

, \ ����������� ���������������������� �������������! "����

{XOR}<<Generalization Role>>/FactoryGeneralization

1 1

/Factory

...

<<Abstraction Role>>/FactoryRealization

/AbstractFactory

...

... ...

<<Metamodel−level Constraints>>

<<Behavioral Role>>

/ConcreteFactory

...<<Metamodel−level Constraints>>

<<Behavioral Role>>

* *

has−parenthas−child

<<Classifier Role>>

{realizable = false}

is−client

is−supplier

<<Classifier Role>>

*

*

1..* 1

1

<<Class Role>>

��������� � ��& ��� ����������� �"!�#�68!�� � ��� �);5= ����=�1��%= !<�

2 +O� ��� �T� � ��� �� ���A� �&W�0'%')���;�%�)O �=� <=0A ����hAC� 0(�x)*�\���=<=]\�&%(<� ��0��&)O� �����I)O�\���=<=]\�&%(<= ��0f "} ���x �)�F �)*�! "l<�%(0B0'�o�2;2<�����<=]\�&%(<= �V)* �=�202�

� ��;OC�)* ���V<�0y��0(0( G;2<��&%(�21 h9<=%(C�� %*��> > �21�K ���=N��%(C��&%�<=��1�<=;\�&%(�20 hAC���%(C���)F<�%F<=0F�&WX0'%')O��;�%y �)y�� �%2��%(C��<=��;2��N�0(<= �5 "�%(C��x%*��> > �21 K ���=N�� s dnYPW@opg7qkWQ�;o7Y �"w;W@osV;Y u <=�4%(C���%( ���;2 ���X�&)(%(�F�2�6%D " ��)* ����<=��1�<=;\�&%(�20A%(C��&%%(C���)* �=��<=0A�&W�0(%')O��;�%AhAC�<=�=�!%(C��D��)*�20*�2��;2�� "l%(C��^%*��> s d`Y`W@opg7qkWQ�;o7Y � ^idCT3Y u <���1�<=;\�&%(�20A%(C��&%�%(C��D)* ���^<=0��� �%�&W�0'%')���;�%2� ab�%(C�<=0 �X�&�o��)J6P%(C�� s dnYPW@osgIqJW0�;o7Y � ^id�T}Y u %*��>�<=0 �F<�%'%(�21E<="J%(C��f)* �=�!<=0B�� �%9�&W�0'%')O��;�%2��)� P ! .b, � Q T'! PRQMS�!"T � !/( !$2,YTn%�&�,/.}%9Q)( �c���{! �M%',YTn%�&�,/.}%9Q)(wf<�KL�2�5��3E��%*��7A �=��35 61��2�c6� ���!;\���E�� 6 0(�2�%(C��!;2 ��0'%')O��<=�6%(0B%( �<���;2�=N�1����F �)*�^�F 61��2�=0 ��0B)*�\���=<�]\�&%(<= ��0

4 35��%*��79 �=�^35 G1��2� > �2����)O���=<=]\�&%(<� �B< �) %(<=> C�%(�2�%(C��!;2 ��0'%')O��<=�6%(0�%( ���P;2��N�1��f0( �F�f�F G1��2�=0 ��0�)*�\���=<�]\�&%(<= ��04 35��%*��79 �=�B35 61��2�60'�o�2;2<�����<=]\�&%(<= �B<O�Ia.%l�y�2k^W � �o 0(0(<�W����}<=�^0* �F��;\��0(� %( f0'�o�2;2<�����<=]2� ��3E��%*��7A �=� 3E G1��2�6%( %(C����o <=�6%8%(C��&%JK��&)*<S�&%(<= ��08<=�D%(C�� 1��20*<=> ��0o;\����W �����P��)*�20*0(�21���0J�X�&)O���F��%(��)*0\�$uBC���)*�20(N��=%(<=��>/�X�&)O���F��%(��)O<=]2�2135��%*��79 �=� 3E G1��2�=0q� �2KL��%(C�� h��\ki"S �)5��N�%( �y�&%(�21 > �2����)O�&%(<= �i " <=��<=%(<����f1��20(<=> ��0q"S)* � � �&%'%(��)*��02���> �2����)O����<=]\�&%(<= � �&0'�o�2;2<�����<=]\�&%(<= � C�<=��)O�&)O;*C6k� "X35��%*��79 ���B3E G1��2�=0�"c �) �A�X�&%'%(��)*�F;\��� Wo�/Wo�2����T�;2<����G<=�x%(C��&%}<�%��)* tKG<�1��2081���KL�2�= ��o��)*08h9<�%(CD� �F�\����0J"c �)J���2KP<=>L�&%(<=��> %( 9�B35��%*��79 �=��35 61��2�L%(C��&%J;*CX�&)O��;�%(��)*<=]2�20I%(C��}0(�����=�=�20'%0(N,WX0(��%� "�)*�\����<=]\�&%(<= ��0$%(C��&% CX�2KL��%(C�� 1��20*<�)*�21x��)* ��o��)(%(<=�20\�I� 3E��%*��7A �=�935 61��2�,<�0l�f0(� �2;2<S���=<=]\�&%(<= �94 ;*C�<=�=1B< "A���� �%(C���) 4:�X�&)*�2�6%C< 3E��%*��7A �=��35 61��2��<="9<�%x"cN,)(%(C���)�)*�20(%')*<=;�%(0 %(C�����)* ��o��)(%(<=�20 0'�o�2;2<�TX�21 <=� %(C��V�X�&)*�2�6%35��%*��79 �=�x3E G1��2� �}�[79 ���D3E G1��2�80'�o�2;2<�����<=]\�&%(<= �;*C��&)���;�%(��)*<=]2�20f��0(N,W�0*��%B "I<�%(0B�X�&)*�2�6%;l`0B)*�\���=<�]\�&%(<= ��02�ab��%(C�<=0 �X�&�o��)}h/�A"S G;2N�0} ����k� �VMP7�3 0(� �2;2<S���=<=]\�&%(<= �o�}UfN,) h/ �)({� ��a�7�3 0'�o�2;2<����=<=]\�&%(<= ������1F<�%(0 )*�2���|+

%(<= ��0*C�<��q%( VM,7A3R0'�o�2;2<����=<=]\�&%(<� �q<=090'%(<��=�o<=�q%(C��^�\�&)*��kq1���KL�2�= ����y�2��%�0'%*��> �202� � MP7A3R;\���EW �^0'�o�2;2<����=<=]2�21WGk~4b�r<�0'�o�2;2<�����<=]2<=��>qMP7A3 )* �=�20G4 0(�2�VMP�2;�%(<= ��YG��� �`_Q<C6A4 ?@<f"SN�)(%(C���)!)*�20'%')O<=;�%(<=��>�%(C����xN���%(<�����<=;2<�%(<=�20A � )* �=���0(0( G;2<��&%(<= ��0;6�4 Yt< )*�21�N�;2<=��>D%(C��f�GN��^Wo��) "I���=%(��)*���&%(<�KL�20�WGkF)*�2�F tKG<���>�����%(��)*���&%(<�KL�f0'%')ON�;�%(N,)*�20 ����1V%(<=> C6%b+�2��<=��>�%(C��x;2 ��0'%')O��<=�6%(0U4 ���`>P�76$��0*0( 6;2<S�&%(<= � ����1 )*�\����<=]\�&%(<= � ��N���%(<����=<�;2<�%(<=�20C</%( 5���=�= \h ����k�%(C�� )*�2����<=��<=��>����%(��)*�X�&%(<�KL�20{4 ���`>P�76 �FMP7A3Q%(C��&%9C���0 > �2����)O���=<=]\�&%(<= �5����1 ? d`Y`W@opgIqkYC@ )*�2�S�&%(<= ��0(C�<=�V)O �=�20B��0A����%(��)O���&%(<�KL�)*�2���&%(<� ��0(C�<��X0 Wo��% h��2�2� )*�\���=<=]\�&%(<= ��0A " )* �=�20�;\���5Wo�x0'�o�2;2<����=<=]2�21EW6kE)*�2�F \KP<=��>�%(C�� ����%(��)*���&%(<=KL�x> �2����)O��� +

Page 24: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� ��� ��������� ,)u

<=]\�&%(<= � )*�2�S�&%(<= ��0(C�<=� )* �=�����1 ���=�= th9<=��>4 ����k,? d`Y`WtosgIqkY @ )*�2���&%(<� ��0(C�<��X0DWo��% h��2�2�g)* �=��)*�\���=<=]\�&%(<� ��0C<C6����1 WGk 4 _Q< ��1�1�<���>E����h )* ���20 ����1g��0*0( 6;2<S�&%(<= ��0 %( 4%(C���MP7A3 %(C��&%F��N�0'%�Wo��)*�\���=<=]2�21"4 < �`���76 )*�;>GN�<�)*<=��>��1�1�<=%(<= ����� 0'%')*N�;�%(N�)*�!<=�)*�\���=<�]\�&%(<= ��0C<O�ml<=>P�6?6�Zp!0(C� \h90l%.h/ �M,7A350�%(C��&% �&)*� 0'�o�2;2<�����<=]\�&%(<= ��0l "X%(C�� �9WX0'%')O��;�% m���;�%( �)*kFM,7A3 0(C� \hA��<=��ml<=>P�L_P�@d6�

ml<=>P� ?6�Zp14 �t<B<=09�����AW�0'%')O��;�%Am���;�%( �)(k�0'�o�2;2<����=<�]\�&%(<= �q<=�h9C�<�;*C

/AbstractFactory /ConcreteFactory

<<Behavioral Role>>/CreateProdBeh()

/Factory

/AbstractProduct

/Product/Client

/AbstractFactory

<<Behavioral Role>>/CreateProdBeh()

/Factory

/AbstractProduct

/Product/Client

/ConcreteProduct

/ConcreteFactory /ConcreteProduct

/FactoryRealization<<Abstraction Role>>

/ProductGeneralization<<Generalization Role>>

/FactoryGeneralization<<Generalization Role>>

/ProductGeneralization<<Generalization Role>>

<<Interface Role>> <<Class Role>>

** **

** **

(a)

(b)

1..*<<Classifier Role>>

{realizable = false}

0..1

*

1

*

<<Classifier Role>>1..*

{realizable = false}

0..1

1..* 1..*

<<Class Role>>

<<Class Role>> <<Class Role>>

1..*<<Classifier Role>>

{realizable = false}

0..1

*

1

*

<<Classifier Role>>1..*

{realizable = false}

0..1

1..* 1..*

<<Class Role>>

<<Usage Role>>/ConcreteDep

<<Class Role>>

<<Class Role>> <<Class Role>>

<<Usage Role>>/ConcreteDep

<<Accociation Role>>/ClientFactoryAssoc

<<Association Role>>/ClientProductAssoc

<<Class Role>>

<<Accociation Role>> <<Accociation Role>>/ClientFactoryAssoc /ClientProductAssoc

��������� �� ��< ���� �1; =��&��= 9�10 � �?. %'('�<;5%�� ��;5%'!<(�� 23�9% ��6�!�� �Y23!40��9� .

Page 25: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

7.a ����������� ���������������������� �������������! "����

)*�\���=<�]\�&%(<= ��0 " �z��VO^id WtZk^ �MWtZk^x\Ld<B��&)*�A)*�20'%')*<=;�%(�21�%( xe�35H <=�6%(��)*"c��;2�20J6,����1F)*�\���=<�]\�&%(<= ��0/ " �Adn\JvLT}ZJ^��&)*�)*�20'%')O<=;�%(�21q%( F;2����0*0(�20;6%(C��x�X�&%'%(��)*��)*�2���&%(<= ��0*C�<���09W ��%.h/�2�2��)*�\���=<=]\�&%(<= ��0� " �z�OV�^idnWtZJ^ � WtZJ^x\Ld<B ����1 ��\L]BZJdnYJ^?Y �MWQZJ^x\Ld<B��&)*� )*��+0'%')*<�;�%(�21�%( Ve�35H%? d`Y`WtosgIqkY @ 1����o�2��1��2��;2<=�20{4:)*�\���=<=]\�&%(<= ��09 " � WtZJ^x\Ld<B�G Y`WtosgIqJW@^igc\L]M<C6Jh9C�<=�=�f%(C����X�&%b+%(��)*�!)O�2���&%(<= ��0(C�<���0XW ��%.h/�2�2�^)*�\���=<=]\�&%(<� ��08 " �Adn\JvLT}ZJ^8�&)*�})*�20'%')*<=;�%(�21D%( )*�\���=<=]\�&%(<� ��0o " �Adn\JvLT}ZJ^ � Y;] YOdnW@opg7qkW@^igi\@]$6%(C�� �X�&%'%(��)O� )*�2���&%(<= ��0(C�<��4Wo��% h��2�2� �/opgcY;]3^!����1 �Adn\JvLT}Zk^f)*�\���=<=]\�&%(<= ��0D�&)*� )*�20'%')*<�;�%(�21 %( q)*�\���=<�]\�&%(<= ��0 "(�/opgcY;]3^��Adn\JvLT}ZJ^ ��VPV;\JZ@6F<��ih9C�<�;*C[� �/opgcY;]3^�)*�\����<=]\�&%(<= � ��N�0(%EWo� ��0(0* 6;2<��&%(�21 h9<=%(C �&% �=�\��0'% ����Adn\JvLT}Zk^f)*�\���=<=]\�&%(<= � 4 < �`���76J%(C��F��0(0* 6;2<��&%(<� � Wo��% h��2�2� %(C�� )* �=�20 �/osgxYO]3^!����1 �/opgxYO]3^��Sd \Jv@TZk^ �EVCVO\JZ +A]Bv<=�Fml<=>P�,?6�Zp14 �t</<=0 �^0'�o�2;2<����=<=]\�&%(<� �F " %(C��9;2 �)*)*�20'�o ��1�<=��>D��0(0( G;2<��&%(<= �V<=�F%(C��fMP7A3 0(C� \h9�V<=�Fml<=>P�G_P�@d@<C6����1 � �Adn\JvLT}ZJ^D)*�\���=<=]\�&%(<= � <=0^��0(0* 6;2<��&%(�21 h9<�%(C��&%x�F 0'%x ��� �/opgcY;]3^!)*�\���=<�]\�&%(<= ��6 4 < �`���76I%(C��V��0(0( G;2<��|+%(<= � Wo��% h��2�2� %(C��y)* ���20 �Sd \kvLT}ZJ^ ����1 �Sd \kvLT}ZJ^ ��VPVO\kZH+A] vg<=� ml<=>P�}?6�Zp14 �t<x<=0 �E0(� �2;2<S���=<=]\�&%(<= � " %(C��;2 �)()*�20(� ��1�<=��> ��0(0( G;2<��&%(<= ��<��%(C���MP7�3Q0(C� \h9��<���ml<=>P�,_P�@d@<C6 ����1%(C��l�X�&%'%(��)O�D)*�2���&%(<� ��0(C�<���Wo��% h��2�2� �/opgcY;]3^o����1 � WtZJ^x\Ld<BD�&)*��)*�20(%')*<=;�%(�21f%( )*�\����<=]\�&%(<= ��08 " �/opgcY;]3^ �MWtZk^x\Ld<B ��VPV;\JZ@6<=� hAC�<=;*C � �/opgcY;]3^!)*�\����<=]\�&%(<= � ��N�0(%DWo����0(0( G;2<��&%(�21 h9<�%(C �&%x�=�\��0(%� ��� �MWtZk^x\Ld�B )*�\���=<=]\�&%(<= �M6l����1g��MWQZJ^x\Ld<B)*�\���=<=]\�&%(<= �q<�09��0(0( G;2<��&%(�21�hA<�%(C��&%9�F 0'%A ��� �/osgxYO]B^�)*�\���=<=]\�&%(<= �8�

uBC��x0'�o�2;2<����=<�]\�&%(<= � 0(C� \hA�4<��4ml<=>P�J?6�Zp14:W <!;*C��&)O��;�%(��)O<=]2�20�MP7�3 )*�\���=<�]\�&%(<= ��0f<=�4h9C�<=;OC4)*�\���=<=]\�&%(<= ��0� "�MWQZJ^x\Ld<BE����1 �Sd \kvLT}ZJ^ )* ���209�&)*�^;2�S��0(0(�202��~A<���)O�&)*;*C�<=�209 " �Adn\JvLT}Zk^9����1 � WtZJ^x\@d�Bq)*�\����<=]\�&%(<= ��09�&)O�^"c �)*�F�21N�0(<���>�> �2����)O���=<=]\�&%(<� �!)*�2���&%(<= ��0(C�<���0�4:)*�\���=<�]\�&%(<= ��08 " �MWQZJ^x\Ld<B � YO] Y;d W@opgIqJW@^igc\L]V����1��Adn\JvLT}ZJ^ � Y;] YOdnW@opg7qkW@^igc\L]�<O�uBC�� �%(C���)l��0(� �2;�%(0$ "G%(C��}� �&%'%(��)*��0(� �2;2<S���=<=]\�&%(<= �^�&)O� 0(<=�y<=���&) %( 9%(C��}0'�o�2;2<����=<=]\�&%(<� �D0(C� th9�^<=�^m$<�>P��?6�Zp14 �t<O�

�S� * ,/.b.b!�23( "���,�#b!US PRQMS�!"T � ! �C,�� .7Q 2B%n( &u \kvQY;o�d`Yiw;WtZk^x\LdCgy]0XV G;2;2N,)*0!h9C��2� �q0( N,)O;2�F�F G1��2��<=0!%')O����0("S �)O�F�21 %( E�%*�&)O> ��%x�F G1��2�l%(C��&%�<=0!Wo��%'%(��)

%(C����%(C��!0* N,)*;2�f�F G1��2� h9<�%(CV)*�20'�o�2;�%�%( �X�&)(%(<�;2N����&)S>6NX���=<�% kV�&%'%')*<�W�N,%(�20\�}uBC��f0( N,)*;2�D����1�%*�&)O> ��%9�F G1��2�=0�&)*�x�&%9%(C��D0O���F�^�=��KL�2�I "��&W�0'%')O��;�%(<= �M6�%(C��&%9<�0;6��F G1��2�o)*�2":��;�%( �)*<=��>y<=0B�� �%A�F1���%*��<��=<=��> "�0( N,)O;2�D�F G1��2�=02�ab�q%(C�<=0 0(�2;�%(<� ��h��!<=�=�=N�0(%')O�&%(�fC� \h M,7A350B;\����Wo�!N�0(�21%( y0(N,���o �)(% 0'kP0'%(�2�y�&%(<=;^�F 61��2� )*�2"c��;�%( �)O<=��>P�

�S�n� ��� � �FQ 21.}%n( & ��� #0.1!UX�,/.}% � PRQMS�!"T � ! �C,�� .7Q 2B%n( &��0'kP0'%(�2�y�&%(<=;L68��N,%( ���&%*�&W��=� �&����)* L��;OCE%( V�F G1��2�8)*�2":��;�%( �)*<=��>y<=0A�o 0(0(<�W����AhAC��2��%(C���%')O����0*"S �)*���&%(<= ��0

���2�21��21 %( ���;2;2 �F���=<=0(C )*�2":��;�%( �)*<=��> 0q<=��KL �=KG<=��> h��2�=� + 1���TX���21 0*��%(0q "�0( N�)*;2� ����1 %*�&)*> ��%��F G1��2�=0;6�;\���Wo����)*�2;2<�0(�2��k5;OC��&)O��;�%(��)*<�]2�21o�qa�� N,)x�&����)* L��;*C�6���;OC��&)O��;�%(��)*<�]\�&%(<= � " �E"c���F<���k4 "��F G1��2��)O�2"c��;�%( �)*<���> 0;2 ��0(<�0'%(0B "$%(C��!"c �=�= \hA<=��> �2�=�2�F�2�6%(02�

� 0( N�)*;2���y 61��2�I0(��%2�Au9C�<=090*��%�;2 ��0*<=0'%(0f "}0( N,)O;2���F G1��2�=0�"c �)A%(C���)*�2":��;�%( �)*<=��> 0\�fu9C��^0(��%!<=0�;*CX�&)O��;�+%(��)*<=]2�21�W6kq3E��%*��7A �=��35 G1��2�=02�

� %*�&)O> ��%D�F 61��2�$0*��%2�fu9C�<=0�0(��%D;2 ��0(<=0(%(0� " %*�&)*> ��%^�F G1��2�=0f"c �)f%(C�� )*�2":��;�%( �)*<=��> 02��uBC�� 0(��%!<=0!;*CX�&)O��;�+%(��)*<=]2�21�W6kq3E��%*��7A �=��35 G1��2�=0z4 ��0A<=�=�=N�0(%')O�&%(�21<=�q0(�2;�%(<= �EYt<O��i%')�����0("c �)*�y�&%(<= �0(��%2� u9C�<=0/0(��%B;2 ��0(<=0(%(0 "8%')O����0*"S �)*���&%(<= ��0/%(C��&%B�\��;*C4��;2;2 �����=<�0(Cy%(C��f)*�2"c��;�%( �)O<=��>> L��� �D� %')O����0("c �)*�y�&%(<= � 0'�o�2;2<�TX�20AC� th ��0* N,)*;2� �F G1��2�I<�09%')O����0("S �)O�F�214%( ��%*�&)*> ��%D�y 61��2� ��ab� N,)h� �)({B6�%')O����0("c �)*�y�&%(<= ��09�&)*�D���P��)*�20(0*�21E<=�%(��)*�y09 "l0(N,W,+ %')�����0("c �)*�y�&%(<= ��0B�F0( N,)*;2�D�y 61��2�JN���1���)*> G�20��0B<�%B<�0 %')O����0("c �)*�F�21%( �� %*�&)*> ��%A�y 61��2� �

��%')O����0("S �)O�y�&%(<= � ;\���4W �x���P���=<=;2<�%(�=k1���T����214<=�E%(��)O�F0f " ^idnWL]V=w;\Ld��UW@^igi\@] ^id WtZ�Y�V�68h9C���)*�x��%')O����0("c �)'+�y�&%(<= ��%')O��;2��<=0F� 0(�;>GN��2��;2�q "��F G1��2�=0 )*����)*�20(�2�6%(<=��>4%(C��q0(N,W�+ %')O����0("c �)*�y�&%(<= ��0 ��0( N,)*;2�q�F G1��2��> G�20

Page 26: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� ��� ��������� 7+,

%(C,)* N�> C <=����)*�2"c��;�%( �)O<=��>P�� %')�����0("c �)*�y�&%(<= � %')���;2��0'%*�&)*%(0Dh9<�%(C ���F G1��2��"S)* � %(C��y0( N,)*;2���F 61��2�}0(��%����1��2��1�0 h9<�%(C��F�F 61��2�o"�)* �z%(C��!%*�&)*> ��%��F 61��2�o0(��%2� � 0(<=��> ���A%')�����0("c �)*�y�&%(<= ��<�0B1���T����21WGkV%(C��D0(��%9 "���=� %')O����0*"S �)*���&%(<= �%')O��;2�20 %(C��&%BCX�2KL�!%(C��f0*���y�!0( N,)*;2�D����1V%(C��!0O���F�f%*�&)*> ��%9�F G1��2�=0E4 �x%')O����0("S �)O�y�&%(<= �;\����Wo�D��;2;2 ���X�=<=0(C��21q<��q ���! �)A�F �)O�fh��\kG0C<O��/)*�\�&%(<���>y���P���=<=;2<=%91���T���<=%(<= ��0B "}�� �P+ %')*<�KP<����o%')O����0("S �)O�y�&%(<= ��0��y�2k5�� �%AWo�x���5�\��0'k5 �)f"c�\��0(<�WX�=�!%*��0'{ �

ab�����=<=;2<=% 1���T���<=%(<= ��0 "J%')O����0("c �)*�y�&%(<� ��0;6P<=�yhAC�<=;*CV0(N,W�+ %')O����0("c �)*�y�&%(<= ��0/�&)*�f0'�o�2;2<�TX�21�<=��%(��)*�F0� "J%(C��2<�)�OK �2;�%(0;68�y�2kqWo���F �)*� �&����)* ���)O<��&%(�D<=�E%(C��20(�x;\��0(�202�9ab�5%(C�<=0B� �&� ��)k6�h���N�0*�^<=���X�=<=;2<�%(��k�1���T����21E%')O����0("c �)'+�y�&%(<= ��0z4 ���G��)*�20(0(�21�<��q� ��> �=<�0(CB< %( F<=�=��N�0'%')O�&%(�� N,)A�&����)* L��;*CE%( ��X�&%'%(��)*�P+ W ��0(�21E�F G1��2� )*�2":��;�%( �)*<=��>P�

�S�5O � ! ��,�� . Q)23%n( & � #%n( &�. � !�� $E#0.2,�� . V ,�� . Q)2 � *-,/.0.1!$23(�����Am )O�2"c��;�%( �)*<���>�;*CX�&)O��;�%(��)*<=]\�&%(<= � %(C��&%x0'�o�2;2<�T��20f%')O����0*"S �)*���&%(<= ��0!%( EW ��;\�&)*)*<=�21� N,%� ���F G1��2�=0

%(C��&%V�y�2k�;2 �6%*��<=� ;2����0(0(�20�)*����)*�20*�2��%(<=��> ��> >�)*�2>L�&%(�4��)* G1�N�;�%(0� "�1�<7K ��)O�2��%F%.k6�o�20 4 ���`>P�7690(�2�5%(C�� u�WkqkY��)* G1�N�;�% 0'%')ON�;�%(N,)*�!<=�qml<=>P� ?6��� �r<C6X<=0B1���T����21Wo�2�= \h^�

� )��O&��=$5 v$ ��� �I��& ��� � $�&@!\��@!�) �� uBC�� �&W�W�)*��KP<��&%(�21�MP7�3 ;*C��&)���;�%(��)*<=]2<=��>V%(C�� 0( N�)*;2���y 61��2��0�"c �)f%(C��)*�2":��;�%( �)*<=��> <=0 0(C� \h9�g<=� ml<=>P� ?6�ZrG� uBC��qMP7�3 ;*C��&)���;�%(��)*<=]2�20F�F G1��2�=0xh9<=%(C %(C��"c �=�= th9<=��>5"S �)*��� 4b�r< �;2�=<=�2�6%!;2����0(0 4 �V)*�\���=<�]\�&%(<= � "#�/opgcY;]3^`<BhA<�%(C �� ��)��&%(<= ��0�%(C��&%D;�)*�\�&%(� ��)O 61�N�;�%� �W �(�2;�%(0��)4 ?@<� ��� �)D�F �)*���)*<��y�&)(k��)* G1�N�;�%�;2����0(0(<�TX��)AC�<=��)��&)*;*C�<��2054:)*�\����<=]\�&%(<= ��0� "�%(C�� �Ad�g=�UWLd<B �Adn\tvLT}ZJ^l)O �=�^0'%')ON�;�%(N,)*�k<B%(C��&%D�&)*���0(0( G;2<��&%(�21�h9<�%(Cy%(C��9;2�=<��2��% ;2�S��0(0��,����1-4 Yt< ]2��)* x �) �F �)*�A0(N,W,+ ��)* 61�N�;�%};2����0(0(<=T���) C�<=��)��&)*;*C�<��20 4:)*�\���=<�]\�&%(<= ��0 " 2}T3� � WLd�^f)O �=��0'%')*N�;�%(N�)*�k<�%(C��&%��&)O�y��0(0( G;2<��&%(�21�hA<�%(C ��)*<��y�&)(k���)O 61�N�;�%D;2����0(0(�202�V� ��)*<=�y�&)(k5��)* G1�N�;�%;2����0(0F%(C��&%y<=0F��0(0* 6;2<��&%(�21�h9<�%(C�� 0(N,W��X�&)(%�;2����0(0�)O����)*�20(�2�6%(0y������> >�)*�2>L�&%(�5��)* G1�N�;�%;6 h9<�%(Cg%(C��q0(N�W��X�&)(%;2����0(0*�209)*����)*�20(�2�6%(<=��>F%(C��D�X�&)(%(0\�9uBC��^34��]2�Fw!���F��������0(0A�f<���>�)O��� 0(C� th9�E<=�5ml<=>P� ?6��� ��<=0��F)*�\����<=]\�&%(<= � "f%(C�<=0qMP7�3��Su WkqrY �SWL�jY )O�\���=<=]2�20F%(C�� �/opgcY;]3^�)* ���L6 u WkqrY ����1 <�%(0y0'�o�2;2<�����<=]\�&%(<= ��0��\��;*C )*�\���=<=]2�E%(C���Ad�gy�GW@d�B �Adn\JvLT}Zk^B)* �=�L6/����1 GS\J\L� 6M@[\J\Ldb6� W@o=oA����1g%(C��2<�)�0'�o�2;2<����=<�]\�&%(<= ��0x�\��;*C )*�\����<=]2�y%(C�� 23T}�4� W@d�^)* �=���

{XOR}

/ConcSubPart

/PrimaryProduct/Client

<<Metamodel−level Constraints>>

{XOR}

<<Generalization Role>>/ProductGeneralization

<<Abstraction Role>>/ProductRealization

<<Behavioral Role>>

/SubPart

/CreateProdBeh()

/AbsSubPart

(self.oclIsTypeOf(Class) andself.isAbstract = true)}

/SubPartGeneralization<<Generalization Role>>

/SubPartRealization<<Abstraction Role>>

{self.oclIsTypeOf(Interface) or {self.isAbstract = false}

<<Metamodel−level Constraints>>

self.isAbstract = true)}(self.oclIsTypeOf(Class) and

<<Metamodel−level Constraints>>/AbsPrimaryProduct /ConcPrimaryProduct

<<Metamodel−level Constraints>>{self.isAbstract = false}

{self.oclIsTypeOf(Interface) or

<<Metamodel−level Constraints>>{self.isAbstract = false}

{realizable = false}

1..*

*<<Class Role>> 1

/AggregAssoc

*

<<Classifier Role>>

/ClientProductAssoc

* 1..*

11

<<Class Role>>

<<Classifier Role>>

*

* 1..*

<<Association Role>>

<<Classifier Role>>

***

**

*

<<Classifier Role>>

{realizable = false}*

*

<<Class Role>>

<<Association Role>>

* *

<<Usage Role>>/SubPartCreateDep

<<Usage Role>>/ProductCreateDep

* *

��������� �� ��� ��! �?(';9� �46U2 #�!<(8���3� �C. %'('��;5% � �<; %'!<(���6��5#:�<; %'!<(/= �?>

Page 27: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

7!7 ����������� ���������������������� �������������! "����

� ��&!��$ �� v$ ��� �z��&���� ��$,&!=��!�)� � u9C��x�&W�W�)*��KP<��&%(�21�MP7A3 ;*C��&)O��;�%(��)O<=]2<=��>V%(C���%*�&)*> ��%^0(��%!<=0�0(C� th9� <=�ml<=>P�}?6���tsG�4uBC�<=0�MP7�3 <=0��50'�o�2;2<����=<�]\�&%(<= �� " %(C����Am[MP7A3 > <=KL�2� <���%(C��y��)*��KP<= N�0^0*�2;�%(<= �g<=��%(C��&% <�%1���%(��)*�y<=���20!����)* ��o��)�0*N,W�0(��%! "}%(C��x�y 61��2��0A;OC��&)O��;�%(��)*<=]2�21�W6k5%(C�� �Am MP7A3 �ouBC���%*�&)*> ��%^�F G1��2��MP7A31���T����208 ����kf��0(0( G;2<��&%(<= �!)*�2�S�&%(<= ��0(C�<=��0 W ��%.h/�2�2�^%(C��};2�=<��2��%J����1f%(C�����)* G1�N�;�%oC�<=��)��&)*;*C6k@6�����1D1�<=0'%(<���> N�<=0(C��20��> >�)*�2>L�&%(����)* G1�N�;�%(0 "S)* � %(C��2<=)B�X�&)(%(02�

<<Metamodel−level Constraints>>{self.isAbstract = false}

/FactoryGeneralization

/ConcreteFactory

/FactoryRealization

/Client

<<Abstraction Role>>

<<Metamodel−level Constraints>>{self.isAbstract = false}

<<Behavioral Role>>

{XOR} {XOR}

<<Metamodel−level Constraints>>

self.isAbstract = true)}(self.oclIsTypeOf(Class) and

{self.oclIsTypeOf(Interface) or

/PrimaryProduct

/AbstractFactory

/Factory

<<Metamodel−level Constraints>>/AbsPrimaryProduct

{self.isAbstract = false}<<Metamodel−level Constraints>>

/ConcPrimaryProduct

<<Metamodel−level Constraints>>

<<Generalization Role>>

(self.oclIsTypeOf(Class) and

/AbsSubPart

{self.isAbstract = false}

/CreateProdBeh()

{self.oclIsTypeOf(Interface) or

<<Metamodel−level Constraints>>/ConcSubPart

self.isAbstract = true)}

/ProductRealization<<Abstraction Role>>

/ProductGeneralization<<Generalization Role>>

{XOR}

<<Generalization Role>>/ProductGeneralization

<<Abstraction Role>>/ProductRealization

{self.oclIsTypeOf(Interface) or(self.oclIsTypeOf(Class) and

/SubPart

self.isAbstract = true)}

*

*

/ClientProductAssoc

*

*

*

*

*

<<Association Role>><<Association Role>>

*

/ClientFactoryAssoc

*

*

*<<Classifier Role>>

{realizable = false}

*

<<Class Role>>

*1..*

1

<<Classifier Role>>

<<Class Role>>

<<Classifier Role>> <<Class Role>>

<<Classifier Role>>

1..*

<<Class Role>>

**

*

{realizable = false}

<<Classifier Role>>

{realizable = false}

1..*<<Classifier Role>>

0..1

1..*

1..*1..*

/SubPartCreateDep<<Usage Role>>

<<Usage Role>>/PrimaryProdCreateDep

<<Association Role>>/AggregAssoc

*

*

**

*

<<Usage Role>>/ClientFactoryDep

0..1

1

{at least 1}

��� �����' � ����� ��7��(><�9% ��6�2 # !�(U���3� �?. %'('�<;5% � ��;5%'!<(���68�9#:��;5%'!<(/= ��>

� & � z �F)�&��5��@!�) v$ � � �z��& � � � $�&@!\��@!�) �� uBC��40(N,W�+ %')O����0("c �)*�y�&%(<= � 0(�;>GN��2��;2�5%(C��&%���;2;2 �����=<�0(C��20%(C��!� �&%'%(��)*�P+ WX��0(�21�%')O����0("c �)*�y�&%(<= �E;\����Wo�f1���T����21q;2 ��0(%')*N�;�%(<�KL�2��k���0B"c �=�= th902�

� �/)*�\�&%(�D%(C��!"c��;�%( �)*k�C�<=��)O�&)*;OC�k �}u9C�<=0 <=0B��;2;2 ���X�=<=0(C��21�W6k

4 �t< ;�)*�\�&%(<=��> ���i�&W�0(%')O��;�%q"c��;�%( �)(k ;2����0(0*<�T���)e4 ���i�&W�0'%')O��;�%�;2����0*0q �)<���%(��)*":��;2� %(C��&%q<=0<=�6%(�2��1��21 %( )*�\���=<=]2�9%(C��B%*�&)O> ��% MP7�3 �z��VO^id WQZJ^ �MWQZJ^x\Ld<BA)O �=�k<�"c �)/�\��;OCV)*�\���=<=]\�&%(<= �� "o%(C��A0( N,)*;2�fMP7A3 �z�OV��Ad�gy��UWLd�B �Sd \Jv@TZk^J)O �=�!<=�%(C��D0* N,)*;2�!�F G1��2�c6

4:W <4;�)*�\�&%(<=��>D�f;2 ��;�)*��%(�9":��;�%( �)(k ;2����0(0 4 ���F<���%(�2��1��21 )*�\���=<=]\�&%(<= �� "X%(C���%*�&)*> ��%�MP7A3 ��\L]BZ;d`Y;^?Y �MWtZk^x\Ld<B)* �=�k</"c �)A�\��;OC�)*�\���=<�]\�&%(<= �� " ��\L]BZ �SdCgy�UWLd<B �Sd \kvLT}ZJ^$)* �=�!<=�%(C��!0( N,)*;2�D�y 61��2�x6,����1

4 ;k< �=<=�,{P<=��>f%(C��2� 4 N�0*<=��>D> �2����)����=<=]\�&%(<= �V �) )O�\���=<=]\�&%(<= ��)*�2���&%(<= ��0(C�<���0�<$<=����;2;2 �)*1X����;2��h9<�%(CF%(C��B��)* G1P+N�;�%9C�<���)O�&)*;*C6k �

Page 28: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� ��� ��������� 7.?

? 35<=>�)O�&%(�f%(C��!;�)*�\�&%(�^ �� ��)��&%(<= ��0 "S)* � %(C��f)*�\���=<�]\�&%(<= � "J%(C�� �/opgxYO]3^ )* �=�f<=�%(C��f0( N�)*;2�!�F G1��2� %( %(C���&����)O ���)*<��&%(�F":��;�%( �)(k ;2����0(0(�202�5uBC��������= 6;\�&%(<� � "B;�)O�\�&%(�V ��o��)O�&%(<� ��0D%( ":��;�%( �)*<=�20 <=0^1���%(��)*�F<=���21 W6k%(C�����0(0( G;2<��&%(<= ��0fW ��%.h/�2�2��%(C��x��)*<=�y�&)*kq�X�&)(%(0D����14%(C��2<�)D0*N,W��X�&)(%(0\�B%(C���;�)*�\�&%(�F ��o��)O�&%(<� ��0f"S �)D�\��;OC0(N,W��X�&)(%A��<=�,{L�215%( ����)O<=�y�&)(k�X�&)(%D�&)*�x���S��;2�214<��E%(C��x":��;�%( �)(k4;2 �)*)*�20'�o ��1�<=��>�%( %(C�����)*<=�y�&)*kq�X�&)(%2�uBC�<�0A)O�20(N���%(0!<=� %(C�� )*�2�F \K ��� " %(C���;�)*�\�&%(��1����o�2��1��2��;2<��20fW ��%.h/�2�2��%(C�� �/opgcY;]3^�)*�\���=<=]\�&%(<= ������1 %(C����)* G1�N�;�%f;2����0(0*<�T���)*0;68����1 ;�)O�\�&%(<= � " ;�)O�\�&%(�F1����o�2��1��2��;2<��209Wo��% h��2�2� %(C���":��;�%( �)*<=�20�����1 %(C��x��)* G1�N�;�%;2����0(0*<�T���)*02�

Y HJ<��,{y%(C��!":��;�%( �)(kq;2����0(0*�20B%( �%(C�� �/opgxYO]3^�)*�\����<=]\�&%(<= �qN�0(<���>���0(0( G;2<��&%(<= ��0B �)�N�0*��> �D1���� �2��1��2��;2<=�202�ml<=>P��?6��� �D0(C� th90 ��;2�S��0(0 1�<���>�)O��� %(C��&%�)*�O|X�2;�%(0 %(C���0'%*�&%(<=;L6�0'%')*N�;�%(N,)O���o��0'�o�2;�%(0 "I�x1��20(<�> �V"c �)B�x�y��]2�

>L���F�94:%(C�<=0A1��20(<=> �4<=0���� ��1X�&��%*�&%(<= �4 " ���5�������������^> <�KL�2� <=� 8@�\_L:=<O��ab��%(C�<=0A1��20(<=> ��6X%(C�� u�WkqkY �SWL�jY�<=0)*�20'�o ��0*<�W��=��"c �)/;�)*�\�&%(<���>^%(C��A1�<IK ��)*�2�6%}%.k6�o�20� "o�y��]2�20 ����1�%(C��2<�) � �&)(%(02��ab" ������h % kG�o�9 "8�y��]2�� �)��y��]2��X�&)(%D<�0^��1�1��21�6J%(C��Du WrqkY �SW@�UY^;2����0(0^h/ N��=1 C��2KL�y%( �N���1���)*> q0(<=> ��<=T�;\����%!;OC�����> ���Va���;2 �)*� �)��&%(<=��>V%(C���AW�0'%')O��;�%^mX��;�%( �)(k �X�&%'%(��)*� <=��%( %(C�<=0!1��20(<=> ��h9<=�=�I)*�20(N��=%f<�� ��F �)*�G|X���P<�WX�=��1��20(<=> ��<=� hAC�<=;*C %(C����y��]2�;�)*�\�&%(<= �4��0'�o�2;�%(0A�&)*�!�� 6;\���=<�]2�21�<=�q":��;�%( �)*<=�20 %(C��&%A;\����Wo�D��;2;2�20(0(�21EW6k%(C��D34��]2�tw!���F���

EnchantedMaze

4sides

made−of

1

1.**

Enter()

MapSite

RoomNo()AddRoom()

0..4

isOpen

Enter()

1.* * 1.* 1.*BombedMaze

1

1

0..4 0..4 0..4

1

1.*

1.*

roomNumber

Enter()SetSide()GetSide()

1

Enter()

MazeGame

Maze

RoomDoor

<<Interface>>

Wall

BombedWall

<<realize>><<realize>>

OrdinaryWallDoorNeedingSpellEnchantedRoomRoomWithBomb

��������� � ����< �2 � 9���"����� �<0�����%'�10 # (!�� %��?���U! � � !�!��

uBC����F G1��2� 0(C� \h9� <=� ml<=>P�}?6��� �)*�\���=<=]2�20�%(C��y0* N,)*;2�y�y 61��2� MP7�3 0(C� \hA� <=� m$<�>P��?6�Zrb6�%(CGN�0�h/�V;\����&�����=kV%(C��D)*�2":��;�%( �)*<=��>V1���T����215�&Wo \KL��%( y%(C����F G1��2� �Bu9C��D)*�20*N���%9 "}�&���X��kG<���> %(C��x0(N,W,+ %')O����0("S �)O�y�&%(<= ��01���T����21��&W tKL�D%( �%(C�<=0���)* �W����2� <=0 N,%(�=<=���AWo�2�= thD����� ��� � ��� ' �T� ����� $ 3%���,� �����43%���\�� a��4%(C��x0( N,)*;2� �F G1��2�I%(C���)*� <=0� ����kE ���^)*�\����<=]\�&%(<= � "��z�OV��Ad�gy�

�UWLd<B �Sd \kvLT}ZJ^i6zu WkqrYt6�%(CGN�0�h/�5;�)*�\�&%(�5 ���5�&W�0'%')���;�%V":��;�%( �)(k�;2 ��0'%')ON�;�%;6A��� �&WX0'%')O��;�%;2����0(0;6�h9<�%(C�%(C�������F�Gu WrqkY � WtZJ^x\@d�B��!� ;2 ��;�)*��%(��":��;�%( �)(kE0(� �2;2<S���=<=]\�&%(<= �5 " u WkqrY � WtZJ^x\Ld<B�<=09;�)O�\�&%(�21 "S �)!�\��;*C ;2 ��;�)*��%(�0'�o�2;2<����=<�]\�&%(<= �q "/u�WkqkYQ6 H�\L�j�CY`vku�WkqkY �MWtZk^x\Ld�B ����1 +S]BZ��bW@]3^?Y`vku�WkqkY �MWtZk^x\Ld<B&�� � � ��-�� � ��� �=��� � ��� ��# ����� �@�����z� �����43 � ' �T� ���������,�� uBC���;�)*�\�&%(�� ��o��)O�&%(<� ��0x�&)O���F tKL�21g N,%x "

u WrqkY �SW@�UY9����1������;2�21<=�6%( %(C��!�&����)O ���)*<��&%(��"c��;�%( �)O<=�202� uBC��f��0*0( 6;2<S�&%(<= ��0�Wo��% h��2�2�q%(C�����)*<��y�&)(k���)* G1P+N�;�%/;2����0(0(�20�����1F%(C��2<�) 0(N�W��X�&)(%(0/�&)*�9N�0*�21F%( x1���%(��)*�F<=��� h9C���)*�B%(C��9;�)*�\�&%(�f ��o��)O�&%(<= ��0 0(C� N��=1�)*�20(<�1����$m� �)�����������=�L6,;�)*�\�&%(�D ��o��)O�&%(<� ��0�"S �)�GS\J\@� gy^��CH�\L�j�;6-@[\J\Ldb6�����1AH�\L�j�PYPv -W@oyoG �W �'�2;�%(0{4:�X�&)(%(0 "UH�\L�j�CY`vL�u WrqkY �W��'�2;�%(0C<9�&)*�!���S��;2�21q<=�q%(C��FH�\L�j�PYPvku WrqkY � WtZJ^x\@d�B��

Page 29: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

7 L ����������� ���������������������� �������������! "����

� ��� ������� ����,��� ���' �T� ���������,�� uBC����F G1��2�=��) C���0x%(C��V;*C� <�;2��%( �=<��,{ %(C���;2��<=�2��%x%( 4%(C��"c��;�%( �)O<=�20N�0(<���>F��0(0( G;2<��&%(<= ��0� �)A1���� �2��1��2��;2<=�202�/ab��%(C�<=0A;\��0(�Dh��x;*C� 0(�^%( �N�0(�^��� ��0(0( G;2<��&%(<= ��%( V�=<=��{9u WrqkY �SW@�UY%( Du�WkqkY �MWtZk^x\Ld�B���uBC��f)*�20*N���% "J%(C��!)*�2":��;�%( �)*<=��>�<=090(C� \hA��<=�qml<=>P�X?6���|?6�

BombedMazeFactory

CreateRoom()CreateDoor()CreateWall()

EnchantedRoomRoomWithBomb

EnchantedMazeFactory

CreateRoom()CreateDoor()CreateWall()

DoorNeedingSpell BombedWallOrdinaryWall

DoorRoom

<<realize>><<realize>>

<<create>> <<create>>

<<create>>

<<create>><<create>>

<<create>>

Wall<<Interface>>MazeFactory

CreateRoom()CreateDoor()CreateWall()

MazeMazeGame

*

* MapSite

*

11

1

1..*

4

��� �����' �� � � �2 � )� �"�����U(�9#:��;5%'!<(�10 �-=�%�� � �C. %'('��;5%�� �<; %'!<(�� �C��%%'�9(�

uBC��!�&Wo \KL�^�y���6NX���X)O�2"c��;�%( �)*<���>�<=�=�=N�0'%')O�&%(�20/%(C��&% ��)*�2;2<�0(���X�&%'%(��)*�q"c �)*�F0 ;\���q��)O \KP<=1��f;2�=�\�&)B<=��1�<=;\�&%( �)*0 "$h9C��&%B���2�21�0 %( �Wo�!;*C�����> �21E<=����1��20(<=> �q<=�q �)*1���)B%( F<=��;2 �)*� �)��&%(�f�X�&%'%(��)*�q��)O �� ��)*%(<=�202�

Page 30: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

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

����� � � � ��� � �$� �

��� P ! .b, � Q T'! PRQMS�!"T���� �E2!�#1#1%9QA(MP7�3E0�;\����Wo�E�&W�0(%')O��;�%(�21 �&%1�<7K ��)*�2�6%y�=��KL�2�=0�<=�� �)*1���)y%( >L��<�� ��� N���1���)*0(%*����1�<=��> "D� "c���F<���k "

ef3EHi1��20(<=> ��0xh9<�%(C� N,%�Wo�2<=��>E1�<=0(%')O��;�%(�21gW6k 1���%*��<=�=�21g<=��"c �)*�y�&%(<� �o��ml<=>P�}YG����0(C� \hA0�%(C��V0O���F�EMP7A350W�N,%9�&%A1�<7K ��)*�2��%B����KL�2�=09 "l�&W�0'%')O��;�%(<� �o� �AW�0'%')O��;�%(<� ��<=0B���P��)*�20(0*�21�<=�%(C,)*�2�^�=��KL�2�=02� "c �=1��21M6,�&W�W�)*��KP<��&%(�21�6����1 1���%*��<=�=�21 �=��KL�2� �im� ��1��21 ���P��)*�20*0(<= ��0V�&W�0'%')O��;�%q����k�1���%*��<=�=�21 <=��"c �)*�y�&%(<= ��0*N�;*C ��0�C�<=��)O�&)*;OC�<=�20y ")* �=�20�����1�;2 ��0'%')���<=��%(0\����)* ���q;\����Wo�0'�o�2;2<����=<=]2�21 �&> �2����)O���=<=]2�21gWGkg��1�1�<=��> ���&W�%')���;�%(<=��> ;2 ��%')���<=��%(0�<=�<�%2��R C��2�50'�o�2;2<�����<=]2<=��> �&> �2����)����=<=]2<=��> )O �=�20;6 C�<=��)O�&)*;OC�<=�20��&)*��"c �)*�F�218����%f"S ��1��215����KL�2�c6X%(C��20(��C�<=��)O�&)*;OC�<=�20�&)*���� �%D0*C� \h9�8�FU!����kE�=�\��0(%!W�N,%!;2 �)*�F<=��"S �)*���&%(<= � <=0!���G�o 0(�218�x~�<=��)O��;OC�<=�20^�&)*��0*C� \h9� <����&W�W�)*��KP<��&%(�21���P��)*�20(0(<� �o�4��%x%(C�<=0x�=��KL�2�c6}0(%')*N�;�%(N,)O��� ��)* ��o��)(%(<��20��&)*����P� 0*�21 h9<=%(C �����y�20x "90'%*�&%(<=;q����1 W �2CX�2KP<= �)O���)* �=�20 WXN,%x;2 ��0'%')O��<=�6% %(�2�������&%(�202� �f��%*��<=�=�21 ���P��)*�20(0(<� ��0�0*C� \h����=�/%(C��<=��"S �)*���&%(<= �g��N�0(%�Wo�0'�o�2;2<�T��21<=��35��%*��79 ���535 61��2��02��ab����1�1�<=%(<= �g%( �%(C��E<=��"c �)*�y�&%(<= � 0(C� \h9��<����= \h���)�����KL�2�=0;6�1���%*��<=�=�21����P��)*�20*0(<= �<=��;2��N�1��20f�F��%*���F G1��2� + �=��KL�2��;2 ��0'%')O��<=�6%(0;6J�xN���%(<��X�=<=;2<�%(<=�20J6 ����1 �y 61��2��+ �=��KL�2��;2 ��0'%')O��<���%!%(�2���X���&%(�202���f��%*��<=� "l�\��;*C5���G��)O�20(0(<= �q<=09> <�KL�2�qWo�2�= \h^�

Folded Expression Abbreviated Expression Detailed Expressionexpandsexpands

highlow Abstraction Level

��� �����' � �< �23�9% ��6�!�� � 23!40��9� �����?(�).. = !��

����z��� '*)7��$� !�$,&���& � �O!�$� MP7�3E0� "S%(�2�F;2 �6%*��<=��)*�2;2N,)*)*<=��>�0'%')*N�;�%(N�)*�20lh9C�<=;OC ;\����Wo� KP<=��h��21F��0}�F��%*�&)* ��� �F 61��2�=<=��>A�X�&%'%(��)*��0\�$���

�����������=�A "80(N�;OC��0'%')*N�;�%(N,)*�9<�0}%(C���;*C��&)���;�%(��)*<=]\�&%(<= �q "8;2�S��0(0 C�<=��)O�&)*;OC�<=�202��ml<=>P�,YG�@?D0(C� \h90 ��;*C��&)O��;�%(��)O< +]\�&%(<= �q "J��;2����0(0*<�T���)�C�<=��)O�&)*;OC�k ��uBC��f3E��%*��7A �=�!3E G1��2� ;2 ��0(<�0'%(0 "$���V�&WX0'%')O��;�%�)* �=��;\���=�=�21 � VJYOd}hAC� 0(�0'�o�2;2<����=<�]\�&%(<= ��0 �&)*� �z�OV�^idnWtZJ^ �$V;Y;d�����1 ��\L]BZ;d`Y;^?Y � VJYOd��/MP<=��;2�A%(C���� VJYOd )O �=�!<=0B�&W�0'%')���;�%;6�<�%(0�)*�\���=<�]\�&%(<= ��0�xN�0'% Wo�!�2<�%(C���)B)O�\���=<=]\�&%(<= ��0 " �z�OV�^idnWtZJ^ �$V;Y;d �) ��\L]BZJdnYJ^?Y �$V;YOd��uBC�� �z��VO^id WtZk^ � VJYOd )* ���D;*C��&)���;�%(��)*<=]2�20 �z��VO^id WQZJ^ �$V;YOd )O�\��� + <=]\�&%(<= ��09h9C�<=;OCE�&)*��<=��%(��)O"c��;2��;2 ��0'%')*N�;�%(0A<=�

%(C��f"c �)*� "Ief35H�<=�6%(��)*"c��;2�209 �)9�&W�0'%')O��;�%B;2����0*0(�202�}uBC�� ��\L] Z;d`Y;^?Y �$V;Y;d/;OC��&)O��;�%(��)*<�]2�20B)*�\���=<�]\�&%(<= ��0�<=�V%(C��"c �)*�z "$;2 ��;�)*��%(�^N�0(��)9;2����0(0*�202� 79�\����<=]\�&%(<= ��0 "$%(C����$V;Y;d�0(� �2;2<S���=<=]\�&%(<= �V)* �=�209;\����Wo�f;2 �����2;�%(�214�2<�%(C���)

7 P

Page 31: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

7 T ����������� ���������������������� �������������! "����

Post : result = p and p.oclIsNew() = true}{pre:true/CreateProdBeh():[[Product]]<<Behavioral Role>>

/User

<<Metamodel−level Constraints>>{XOR}

{(self.oclIsTypeOf(Interface) orself.oclIsTypeOf(Class)) andself.isAbstract = true}

<<Metamodel−level Constraints>>

{self.isAbstract = false}<<Metamodel−level Constraints>>

/ConcreteUser/AbstractUser

<<Generalization Role>>/UserGeneralization

{(self.supplier.oclIsTypeOf(Interface) or

<<Abstraction Role>>

<<Metamodel−level Constraints>>

self.client.oclIsTypeOf(Class) and

/UserRealization

{self.parent.evaluationType()(self.supplier.oclIsTypeOf(Type)) and

{realizable = false}1

= self.child.evaluationType()}

*

<<Class Role>><<Classifier Role>>

<<Classifier Role>>

{realizable = false}

self.stereotype.name="realization"}

{realizable = false}

*

1 1

*

1

*

�����&���' � �� �� 68!�� ���8= �9('��(';�� �

WGk5��)*�\����<=]\�&%(<= �4 "�%(C�� � VJYOd&G Y`W@opgIqJW@^igc\L]�)* ���j4 ��e�35H%? dnYPW@osgIqkY @ )*�2���&%(<� ��0(C�<���<C6� �)f�y)*�\���=<�]\�&%(<= �5 "%(C�� �$V;Y;d � Y;] YOdnW@opg7qkW@^igc\L])* �=�G4 ��ef3EH > �2����)O���=<�]\�&%(<= �q)*�2���&%(<� ��0(C�<���<O�uBC��!�� �%(<= �q "lC�<=��)O�&)*;OC�kq�&)*<=0*�20 Wo�2;\��N�0(���

� �y)*�\���=<=]\�&%(<= � " ��\L]BZ;d`Y;^?Y � VJYOd��y�2k4C��2KL�F�Vef3EH%? dnYPW@osgIqkY @ )*�2�S�&%(<= ��0(C�<=�Eh9<�%(C ��)*�\���=<=]\�&%(<� �4 "�z�OV�^idnWtZJ^ �$V;Y;dC6

? ��)O�\���=<=]\�&%(<= �4 " ��\L]BZJdnYJ^?Y �$V;YOdA�y�2k Vfa1Y`ZJgiWtosgIqkY����� �%(C���)�)*�\���=<=]\�&%(<� �5 " ��\L] Z;d`Y;^?Y �$V;Y;d{4 ��e�35Hg> �2�P+��)O���=<�]\�&%(<= � �&0'�o�2;2<����=<�]\�&%(<= �V)*�2���&%(<= ��0*C�<�� <C6

Yi�q)O�\���=<=]\�&%(<= �� " ��\@]BZ;d`Y;^?Y � VJYOdD�y�\k V?a1YPZ;gcW@opg7qrYq�q)*�\����<=]\�&%(<= � " �{��V�^idnWtZk^ � VJYOdD<=" Wo �%(C�)*�\���=<�]\�&%(<= ��0�&)*�!;2����0*0(�20{4 ��> �2����)O���=<=]\�&%(<= � �&0'�o�2;2<����=<=]\�&%(<= �)O�2���&%(<= ��0(C�<�� <C6P �)

_ � )*�\����<=]\�&%(<= �� " �z��VO^id WQZJ^ �$V;YOdB���2k V?a1YPZ;gcW@opg7qrY����� �%(C���)A)*�\���=<=]\�&%(<= �E " �z�OV�^idnWtZJ^ �$V;Y;d <="JWo �%(Cq)O�\���=<=]\�|+%(<= ��0B�&)O�D<=�6%(��)*"c��;2�2054 ��> �2����)O����<=]\�&%(<= � �&0'�o�2;2<�����<=]\�&%(<= �)*�2���&%(<� ��0(C�<���<O�

uBC���)O�D�y�2kqWo�D"cN,)(%(C���)90'�o�2;2<����=<=]\�&%(<� ��0 "��2<�%(C���) �{��V�^idnWtZk^ � VJYOdB �) ��\@]BZ;d`Y;^?Y � VJYOdB)*�20*N���%(<=��> <=�5�F1��2���o��)C�<=��)��&)*;*C6k � a�����1�1�<�%(<= �g%( �;OC��&)O��;�%(��)*<�]2<=��> C�<=��)��&)*;*C�<�;\��� ;2����0(0(<�TX��) 0(%')*N�;�%(N,)*�20J6 %(C��q)O �=�0'%')*N�;�%(N,)O�����=0( �o��)*�F<�%(0/�� �P+ C�<=��)O�&)*;OC�<=;\��� )*�\���=<=]\�&%(<� ��0/W �2;\��N�0(��%(C��f)* �=�f��0(0( G;2<��&%(<= �q�2��1q�xN���%(<=���=<=;2<�%(<��20 �&% %(C�� � VJYOd&G YO�W@opg7qkW@^igc\L]����1 � VJYOd � YO] Y;d WtosgIqJW@^igc\L]q�2��1�0B�&)O� F:K�H-4 ]2��)* y �)A�F �)*�k<O�uBC����&W tKL�y)O�2;2N,)()*<=��>)* �=�y0(%')*N�;�%(N,)*�y;\��� Wo�F0(C� \h9� <=� ���g�&W�0'%')O��;�%(�21 "c �)*� 6l;\���=�=�21 �jw;\@o v0Y`vqMP7A3 �

ml<=>P�$YG�ZYE0(C� th90�C� \h ml<=>P�lYG�@?�;\��� Wo�y�&W�0'%')O��;�%(�21 %( 4�Gw;\@o v0Y`vqMP7A3 �I���=�}�y��%*���F 61��2� + �=��KL�2� ;2 ��0'%')O��<=�6%(0����1�"c�\�&%(N,)*�^)* �=�20B "$)* ���D0'�o�2;2<����=<=]\�&%(<� ��0B����1q%(C��2<=)B)*�2���&%(<= ��0(C�<���0 �&)*�^C�<=1�1��2�q<����F"c �=1��21EMP7�3���u9C��20(��&)*�!)O��KL�\���=�21�h9C��2����"S ��1��21EMP7A3v<=0ET1]Jw;\@o vQY`v��

Page 32: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� ������������� 7 W

...

...

/AbstractUser<<Classifier Role>>

...

...

<<Class Role>>/ConcreteUser

{XOR}

1..*

<<Hierarchy>><<Classifier Role>>

/Userfold

(a) Abbreviated Role Hierarchy of Figure 3 (b) Folded Role Hierarchy

* *

*

<<Abstraction Role>>/UserRealization

<<Generalization Role>>/UserGeneralization

<<Classifier Role>>/User

{realizable = false}

...

*

��� �����' �< � �4= ������=�# �4= �?>��A6�!�� ����= �)('��(';�� �

� )+���O$������ �O&�$� !�) � M,7A350 "S%(�2�V;2 �6%*��<=��)*�2;2N,)()O<=��>!0'%')*N�;�%(N,)*�20}hAC�<=;*C�;\���yWo� KP<=��h��21���0��D� �&%'%(��)*�o�ml<=>P� YG�ZY 0(C� \h90��� �������������E "!0(N�;OC � 0'%')*N�;�%(N,)*���iuBC��5�� �%(<= � "!C�<=��)O�&)O;*C6k�;\��� Wo�E�&WX0'%')O��;�%(�21 W6k� 0'%(��)O�2 �% kG� �E0'%')*N�;�%(N,)O�-? �zgcY;d WLdnZ�� B8@ %( �W�%*��<=� � %(��)*0(�q0'%')ON�;�%(N,)O����KP<=��h� "f��35��%*��79 �=�E35 G1��2� �#})O �� ��)*%(<=�208�� �%$0(C� \hA�^<=�!%(C�<=08�=��KL�2�G�&)*���I0'%')ON�;�%(N,)*�208 ",C�<=��)O�&)*;OC�<=�20;6&�F��%*���F G1��2� + �=��KL�2�6;2 ��0'%')O��<=�6%(0;6 "c�\�&%(N,)*�)* �=�20\�}�A���������������! "$"c �=1��21q���P��)*�20*0(<= �q<=0B0*C� \h9�q<���ml<=>P��_P�ZYG�

���%&�$�O!����$������ �%& $� !�) � �9W�W�)*��KP<��&%(�21 MP7�3E0D���P�X����1 4 Tb]kwO\@o vk<Dm� �=1��21gMP7A3502�yuBC������G�X����0(<= �<=��;2��N�1��20/C�<=��)O�&)*;OC��20/%(C��&% h���)*�f"S �=1��21����1V"c�\�&%(N,)*�f)O �=�202� MP7A350B�&)*�!�&W�W�)O��KG<��&%(�21q<��y%(C��f0(�2��0(��%(C��&% %(C��MP7�3E0�0'%(<��=��1� f�� �%�0(C� \h�1���%*��<=��0$ "X�F��%*���F G1��2� + �=��KL�2�,;2 ��0'%')O��<=�6%(0�����1��F G1��2� + �=��KL�2�G;2 ��0'%')O��<���%�%(�2���X���&%(�202��AW�W�)*��KP<��&%(�21 MP7�3E0!���=0( qC�<=1��x1���%*��<=�=0f " )*�2���&%(<= ��0*C�<��E)O �=�20!0(N�;OC���0 �EVCVO\JZJgiWt^igi\L] +A]BvL6 � YO] Y;d WtosgIqJW@^igc\L]}6����1 G Y`W@opg7qkW@^igc\L]����A�����,�������20B "$�&W�W�)*��KP<��&%(�21����P��)*�20(0(<� �q<=0B0(C� th9�q<=�qml<=>P��_P�`_P�uBC��f1�<S��>�)O���F�y�&%(<=;f)O����)*�20(�2�6%*�&%(<= �� "�MP7A350 ;\���qWo�2;2 �F�D�S�&)*> �D����1q \KL��)O��kV;2 �F���=���q<="8%(C���k<=�6KL ��KL�

�y���6kVMP7�3 )* �=�20/ �)�%(C��fM,7A3 )* �=�20/;2 �6%*��<=���DK �&)*<=��%.ky "8"c�\�&%(N,)*�A)* �=�202��ab�V0(N�;*CV;\��0(�20 <�%/�y�2k�Wo�9N�0(�2"cN��%( 5��)*�20(�2�6% �&WX0'%')O��;�% "S �)*�y0� "AM,7A350D4 < �`���76 M,7A350�<=� h9C�<=;OC 0( �y�� " %(C���1���%*��<��=0��&)*�V �F<�%'%(�21 <O� MPN�;*CMP7�3E0f�&)*�x;\���=�=�21 WQ�k�;dnY10kgcW@^?Y`v 2 G u V��A���4�&W�W�)*��KP<��&%(�21 M,7A3 ���=�= th90� ���^%( V>L��<=� ���4N���1���)*0(%*����1�<=��>� "�x�X�&%'%(��)*���&%9���X�&)*%(<=;2N����&) �=��KL�2� "l�&W�0'%')O��;�%(<= �hA<�%(C� N,%/Wo�2<=��>x1�<=0'%')O��;�%(�21WGk�1���%*��<=�=�21<=��"c �)*�y�&%(<= �8�$����&W�W�)O��KG<��&%(�214MP7A3v"S �)9%(C��D0(<=�F���=�!U�W�0(��)(KL��)9�X�&%'%(��)*��<=090(C� \hA�q<=��ml<=>P��YG�`_4:W <O��f��%*��<=�=0�)O�2���&%(�21 %( !%(C�����)O �� ��)*%(<=�20l "�%(C��B��0*0( 6;2<S�&%(<= �F�2��1�0}����1 %(C���Wo�2C��2KP<= �)O���P��)O �� ��)*%(<=�20l "�%(C�� ;2�S��0(0

)* �=�20f�&)*�x �F<�%'%(�21 <=�5m$<�>P� YG�`_4:W <O�!uBC����&W�W�)O��KG<��&%(�21 MP7�3 ;2 ��%*��<=��0f��� �&W�0'%')���;�%(<= � "�%(C�����0*0( 6;2<S�&%(<= �)* �=� 0'%')ON�;�%(N,)*����0D0(C� \h9� <=� ml<=>P�JYG�`_4 �t<O�FuBC�����0(0* 6;2<��&%(<� ���&W�0'%')O��;�%(<= � <�0A�o 0(0*<�W��=�^W �2;\��N�0(���\��;*C ��0*0( &+;2<��&%(<= �4�2��15)* �=�^)*�\���=<=]\�&%(<= �4<=0f��0(0( G;2<��&%(�214h9<�%(C5���,��;�%(��k5 ��� 23T}���;YPZJ^B �) � ��VJYOd 0LY;d�)*�\���=<=]\�&%(<= � ����15%(C��� ��VJYOd 0LYOV/)* ��� C���0}�� ����+ %( &+ ��� )*�2���&%(<= ��0(C�<���h9<�%(Cx�\��;*CF "X<�%(0���0(0( G;2<��&%(<= � �2��1x)* �=�202�}U�%(C���)}�������������20$ "�&W�0'%')���;�%(�21�)O �=� )*�2���&%(<� ��0(C�<��X0�;\����Wo�B"c N���1y<=�VMP�2;�%(<� ��_P��R��Ah9<=�=�,N�0(�A�&W�W�)*��KG<S�&%(�21VMP7�3E0 %( �<=���=N�0'%')O�&%(�%(C��D�20*0(�2��%(<S���80'%')*N�;�%(N�)*�! "lM,7A350B<=�%(C�<=0�� �&� ��)t�

$ � ��! ��$������ �%& $� !�) � �f��%*��<=�=�21���G��)*�20(0(<= ��0 "cN��=��k 1��20(;�)*<=W �B��)* ��o��)(%(<=�20�%(CX�&%/�xN�0'%/Wo�90'�o�2;2<�T��21F��)*��+;2<=0(�2�=k4 tKL��)x�F��%*���y 61��2��+ �=��KL�2� ����1��y 61��2��+ �=��KL�2� �yuBCX�&%^���=0( �<=��;2�=N�1��20�)*�2���&%(<� ��0(C�<�� )* ���20D���G� ����1��21�<=�6%( %(C��D0O���F�!0'%')*N�;�%(N�)*�D��09<=�%(C��De�35H �y��%*���F 61��2��4 ���`>P�76 ��0(0( G;2<��&%(<= �E��N�0(% W �!;2 �����2;�%(�21�%(C,)O N�> Cq�A0*0( &+;2<��&%(<= ��� ��1�0�<O�}�A���������������!<=0 0(C� th9��<=�qml<=>P��_P�@d6�

Page 33: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

7 \ ����������� ���������������������� �������������! "����

1

1

1

1

1

1..*

1

<<AssociationEndRole>>/AssocEndSub

<<AssociationEndRole>>/AssocEndObs

<<Association Role>>/Observes

/Observes<<Association Role>>

1..*

1..*

Construct Abstraction

is abstracted to

(a)

(b)

<<Metamodel−level Constraints>>{self.isAbstract = false}

<<Structural Role>>/ObserverState

<<Behavioral Role>>/Update (s:[[Subject]])

<<Class Role>>/Observer

/SubjectState

<<Metamodel−level Constraints>>

<<Structural Role>>

<<Behavioral Role>>/Attach (s:[[Observer]])

{self.isAbstract = false}

/Detach (s:[[Observer]])

/Notify()

<<Class Role>>/Subject

1..*

1..*

<<Association Role>>/Observes

/GetState()

1..*

1..*

1..*

�����&���' � �� �8�3� � �?(����= ��%'�)0 ��6�2

Page 34: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

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

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

ab� %(C�<=0�0(�2;�%(<= �M6�h�����)*�20(�2�6% 3E��%*��7A �=�A35 G1��2�=0l%(C��&% ;OC��&)O��;�%(��)*<�]2�Bh��2�=� + 1���T����21x0*N,W�0(��%(0} "X)*�\���=<�]\�&%(<= ��0"c �)$%(C�� w! m4�AW�0'%')���;�%lmX��;�%( �)(k@6��f<=0(<�%( �)�1��20*<=> �^� �&%'%(��)*��0}����1���C��2;*{G<=�,+���C��2;({L N�% 4 �/a'�9Uz<o1� ����<=� �F��%*�|+�F G1��2� ��uBC�����)O�2;2<=0(�f"S �)O�F0 "8%(C��f� �&%'%(��)*�q0'�o�2;2<�T�;\�&%(<= �"c �)B%(C����X�&%'%(��)*��0���)*�20(�2�6%(�21�<=�V%(C�<=0�0(�2;�%(<� �E�&)*�WX��0(�21q �q N�)B<=��%(��)*��)*��%*�&%(<= � "8%(C��!1��20(;�)*<���%(<= ��0/> <�KL�2�q<=� 8@�\_L: � uBC�����)O�2;2<=0(���X�&%'%(��)*�q0'�o�2;2<�TX;\�&%(<= ��0 �&)*��� �%/<=��%(�2��1��21�%( D)O�O|��2;�% � F(;2 �F���=��%(�;H^ �)[F(;2 �)()*�2;�%`Hx;*CX�&)O��;�%(��)*<=]\�&%(<= ��0 " %(C��B)*�\���=<=]\�&%(<= ��0} " �X�&%'%(��)*��0/��0�2�6KG<=0O��> �21�WGkV%(C���wf m���N,%(C� �)*02� uBC���)*�!h9<=��� N���1� N,W�%(�21���kFWo�!�F G1��2�=0 %(C��&%9h/��)*��<=�6%(�2��1��21WGkV%(C���wf m��N,%(C� �)O0 4 ����1F �%(C���)O0C<I%( !Wo�/)*�\���=<=]\�&%(<= ��0� "X%(C����X�&%'%(��)*��0�%(CX�&% �&)*�B�� �%�)*�\����<=]\�&%(<= ��0� " N,)���)O�2;2<=0(��"S �)O�F02�Uf��� ;\��� KP<=��h� N,)!�X�&%'%(��)O��0'�o�2;2<�T�;\�&%(<= ��0f��0!;OC��&)O��;�%(��)*<�]2<=��>��Vh��2�=� + 1���T����2150(N�W�0(��%! " )O�\���=<=]\�&%(<= ��0f"c �)%(C��D �)O<=> <=����� �X�&%'%(��)*��02�

��� P ! .b, � Q T'! PRQMS�!"T #���n� � $E#Q.2,�� . V ,�� . Q)2 �ml<=>P��_P���E0(C� th90 %(C��q�AW�0'%')O��;�%FmX��;�%( �)(k 4 �Am�<x�X�&%'%(��)O��0'%')*N�;�%(N�)*�q��0 ��)*�20(�2�6%(�21�<=�N8@�\_L: � ����)* �W��=�2�

h9<�%(CV%(C��^w! m 1��20(;�)*<���%(<� ��<=0�%(CX�&%B<�% <=0/��)*�20(�2�6%(�21q<=�V%(��)*�F0B "$�x% kG��<=;\��� )*�\����<=]\�&%(<= �q "8%(C��f�X�&%'%(��)*�o��a�%(0N�0(�D��0���;2 ������<�����;2�f�o <=�6%9��>L��<=��0'%BhAC�<=;*C���)* ��o 0(�21�X�&%'%(��)*�E)*�\���=<=]\�&%(<� ��09�&)*�D;OC��2;({L�214<=0 KL��)*k��<=�F<�%(�21o�m� �)������������=�L6$%(C�� �{��V�^idnWtZk^ �MWtZk^x\Ld�B 1�����<=;�%(�21 <=� %(C��V1�<���>�)����Q<=0x��� �&W�0(%')O��;�%�;2����0*0;6lW�N,%D%(C������,���F���=���)* tKG<�1��21y<=� 8@�\_L: C���0���� �z��VO^id WtZk^ �MWtZk^x\Ld<BF)*�\���=<=]\�&%(<� �F%(C��&%�<=0 �^;2 ��;�)*��%(��;2����0(0�4:%(C��9;2 ��;�)*��%(�f �� ��)��&%(<= ��0��)* tKG<�1��!1��2":��N���% <=�������2�F�2��%*�&%(<� ��0C<O�ab��"S��)*)*<=��>q��)* ��o��)(%(<=�20 ;2 �F�F �g%( ���=�/�X�&%'%(��)*�g)O�\���=<=]\�&%(<= ��0 "S)* � F'% kG��<=;\��� H4�������������20x;\����)*�20(N���%x<=�

N������2;2�20(0*�&)(k5)*�20'%')*<=;�%(<� ��0f � h9C��&%D;\��� Wo� ;2 ��0(<=1���)O�215%( Wo�x�X�&%'%(��)*��)*�\���=<=]\�&%(<= ��02��m� �)����,�����X�=�L68<�%!<=0�� �% ;2���\�&) C� th ���B;\����)*<=> �)O N�0(��kx�20'%*�&W��=<=0*C %(C��&% %(C��9�F 61��2��<=��ml<=>P�6_P�@?D<=0 �f)O�\���=<=]\�&%(<= �F " %(C��9�9W�0(%')O��;�%m���;�%( �)(k �X�&%'%(��)O�o��ab�4%(C�<=0f�F G1��2�c6 %(C��(��WLd �MWQZJ^x\Ld<B <=0!��� <=��%(��)O"c��;2� %(C��&%D;2 �6%*��<=��0! ���x":��;�%( �)(k �F��%(C� G14 �� �%90*C� \h9� </%(C��&%9;�)*�\�&%(�20f� ��)O 61�N�;�%� "$%(C��D% kG� �!0(� �2;2<=T��21W6kq<�%(0B�X�&)O���F��%(��)[4 ��> 6 G1�<=�F���=�2�F�2�6%*�&%(<= � "$%(C�<=0 �F G1��2� h� N��=1)*�;>GN�<�)O�f�F1,kG�X���F<=;\���=��ky% kG� �21���)* >�)O���F�y<=��> ������> N���> �^0(N�;*C5��0�MP�y�����=u$���={<O��������������20/ "Ih9C��&% h��!;2 ��0(<�1���)�%( �Wo��N������2;2�20(0*�&)O<=��k�)*�20'%')O<=;�%(<�KL�f�X�&%'%(��)*�)O�\���=<=]\�&%(<= ���)O �� ��)*%(<=�20/%(C��&%

���D���2kq<=��"c��)B"�)O � %(C��^wf m��������������D�&)*�!> <�KL�2��Wo�2�= thD�

w �1Y;dnY-� TbV�^[�CY \L] Y \Ld �U\Ld`Yja3d \kvLT}ZJ^5V?a1YPZ;gcW@opg7qkW@^igi\@] �QgcY;d W@d Z��QgcYOV �gi^�� WQ�OV�^idnWtZJ^5dn\J\@^5VCT�a1Y;d Zko W�VCV;YOV��uBC�<�0^N������2;2�20(0*�&)*<=�=k5��)O�2;2�=N�1��20�)*�\���=<=]\�&%(<� ��0^%(CX�&%xC��\KL�e4b�r<^;2 ��;�)*��%(�)* G �%x0(N�� ��)O;2����0(0(�20D4:%( 5��)* \KP<=1��1��2":��N���%D<=�F���=�2�F�2�6%*�&%(<= ��0C<C6 4 ?@<f��)* G1�N�;�%DC�<=��)O�&)*;OC�<=�20f%(C��&%��&)O�FWX��0(�21 � ? d`Y`W@opg7qrY @ 1����o�2��1��2��;�k)*�2���&%(<� ��0(C�<��X0fW ��%.h/�2�2� <=�6%(��)*":��;2�20� �)x% kG�o�20x����1 <=�������2�F�2��%*�&%(<� � ;2����0(0*�20;6l����1 4 Yt<!��)* G1�N�;�%^;2����0*0(�20%(C��&%A�&)O�!�� �%B�X�&)(%B "����6kV0(� �2;2<S���=<=]\�&%(<= � 4 �)f����kq �%(C���)�< C�<=��)O�&)*;OC�<=�202�

7.u

Page 35: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

?!a ����������� ���������������������� �������������! "����

ProductB2 ProductB1

AbstractProductB

ConcreteFactory1 ConcreteFactory2CreateProductA()

ClientCreateProductA()

AbstractFactory

ProductA2 ProductA1

AbstractProductA

CreateProductB()CreateProductA()

CreateProductB()

CreateProductB()

��� �����' �� �< � ��� �U! � � �?. %'('�<;5%�� ��;5%'!<(�� $���%%'�9(�

CassettePlayer CDPlayer

AudioSystem

Cloth Leather

Upholstery

BasicFactoryLuxuryFactory EconomyFactory

Client

AirConditioner

CarFactory<<Interface>>

<<create>>

<<create>>

<<create>>

<<create>>

<<create>><<create>>

<<create>>

<<create>>

<<create>>

<<realize>>

<<realize>>

<<realize>>

��� �����' �� �� � ��� �U! � � �?. %'('�<;5%�� ��;5%'!<(�� $���%%'�9(�

+ WQZ�� ZC\L]BZ;d`Y;^?Y w;WtZJ^x\Ld<B � TbV�^ �bW�0@YjYP_QWtZk^co B-\L]�YUZ;d`Y`Wt^?Yj\�aYOdnW@^igi\@]mw;\LdUY`WtZ��ja3dn\JvLT}Zk^ �QgxYOdnWLdnZ�� B ��uBC�<=0��)*�2;2��N�1��20$)*�\���=<=]\�&%(<� ��0�<=� h9C�<�;*C�;�)*�\�&%(<= �� "X;2��)*%*��<=����)* G1�N�;�%(0�<�0� ���%(<= �����c6G����1 )*�\���=<=]\�&%(<� ��0�<=� h9C�<�;*C ���! �)��F �)*�!0'�o�2;2<����=<�]\�&%(<= ��0 "S)* � %(C��!0*���y�!��)* G1�N�;�% C�<=��)��&)*;*C6kV;\���EWo��N�0(�21q%( �W�N�<=�=1��0'%')*N�;�%(N�)*���

uBC��B35��%*��79 ���A35 61��2��0}1��20(;�)*<=W �21 <=�VMP�2;�%(<= �yY!;\���y��)* tKG<=1�� Wo��%'%(��)/;2 �����=<�����;2��� <���%(0}��>L��<=��0'%}h9C�<�;*C��)* ��o 0(�21�)*�\���=<=]\�&%(<= ��0D;\����Wo��;*C��2;({L�21 Wo�2;\��N�0(��%(C���k ��)O�2;2<=0(�2��k ;*C��&)���;�%(��)*<=]2�F)O�\���=<=]\�&%(<= ��0\�yab� %(C��F"c � +

Page 36: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� � ��� ��� �7� ?',

�= th9<=��>16}R���0(C� th ��m MP7A350A�&%�1�<7K ��)*�2�6%B�=��KL�2�J "}�&W�0(%')O��;�%(<= ��6�WXN,%B)*����)O�20(�2��%(<���>�0*���F� MP7A3509<=�E �)*1���)%( y��;OC�<=��KL�^>�)���1�N����oN���1���)*0'%*����1�<���>� "l1���%*��<��=02�

� )+���O$�� � ��&���� � � ��� � )�&�� � '�� � ml<=>P�o_P�ZYq0*C� \h90D�Vm� ��1��21 �AmiMP7�3 %(C��&%D<���;2�=N�1��20 �MWQZJ^x\Ld<By����1�Adn\JvLT}Zk^L)* �=��C�<=��)O�&)*;OC�<=�208����1 �/opgcY;]3^ )* ���lh9<�%(Cf% h� 9��0(0* 6;2<��&%(<� �!)* �=�20�4��/opgxYO]3^ � WtZJ^x\Ld<B � ZCZP\JZt6��/opgcY;]3^��Adn\JvLT}ZJ^ ��VPV;\JZr<����1q%.h/ �1����o�2��1��2��;�k�)* �=�20�4��/opgcY;]3^ �MWQZJ^x\Ld<B�@[Y a$6 �/osgxYO]B^��Adn\JvLT}ZJ^,@ Y'aM<O�

/Factory/Client

/Product<<Classifier Role>>

<<Hierarchy>>

0..1

0..1

1

<<Class Role>>

*

<<Association Role>>

*<<Usage Role>>

*

*

/ClientFactoryAssoc

/ClientFactoryDep

<<Classifier Role>><<Hierarchy>>

0..1

0..1

<<Usage Role>>/ClientProductDep

<<Association Role>>/ClientProductAssoc

{at least 1}{at least 1}

��� �����' �� �� �?!�� 0��10 � �C. %'('��;5%�� ��;5%'!<(�� ��6�2

uBC�� �xN���%(<=���=<=;2<�%.k^ � �/opgxYO]3^$)*�20'%')O<=;�%(0}%(C��&%/�!)*�\���=<�]\�&%(<= �F " %(C��B��m MP7A3 �xN�0'% ;2 ��0(<=0'%} " ������;�%(��kF ���)*�\���=<�]\�&%(<= �� " �/opgxYO]3^���uBC��/��)*��+ 1���T����21�;2 ��0'%')���<=��% s W@^1o7Y`W�VO^G� u 0(C� th9� Wo��% h��2�2��%(C�� �/opgcY;]3^ �MWtZk^x\Ld<B ��VPV;\JZ����1 �/osgxYO]B^ �MWtZk^x\Ld�B�@ Y'a )*�2���&%(<= ��0(C�<���)O �=�20�0(%*�&%(�20 %(C��&%x�\��;OCg�X��<�) " �MWQZJ^x\Ld<B ����1 �/osgxYO]B^D)*�\���=<�]\�&%(<= ��0�xN�0'%EWo��;2 �����2;�%(�21 W6k �&% �=�\��0'%4 ��� )O�2���&%(<= ��0(C�<�� %(C��&% <=0E�2<�%(C���)4���[��0(0( G;2<��&%(<= � 4 ��)*�\����<=]\�&%(<= � "�/opgcY;]3^ �MWtZk^x\Ld<B ��VPV;\JZr</ �)B�^N�0*��> ��1����o�2��1��2��;�k 4 �^)*�\���=<=]\�&%(<= �V " �/opgcY;]3^ �MWtZk^x\Ld<B4@ Y a�<C6�%(C��&%/<=0;6G%(C�� �/opgxYO]3^)*�\���=<�]\�&%(<= �5<�0A;2 �����2;�%(�21 %( V�\��;OC �MWtZk^x\Ld<BE)*�\���=<�]\�&%(<= �EKP<��V��� ��0(0( G;2<��&%(<= �4 �)�KP<��V�yN�0*��> � 1����o�2��1��2��;�k �uBC�<�09;2 ��0'%')���<=��%f;\��� ���=0( �W �����G��)*�20(0(�21 ��0f�F��%*���F G1��2� + �=��KL�2�$;2 ��0'%')O��<���%(0f<=� �/osgxYO]3^A����1�� WtZJ^x\@d�B4N�0(<=��>%(C��fUD��H�Wto=o D�]V�^xW@]BZCYOVf"c�\�&%(N,)*�L66W�N,%}%(C��B)*�20(N���% <=0}�F �)*�9;2 �����=���F"c �)*�F0 "o�y��%*���F 61��2� + �=��KL�2��;2 ��0'%')O��<=�6%(02�MP<=�y<=���&)*��k@6L� �/opgxYO]3^l)*�\����<=]\�&%(<= �F<=0 ;2 �����2;�%(�21�%( ^�\��;*C �Adn\JvLT}Zk^�)*�\���=<=]\�&%(<� ��KG<S�D���y��0(0( G;2<��&%(<= �� �)/�!N�0*��> �1����o�2��1��2��;�k �

���%&�$�O!����$�� � ��&���� � � ��� � )7&� � '� � �A� �&W�W�)*��KP<��&%(�21 MP7�3 ;*C��&)O��;�%(��)O<=]2<=��>E��1���%*��<=�=�21�0(%')*N�;�+%(N,)O��� KP<=��h "I�AW�0'%')���;�%�mX��;�%( �)(k�X�&%'%(��)*�q<=0�0(C� th9�q<=�Vml<=>P��_P�`_P� uBC��AT�> N,)O��0*C� \h90 N���"S ��1��21F)* ����C�<=��)O�&)'+;*C�<=�20B " �MWtZk^x\Ld<B�����1 �Sd \Jv@TZk^J����1q%(C��2<�)B)*�2���&%(<� ��0(C�<��X02�uBC��fTX> N,)*�f1�����<=;�%(0B%(C��&%B%(C��!��m�MP7A3v;2 ��0(<�0'%(0 "$% h� F�y� �( �)9)* �=�!0(%')*N�;�%(N,)*�20\��%(C�� �MWtZk^x\Ld<Bq����1q%(C��

�Adn\JvLT}Zk^^)* ����0'%')ON�;�%(N,)*�yh9C���)*��%(C�� �MWtZk^x\Ld�Bg����1 %(C��8�Sd \kvLT}ZJ^x)* �=�20 �&)*��&W�0'%')O��;�% 4 < �`���76 s )O�\���=<=]\�&W��=� �":���=0(� u <O� uBC���)*���&)*�!% h� �% kG� �20A " �MWtZk^x\Ld�Bq)O �=�202� �{��V�^idnWtZk^ �MWtZk^x\Ld�B4����1 ��\L] Z;d`Y;^?Y � WtZJ^x\@d�BX�979�\���=<�]\�&%(<= ��0 "�%(C�� � WtZJ^x\Ld<B 0'�o�2;2<����=<=]\�&%(<= �^)* �=�20l;\��� Wo� ;2 �����2;�%(�21��2<�%(C���)lWGkx�A)*�\���=<=]\�&%(<� �� "�%(C�� �MWtZk^x\Ld�B�G YPW@opg7qkW@^igi\@])* �=�D4 �Fef3EH ? d`Y`W@opg7qrY @ 1����o�2��1��2��;�k<� �)!��)O�\���=<=]\�&%(<= �5 "l%(C�� � WtZJ^x\Ld<B � YO] Y;d WtosgIqJW@^igc\L] )* ���U4 �yef35H> �2����)O����<=]\�&%(<= ��)O�2���&%(<= ��0(C�<�� <O� u9C�<=0�)* ����0'%')*N�;�%(N�)*�q�o��)*�F<�%(0F)*�\���=<=]\�&%(<= ��0�%(C��&%V�&)O��4b�r<yC�<=��)O�&)*;OC�<=�20F "":��;�%( �)(kE;2����0(0*<�T���)*0z4:W ��0(�21E �4> �2����)O���=<�]\�&%(<= �5����1 ? dnYPW@osgIqkY @ )O�2���&%(<= ��0(C�<���0C<C6�����1�4 ?@< ;2����0*0(<�T���)*0B%(C��&%�&)*�F�� �%!�X�&)(%D " ����k C�<=��)��&)*;*C6k ��MP<=�F<����&)*��k@6 %(C���# )* 61�N�;�%f)* �=��0'%')*N�;�%(N,)*� �o��)*�F<�%(0�)*�\����<=]\�&%(<= ��0!%(CX�&%��&)*�C�<=��)��&)*;*C�<��20 "I��)* 61�N�;�% ;2����0(0(<�TX��)*0B����1q;2����0(0*<�T���)*0�%(C��&%A1� ��� �%BWo�2�= ��>x%( y���6kqC�<=��)O�&)O;*C6k �

$ � ��! ��$�� � ��&���� � � ��� � )�&�� � '� � ml<=>P�o_P�@d�0(C� \hA0f�V1���%*��<��=�21 M,7A3 "�%(C��x��m MP7A3 <=�4ml<=>P�o_P�`_4:%(C�� 1����o�2��1��2��;�k�)* �=�20�Wo��% h��2�2� �/osgxYO]B^�����1 � WtZJ^x\Ld<B36l����14Wo��% h��2�2� �/osgxYO]3^f����1 �Adn\JvLT}Zk^f�&)O�x �y<�%'%(�21<=�qml<=>P��_P�@d %( �)*�21�N�;2�!;2��N,%'%(��)A<=�%(C��!1�<���>�)O���D<O�uBC��f��)* ��o��)(%(<=�20����G��)*�20(0(�21�<��qm$<�>P��_P�@d��&)*�D0*N��F�y�&)*<�]2�21W �2�� \hD�

� � � � )7&��� uBC���)*� �xN�0'%�Wo�B�&% ���\��0'% ��� � WtZJ^x\Ld<B�)*�\���=<�]\�&%(<= ��<=�y���F��m MP7�3��L�/��;*C � WtZJ^x\@d�B�)*�\����<=]\�&%(<= ��xN�0'% C��2KL���&%��=�\��0'% ���V)*�2���&%(<� ��0(C�<�� 4 ������0(0( G;2<��&%(<= �g �)F�51���� �2��1��2��;�k )*�2���&%(<� ��0(C�<���<�h9<�%(Cg� �/opgxYO]3^)*�\���=<�]\�&%(<= �o���z�OV�^idnWtZJ^ � WtZJ^x\Ld<BE����1 ��\@]BZ;d`Y;^?Y �MWtZk^x\Ld�Bq)O�\���=<=]\�&%(<= ��0 CX�2KL�D%(C��D"S ���= \h9<���>^��)* ��o��)(%(<=�202�

Page 37: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

?%7 ����������� ���������������������� �������������! "����

/AbstractFactory /ConcreteProduct/AbstractProduct/ConcreteFactory

/Client

{XOR}

{at least 1}{at least 1}

/FactoryGeneralization<<Generalization Role>>/ProductGeneralization

<<Abstraction Role>>/ProductRealization

/Product

/FactoryRealization<<Abstraction Role>>

<<Behavioral Role>>/CreateProdBeh()

{XOR}

/Factory

<<Generalization Role>>

<<Classifier Role>> <<Class Role>><<Classifier Role>><<Class Role>>

<<Usage Role>>/ConcreteDep

<<Class Role>> 1

<<Association Role>>/ClientProductAssoc

<<Association Role>>/ClientFactoryAssoc

*

* *

*<<Classifier Role>>1..*

{realizable = false}

0..1 0..1

*

*1..*

*

*

0..1

<<Classifier Role>>

{realizable = false}

0..1 * ***

1..* 1..*

<<Usage Role>> <<Usage Role>>/ClientProductDep/ClientFactoryDep

HierarchyHierarchy

��� �����' �� �� �� � ��(����=��&%'�10�� �C. %'('��;5% � �<; %'!<(�� ��6�2

uBC���k C��2KL�E ���q �)y�F �)*�Wo�2C��\KG<� �)*0 %(C��&%�)*�\���=<�]2� ��dnYPW@^?Y �Sd \Jv�H�Y�� � � ��;OC Wo�2C��2KP<= �)F;�)*�\�&%(�20V� ����h<=��0(%*����;2�! "$��)*�\���=<=]\�&%(<= �E " �Sd \Jv@TZk^��

Q\S,U�ZWX<U��,S�m=n��<Uk � � �b\b��,S�m\nWR=�X�d\d`��<S�U� *X�SWR�U��m�l�X! ?S,U�l R�[�X,g � Z@VTn�� ^{m:W[��,l��<U<g=X�S�RTU�ouBC���k�C��\KL�As^ �)/�F �)O�9> �2����)O����<=]\�&%(<= ��0;6G �)/s^ �)/�F �)O� ? d`Y`W@opgIqkYC@ )O�2���&%(<= ��0(C�<���0lh9<�%(Cy �%(C���) � WtZJ^x\@d�B)*�\���=<�]\�&%(<= ��02�Bu h� � WtZJ^x\@d�B�)O�\���=<=]\�&%(<= ��0�;\������ �%�Wo�D;2 �����2;�%(�214WGkqWo �%(C4� �MWtZk^x\Ld�B�G YPW@opg7qkW@^igi\@] )*�\��� +<=]\�&%(<= �q����1q� �MWQZJ^x\Ld<B � YO] Y;d W@opgIqJW@^igc\L] )*�\���=<�]\�&%(<= ��6���0 <=��1�<�;\�&%(�21yWGkF%(C�� s� �YG u ;2 ��0'%')O��<���%/Wo��% h��2�2�%(C��q)O �=�202� a�� �,? d`Y`W@opgIqkY�@ )O�2���&%(<= ��0(C�<��M6 %(C��E0(N,�����=<=��)��xN�0'%yWo�E��� <=�6%(��)*"c��;2�5 �)� ;2����0(0y%(C��&%;\��� C��\KL�q �� ��)��&%(<= ��094:W�N,%��� �F��%(C� G1�0C<C6 h9C�<=�=�y%(C��;2�=<=�2�6%���N�0(%xWo��4;2����0(02� a�� �4> �2����)O���=<�]\�&%(<= �)*�2���&%(<� ��0(C�<�� 66%(C��!0*N,�o��)*;2����0(0B����1%(C��D0(N,Wo;2����0(0 �xN�0'% Wo �%(CWo�!<=�6%(��)*":��;2�209 �)BWo �%(CqWo�!;2����0(0*�202��z�OV�^idnWtZJ^ � WtZJ^x\Ld<B )*�\���=<=]\�&%(<� ��0D;\��� Wo�F�&W�0'%')���;�%^;2����0(0(�20^ �)�<=�6%(��)*":��;2�20;6Jh9C�<=�=� ��\L]BZ;d`Y;^?Y �MWtZk^x\Ld<B )*�\��� +<=]\�&%(<= ��0 ��N�0(%BWo��;2 ��;�)*��%(�^;2����0*0(�202�

79�\����<=]\�&%(<= ��0� " ��\L]BZJdnYJ^?Y � WtZJ^x\Ld<B �&)*��;2 �����2;�%(�21 %( ���� �)!�F �)O�^)*�\����<=]\�&%(<= ��0� " ��\L]BZJdnYJ^?Y �Sd \Jv@TZk^KP<�� N�0*��> �D1���� �2��1��2��;2<=�20E4:)*�\���=<�]\�&%(<= ��0B " ��\L]BZJdnYJ^?Y�@ Y'aM<O�

� &�) � � � ��� uBC���)O���xN�0'% Wo�q�&%F�=�\��0'%� ��� �Adn\JvLT}ZJ^ )O�\���=<=]\�&%(<= �g<=� ��� ��m[MP7�3����/��;*C �Sd \Jv@TZk^x)*�\��� +<=]\�&%(<= � �xN�0'%^C��\KL�V�&% �=�\��0'%x ���F)O�2���&%(<= ��0(C�<�� 4 ��� ��0*0( 6;2<S�&%(<= � �)���1���� �2��1��2��;�k )*�2���&%(<= ��0(C�<�� <9h9<=%(C ��/opgcY;]3^ )*�\���=<�]\�&%(<= �o� �{��V�^idnWtZk^��Adn\JvLT}ZJ^f����1 ��\L]BZ;d`Y;^?Y �Adn\JvLT}ZJ^A)*�\���=<�]\�&%(<= ��0���N�0(%AC��\KL� sy �)!�F �)*�^> �2����)'+���=<=]\�&%(<� ��0;6J �)�s� �)^�F �)*� ? d`Y`W@opgIqkY/@ )*�2���&%(<� ��0(C�<��X09h9<=%(C �%(C���) �Adn\JvLT}Zk^!)*�\���=<=]\�&%(<� ��02��HJ<�{L� � WtZJ^x\@d�B)*�\���=<�]\�&%(<= ��0;6$% h� �Sd \kvLT}ZJ^!)*�\����<=]\�&%(<= ��0�;\������ �%^Wo�F;2 �����2;�%(�21 W6k Wo �%(C � �Adn\JvLT}ZJ^,G YPW@opg7qkW@^igi\@] )O�\���=<=]\�|+%(<= ������1 � �Adn\JvLT}ZJ^ � Y;] YOdnW@opg7qkW@^igi\@] )*�\���=<�]\�&%(<= �o�guBC��q> �2����)O����<=]\�&%(<= ������1�? dnYPW@opg7qrY @ )*�2���&%(<� ��0(C�<��

Page 38: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� � ��� ��� �7� ?!?

<<Abstraction Role>>/AFRealization

{XOR}

<<Generalization Role>>/AFGeneralization

<<Metamodel−level Constraints>>{self.parent.evaluationType()

/Factory

/Client

<<Metamodel−level Constraints>>{(self.supplier.oclIsTypeOf(Interface) or

self.supplier.oclIsTypeOf(Type)) and

self.client.oclIsTypeOf(Class) and

/FactoryGeneralization

{XOR}<<Abstraction Role>>/FactoryRealization

<<Generalization Role>>

<<Metamodel−level Constraints>>{self.isAbstract = false}

post : result = p and p.oclIsNew() = true}{pre:true/CreateProdBeh():[[Product]]

<<Behavioral Role>>

1

11

Client and Product (Factory) not shownNOTE: Dependency Role between

<<Generalization Role>>/ProductGeneralization

0..1 * *0..1

1 1 1 1

self.isAbstract = true}self.oclIsTypeOf(Class)) and{(self.oclIsTypeOf(Interface) or<<Metamodel−level Constraints>>

/AbstractFactory /ConcreteFactory

{self.isAbstract = false}<<Metamodel−level Constraints>>

/AbstractProduct

<<Metamodel−level Constraints>>{self.oclIsTypeOf(Interface) orself.oclIsTypeOf(Class)) andself.isAbstract = true}

<<Metamodel−level Constraints>>

/ConcreteProduct

{self.isAbstract = false}

<<Metamodel−level Constraints>>

/Product

1

<<Abstraction Role>>/ProductRealization

<<Abstraction Role>>/AFRealization

1 1 1 1

<<Association Role>>/ClientFactoryAssoc

= self.child.evaluationType()}

11

<<Classifier Role>>

{realizable = false}<<Class Role>>

*

self.stereotype.name="realization"}

{realizable = false}{realizable = false}

1

1..*

* * *

/FactoryAssocEnd /ClientFactoryAssocEnd<<AssociationEnd Role>>

/ClientProductAssocEnd<<AssociationEnd Role>> <<AssociationEnd Role>>

/ProductAssocEnd<<AssociationEnd Role>>

/ClientProductAssoc<<Association Role>>

<<Classifier Role>> <<Class Role>> <<Classifier Role>> <<Class Role>>

{self.stereotype.name=’create’}

<<Usage Role>>/ConcreteDep

1..*

11

{realizable = false}

*

1

*

1

1

*

1..*<<Classifier Role>>

111

*

1..*

�����&���' �� �< ��"�5% ��=�� �10 � �?. %'('�<;5%�� ��;5%'!<(�� ��6�2

)* �=�20�C��2KL�y��)* ��o��)(%(<=�20!0*<=�F<=���&)!%( �%(C� 0(�y<�� %(C�� � WtZJ^x\Ld<B )* �=�F0(%')*N�;�%(N,)*��� �z��VO^id WQZJ^��Adn\JvLT}Zk^D)*�\���=<�]\�&%(<= ��0�xN�0'% Wo�B<���%(��)*":��;2�20� �)��&WX0'%')O��;�%�;2����0(0(�20;6Gh9C�<��=� ��\L]BZJdnYJ^?Y �Adn\JvLT}Zk^ )*�\����<=]\�&%(<= ��0 ��N�0(% Wo�B;2 ��;�)*��%(�f;2����0*0(�202�

��� !�$ ��� � )*�\���=<=]\�&%(<= � " �/opgxYO]3^!�xN�0'%DWo�F�E;2 ��;�)*��%(�y;2�S��0(02� � WtZJ^x\@d�B ����1 �Adn\JvLT}ZJ^f)O�\���=<=]\�&%(<= ��0x�&)*�;2 �����2;�%(�21E%( �/opgcY;]3^�)*�\���=<=]\�&%(<� ��0�KG<S� N�0*��> �D1����o�2��1��2��;2<=�20�4 �� �%90*C� \h9�q<��qm$<�>P��_P�@d@< �)A��0*0( 6;2<S�&%(<= ��02�uBC��DW �2CX�2KP<= �)O���o��)O �� ��)*%(<=�20B "$%(C��^�AW�0'%')���;�%Am���;�%( �)(kE�X�&%'%(��)*�5�&)O����1��;>GN��&%(�2��k�0'�o�2;2<�TX�21W6kq��)O��+/����1

�o 0'%b+ ;2 ��1�<=%(<= ��0;6G%(C6N�0�%(C���)*�f<=0��� ���2�21%( �1���T��������ab7A3Q"S �) %(C�<�0 � �&%'%(��)*�o�}uBC��f0(�����=�=�20'%��F G1��2�=0 %(C��&%;\��� )*�\����<=]2� N,)D�AmiMP7�3 ;2 ��0*<=0'%! " � � WtZJ^x\Ld<B4)*�\���=<=]\�&%(<= � 4 < �`���76I�V)*�\���=<=]\�&%(<� � " �z�OV�^idnWtZJ^ � WtZJ^x\Ld<B �)��\L]BZJdnYJ^?Y � WtZJ^x\Ld<B1<C69� �Adn\JvLT}ZJ^x)*�\���=<�]\�&%(<= ��6/� �/opgxYO]3^�)*�\���=<=]\�&%(<� ��6/�4)*�2�S�&%(<= ��0(C�<=� Wo��% h��2�2� %(C�� �/opgxYO]3^)*�\���=<�]\�&%(<= �4����1E%(C�� �MWQZJ^x\Ld<B�)*�\���=<�]\�&%(<= �E%(CX�&%�<=0��2<�%(C���)!��� ��0(0( G;2<��&%(<= � �)f��N�0*��> �x1����o�2��1��2��;�k@6 ����1 �

Page 39: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

? L ����������� ���������������������� �������������! "����

)*�2���&%(<� ��0(C�<���Wo��%.h/�2�2��%(C�� �/opgcY;]3^l)*�\���=<�]\�&%(<= ������1y%(C�� �Sd \Jv@TZk^�)*�\���=<�]\�&%(<= �F%(C��&%/<=0}�2<�%(C���)/������0*0( 6;2<S�&%(<= � �)�� N�0O��> �q1����o�2��1��2��;�k � a�"9%(C�� �MWtZk^x\Ld<Bg����1&�Sd \kvLT}ZJ^ )*�\���=<�]\�&%(<= ��0F�&)*�;2 ��;�)*��%(�E;2����0(0(�20;6/%(C��2�g%(C���k�&)*� ;2 �����2;�%(�214WGk5�VN�0*��> � 1����o�2��1��2��;�ke4 ��)*�\����<=]\�&%(<= �4 "#��\L]BZJdnYJ^?Y�@ Y'aM<O� �A �%(� %(C��&%�)*�\���=<�]\�&%(<= ��0A%(C��&%;2 ��0(<�0'%D ����k4 "/�&W�0(%')O��;�%^;2����0(0*�20^ �)^<=�6%(��)*":��;2�20^�&)*���o��)*�y<�%'%(�214W6k4%(C��F��miMP7A3 1��20(;�)*<=W �21 C���)O���FuBC�<=0�o��)*�F<�%(0�%(C��!N�0(�! "$�X�&%'%(��)*��09<=�%(C��D1���KL�2�� ����F�2�6%9 "I1��20(<=> �q"S)O���F��h� �)({G09WX��0(�21� �5�&W�0'%')O��;�%9;2�S��0(0(�202�

���5O �N% #%f. Q)2� "S �=1��21EMP7A3v"S �)A%(C��f�f<=0(<�%( �) �X�&%'%(��)O�E<=0 0(C� \h9��<��qm$<�>P��_P�ZjG�

/Visitor/ObjectStructure

/Element<<Classifier Role>>

<<Hierarchy>>

<<Usage Role>>

/CallDep

1..* 1..*

<<Class Role>><<Classifier Role>>

<<Hierarchy>>

<<Association Role>>/ObjStructElemAssoc

1..* 1..*1..*

��������� �� ��� �C!�� 0��10��8=�. =�%'!�( �46U2

���E�&W�W�)*��KP<��&%(�21EMP7�3R"S �)B%(C��f��<=0*<�%( �) �X�&%'%(��)*�5<=0 0(C� th9��<=�qml<=>P��_P�@n6�

<<Class Role>>/ConcreteVisitor

<<Classifier Role>>/AbstractVisitor

<<Class Role>>/ObjectStructure

<<Classifier Role>>/AbstractElement

<<Behavioral Role>>

<<Class Role>>/ConcreteElement

<<Classifier Role>>/Element

<<Behavioral Role>>

/ElementGeneralization<<Generalization Role>>

/ElementRealization<<Abstraction Role>>

<<Classifier Role>>/Visitor

<<Behavioral Role>>

<<Abstraction Role>>/VisitorRealization

<<Usage Role>>

<<Association Role>>/ObjStructElemAssoc

<<Generalization Role>>/VisitorGeneralization

1..*

1..*

/OperationBeh()

{XOR}

{realizable = false}

*

/AcceptBeh()

*

1..*

*

*

1..*

1..*

*

{XOR}

{realizable = false}

/VisitElem()

1..*

*

* *

/CallDep

Hierarchy

1..*

Hierarchy

��������� �� �� �� � �?(����= ��%'�)0���= . =�%'!<( �46U2

uBC��!1���%*��<=�=�215MP7�3Q<�0B0(C� th9��<=�qml<=>P��_P�ZpG��uBC��f�f<=0(<=%( �)�MP7A3v;2 ��0(<�0'%(0B "$% h� y�y� �( �)9)O �=�!0'%')*N�;�%(N�)*�202�%(C�� p g V�gy^x\@dq����1 %(C�� +So7YO�jY;]3^�)* �=� 0'%')*N�;�%(N�)*�20;6J<=� hAC�<=;*C %(C�� pMg=VCgi^x\Ld�����1 %(C�� + o Y;�jYO]3^�)* �=�20D�&)O�y�&W,+0'%')O��;�%2�/79�\���=<�]\�&%(<= ��0B "�pMg=VCgi^x\Ld��&)*�!)*�2"c��)()*�21�%( y��0C0kg=VCgi^x\Ld5Zko WLVPVCg h)Y;dPV�6 ����1q)O�\���=<=]\�&%(<= ��0 " + o Y;�UY;]3^ �&)*�)*�2"c��)()*�21�%( ���0�YJo Y;�jYO]3^�Zko W�VCVCg h)YOdCVO� uBC���)*�f�&)*�A% h� x0(� �2;2<S���=<=]\�&%(<= ��0 "o%(C�� pMg=VCgi^x\LdD)O �=��� �z��VO^id WtZk^ pMg=VCgi^x\Ld;*CX�&)O��;�%(��)*<=]2�20VKP<=0(<�%( �)y;2�S��0(0(<�T���)O0�%(C��&%y��)* \KP<=1��E�&WX0'%')O��;�%�<���%(��)*":��;2�20�%( �KP<=0(<�%( �)y"cN���;�%(<� ��0 4 <=��%(C��E"c �)*� "�e�35H <=�6%(��)*":��;2�20F �)��&W�0(%')O��;�%y;2����0(0*�20C<C6/����1 ��\L]BZ;d`Y;^?Y�pMg=VCgi^x\Ld ;*CX�&)O��;�%(��)*<=]2�20yKG<=0*<�%( �)�;2����0(0(<�TX��)*0x%(C��&%��)* tKG<�1��D;2 ��;�)*��%(� <=�F���=�2�F�2�6%*�&%(<= ��0B "lKP<=0(<=%( �)A"cN���;�%(<= ��0\�/u h� �)*�\���=<=]\�&%(<= ��09 "l%(C�� pMg=VCgi^x\Ld�)* �=�^;\���5Wo�;2 �����2;�%(�21 �2<�%(C���)9WGkq�F)*�\���=<=]\�&%(<� �E "l%(C�� pMg=VCgi^x\Ld&G Y`W@opgIqJW@^igc\L] )O �=�j4 �ye�35H ? d`Y`W@opgIqkY @ 1����o�2��1��2��;�k< �)��q)*�\���=<�]\�&%(<= � " %(C��fp g V�gy^x\Ld � YO]�YOdnW@osgIqJWt^igi\L] )* �=�-4 �Eef3EH > �2����)����=<=]\�&%(<= � )*�2���&%(<= ��0*C�<�� <O�uBC�<=0D)* �=�0'%')*N�;�%(N,)*�f�o��)*�F<�%(0/)*�\����<=]\�&%(<= ��0 %(CX�&%A�&)*�G4b�r< C�<=��)O�&)*;OC�<=�20 "IKG<=0*<�%( �)B;2����0(0(<=T���)*0�4:WX��0(�21E ��> �2����)O���=<�]\�&%(<= �

Page 40: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� � ��� ��� �7� ? P

����1 ? dnYPW@opg7qrY @ )*�2�S�&%(<= ��0(C�<=��0C<C6X����1~4 ?@<A0'%*����1P+.���� ���^;2����0*0(<�T���)*054 < �`���76 KG<�0(<�%( �)f;2����0(0(<�TX��)*0B%(C��&%!�&)*�x�� �%�X�&)(%F "!� KP<=0(<=%( �)F;2����0(0(<�TX��)FC�<=��)O�&)*;OC�k}<O� MP<��F<=���&)*�=k@6$%(C���� �=�2�y�2��%�)* ���q0'%')*N�;�%(N,)O�� ��)O�F<�%(0 )*�\���=<�]\�&%(<= ��0%(C��&%��&)O�FC�<=��)O�&)O;*C�<=�20! "��2�=�2�y�2��%^;2�S��0(0(<�T���)O0G4:)*�\���=<=]\�&%(<= ��0D "/%(C�� +So7YO�jY;]3^�)* �=�k<f����1�0(%*����1P+.���= ���y;2����0b+0(<�TX��)*02�E7A�\���=<=]\�&%(<= ��0 " ��\@]BZ;d`Y;^?Y�pMg=VCgi^x\Ld5�&)*�V)*�2�S�&%(�21 %( 4)*�\���=<�]\�&%(<= ��0x " ��\L]BZJdnYJ^?YG+So7YO�jY;]3^DKP<���N�0*��> �1����o�2��1��2��;2<=�20�4:)*�\���=<=]\�&%(<� ��0B " ��W@o=o @ Y'aM<O�

/ObjectStructure<<Class Role>>

<<Metamodel−level Constraints>>{self.isAbstract = false}

/CallDep<<Usage Role>>

<<Metamodel−level Constraints>>

/VisitorGeneralization<<Generalization Role>> <<Generalization Role>>

/ElementGeneralization /ElementRealization<<Abstraction Role>>

<<Metamodel−level Constraints>>{self.parent.evaluationType()

/VGeneralization<<Generalization Role>>

/Element<<Classifier Role>>

<<Metamodel−level Constraints>>{self.isAbstract = false}

<<Behavioral Role>>

<<Metamodel−level Constraints>>

<<Class Role>>/ConcreteVisitor

<<Classifier Role>>/AbstractElement

<<Class Role>>/ConcreteElement

{self.oclIsTypeOf(Interface) or<<Metamodel−level Constraints>>

<<Classifier Role>>/AbstractVisitor

(self.oclIsTypeOf(Class) andself.isAbstract = true)}

<<Metamodel−level Constraints>>{self.isAbstract = false}

<<Behavioral Role>><<Behavioral Role>>

{self.oclIsTypeOf(Interface) or(self.oclIsTypeOf(Class) and

self.isAbstract = true)}

<<Classifier Role>>/Visitor

<<Abstraction Role>>/VisitorRealization

<<Metamodel−level Constraints>>{(self.supplier.oclIsTypeOf(Interface) or

(self.supplier.oclIsTypeOf(Type)) andself.client.oclIsTypeOf(Class) and

/VisitorRealization<<Abstraction Role>>

self.stereotype.name=’call’

= self.child.evaluationType()}

{realizable = false}

/OperationBeh()

* *

1 1

1

1

1

1

1

1..*

1

1..*

<<AssociationEnd Role>>

* *** * *

1

1 /AcceptBeh(v: [[ConcreteVisitor]])

1

/ElemAssocEnd<<AssociationEnd Role>>

/ObjStructAssocEnd

1 1

1 1

<<Association Role>>/ObjStructElemAssoc

1

1..*

{XOR} {XOR}

/VisitElem (e: [[ConcreteElement]])

{realizable = false}

1..* 1..*

1..*

self.stereotype.name="realization"}

1..*

��������� �� ��< �"�9% ��=�� �10 �8= . = %'!�( ��6�2

79�\����<=]\�&%(<= ��0� " � ���;YPZJ^ 23^id�T}ZJ^iT1d`Yq�&)*�F;2����0*0(�20^hAC� 0(�F<=��0'%*����;2�20��&)O�y0'%')*N�;�%(N,)*�20^ "��2�=�2�y�2��%(0m4 �W �(�2;�%(0 " + o Y;�UY;]3^})O�\���=<=]\�&%(<= ��0�<C66%(CGN�0 ��� � ���JY`ZJ^ 2B^idCT}ZJ^iT1d`Yf)*�\����<=]\�&%(<= �V<=0 ;2 �����2;�%(�21%( ��^0'%')ON�;�%(N,)*�A "J�2�=�2�F�2�6%;2����0(0*<�T���)*0�KP<�� ���D �)A�F �)*�D��0(0( G;2<��&%(<= ��0 %(C��&%A�&)*�D)*�\���=<=]\�&%(<= ��0B " � ���H2B^idCT}ZJ^ + o Y;� �EVCVO\JZL�MG%')*N�;�%(N,)O���=��k@6I%(C��y0*�y���=�=�20'%��F 61��2�=0D%(C��&% ;\��� )*�\���=<=]2�� N,)��f<=0(<=%( �) MP7�3 ;2 ��0(<=0'%� "z4b�r<^� pMg=V�^x\@d�)*��+

���=<=]\�&%(<� � 4 < �`���76f��)O�\���=<=]\�&%(<= � " �z�OV�^idnWtZJ^ p g V�gy^x\@d �) ��\L]BZJdnYJ^?YTp g V�gy^x\Ldt<C654 ?@<V��� +So7YO�jY;]3^�)*�\���=<�]\�&%(<= ��64 Yt< ��� � ���JY`Zk^ 23^id�TZk^iT1dnY�)*�\���=<=]\�&%(<� ��6 4 _Q< ������0(0( G;2<��&%(<= � )*�\����<=]2<=��> � ��� 23^id�TZk^ +So7YO� ��VPVO\kZWo��% h��2�2� %(C��� ���JY`Zk^ 23^id�TZk^iT1dnY�)*�\����<=]\�&%(<= � ����1 %(C��/+ o Y;�jYO]3^f)*�\����<=]\�&%(<= �o��a�"/%(C�� p g=VCgi^x\Ld�����1 + o Y;�UY;]3^f)*�\���=<�]\�&%(<= ��0�&)*�V;2 ��;�)*��%(�V;2����0(0(�20J6$%(C��2� %(C���k �&)*�y;2 �����2;�%(�21 WGk �5N�0*��> �V1����o�2��1��2��;�k 4 ��)O�\���=<=]\�&%(<= � " ��W@oyo @ Y'aM<O��� �%(� %(C��&%})*�\����<=]\�&%(<= ��0l%(C��&%};2 ��0(<=0'%� ����kx " �&WX0'%')O��;�% ;2����0*0(�20} �) <=�6%(��)*":��;2�20 �&)*���o��)*�F<=%'%(�21�WGkx%(C�����<�0(<�%( �)

Page 41: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

? T ����������� ���������������������� �������������! "����

MP7�3 1��20(;�)*<�Wo�21 C���)*���uBC�<�0!�o��)*�F<�%(0f%(C��yN�0(�F "��X�&%'%(��)O��0^<=��%(C��F1���KL�2�= ��X�F�2��%x "�1��20(<=> ��"S)O���F��h� �)({P0WX��0(�21E �E�&W�0'%')O��;�%�;2����0(0(�20\���1�1�<�%(<= �X���XWo�2C��\KG<� �)O���o��)* ��o��)(%(<��20B "$%(C��!�f<=0(<�%( �)B� �&%'%(��)*�5�&)*�^���G��)O�20(0(�21E<��%(C���MP�;>GN��2��;2�D�f<���>�)���� +

0'%.kG�=�21�a�7�3v0*C� \h9�q<��qm$<�>P��_P�ZrG�

/AcceptBeh([[ConcreteVisitor]])

PrimitiveInteraction

/AcceptBeh([[ConcreteVisitor]])

/VisitElem([[ConcreteElement]])

:[[ObjectStructure]] CompositeInteraction

CompositeInteraction

/OperationBeh()

PrimitiveInteraction:[[Element]]

:[[Element]] :[[Visitor]]

/AcceptBeh([[ConcreteVisitor]])

/AcceptBeh([[ConcreteVisitor]])

/AcceptBeh([[ConcreteVisitor]])

/AcceptBeh([[ConcreteVisitor]])

(a)

(b)

PrimitiveInteraction

CompositeInteraction

[IsPrimitive = False]

[isPrimitive = True]

(c)

[IsPrimitive = True]

[IsPrimitive = False]

��� �����' �� ��< ��= . =�%'!<( � 6�2

uBC��9a�7�3 0'�o�2;2<�TX�20 <=�6%(��)O��;�%(<= ��0/<��F%(��)*�F0 "J;2 �=���&Wo �)O�&%(<= ��)* �=�A%(�2�������&%(�20 ����1V�X��;*{���> �20B%(C��&% 1���T����0(N,W�+ a�7�3E02�$ab"���� �W �'�2;�%�0'%')ON�;�%(N,)*��4 < �`���766��� � ���JY`Zk^ 23^id�TZk^iT1dnYB)*�\���=<=]\�&%(<� �B<8<�0I��)*<=�F<�%(<=KL��%(C��2�x%(C��/Wo�2C��2KP<= �)

Page 42: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� � ��� ��� �7� ? W

)*�20(N���%(<=��> "S)* � %(C��!I � ZCZCY aB^,HEY ��<=�6%(��)O��;�%(<= ��<=08;OC��&)O��;�%(��)*<=]2�21xWGkf%(C�� 0(N�W,+ a�7�3 �SdCgy� gy^ig 0LY�D�]3^?YOdnWtZk^igi\L] 4 0(�2�ml<=>P��_P�Zr14 �t<n<O�ab"�%(C�� �W �(�2;�%40(%')*N�;�%(N,)*� <=0E;2 �F� 0*<�%(�L6D%(C��2� %(C�� I � ZPZ�Y'aB^,HEY�� <=�6%(��)O��;�%(<= � )*�20(N���%(05<=� ��Wo�2C��2KP<= �)

;*CX�&)O��;�%(��)*<=]2�21gWGk %(C��y0*N,W,+ ab7A3 ��\L��ab\�V�gy^?Y�D�]3^?YOdnWtZk^igi\L]$� ab� %(C�� ��\L��ab\�V�gy^?Y�D�]3^?YOdnWtZJ^igc\L]i0(N�W,+ a�7�3 4 0(�2�ml<=>P��_P�Zr14:W <n<C6 <="o%(C��!�2�=�2�y�2��% )*�2;2�2<=KG<=��>�%(C�� � ZPZ�Y'aB^,HEY��)O�;>6N��20(%�<�0B� ;2 ���o 0(<�%(��%(C��2�q<�% %*�&{L�209�X�&)(% <=�q���I � ZPZCY aB^,HEY � <=��%(��)���;�%(<= �E)O�2;2N,)*0(<�KL�2�=k1���T����21�WGkq%(C���0(N,W,+ ab7A3 ��\L��ab\LVCgi^?Y&D�]3^?Y;d WtZk^igi\@]I��U�%(C���)(h9<=0(�L6X%(C���2�=�2�F�2�6%B%*�&{L�20A�X�&)(%B<=����W �2CX�2KP<= �)B;*C��&)���;�%(��)*<=]2�215W6kV%(C����SdCgy� gy^ig 0LY�D�]3^?YOdnWtZJ^igc\L]�0(N�W,+ a�7�3��uBC�� �Ad�g=� gi^ig�0@Y&D�]3^?Y;d WtZk^igi\@] 0(N,W,+ ab7A3 4 0(�2�xml<=>P�X_P�Zr14 ;k<n<�;OC��&)O��;�%(��)*<�]2�20AWo�2C��\KG<� �)A<=�qhAC�<=;*C4����)O<=�F<�%(<�KL�

�2�=�2�F�2�6%E<=�6KL �{L�205� pMg=VCgi^ +So7YO� Wo�2C��\KG<� �)�<=� �g;2 ��;�)*��%(� KG<�0(<�%( �)E��05� )*�20(N���%q " ��� <=�6KL G;\�&%(<= �i " <�%(0� ZPZCY aB^,HEY �EWo�2C��\KG<� �)\�9uBC��^;2 ��;�)*��%(�xKG<�0(<�%( �)9%(C��2�5<=�6KL �{L�20�%(C�� ��aYOdnW@^igi\@] HEY � W �2CX�2KP<= �)A "l%(C��x�2�=�2�F�2�6%%(C��&%}<=�6KL �{L�21 %(C��?p g V�gy^ + o Y;��W �2CX�2KP<= �)\�luI f�20'%*�&W���<=0(Cx%(C��&%}���� ��o��)O�&%(<= � )*�\���=<�]2�20l��� �&%'%(��)*� Wo�2C��2KP<= �)� ����xN�0'% 0*C� \h %(C��&% %(C��A ��o��)O�&%(<= �y0O�&%(<=0'T��20 %(C��B��)O �� ��)*%(<=�20}<=�yW �%(CF%(C���MP7�3 ����1F%(C�� a�7�3 " %(C��B� �&%'%(��)*�o�ml<=>P��_P���|nF0(C� \hA09� )*�\���=<�]\�&%(<= �q "$%(C��f��<�0(<�%( �)Bab7A3v"S �)9%(C��D �W �(�2;�%90'%')*N�;�%(N,)*�!0(C� th9��<=�qml<=>P��_P���tjG�

��� � � � ! � � %n( " � � ! � � Q � . � � � ��� �

<<Classifier Role>><<Hierarchy>>

/Controller

1..*

/ContColItemAssoc 1..1

1..*

1..*

1..*

<<Association Role>>/ItemDescAssoc

<<Association Role>>/ColItemItemAssoc 1..1

/CollectionItem<<Classifier Role>>

<<Hierarchy>>11

<<Association Role>><<Association Role>>/ContColUserAssoc 1..1

11 1

<<Association Role>>/ContColLendingAssoc 1..1

1

1..* 1

<<Association Role>>/ContLendingAssoc 1..1

<<Association Role>>/ContUserAssoc

/Item<<Classifier Role>>

<<Hierarchy>><<Hierachy>><<Classifier Role>>

/Lending

<<Class Role>>/Description

1..*<<Association Role>>/ColLendingLendingAssoc

<<Association Role>>/LendingItemAssoc

11

1..*

1..*

/ColUserUserAssoc<<Association Role>>

<<Association Role>>

/ContItemAssoc 1..1

/CollectionLending<<Classifier Role>>

<<Hierarchy>>

<<Association Role>>/LendingUserAssoc

1..*

1..*

1..* * *

1..*<<Hierarchy>>

<<Classifier Role>>/User

/CollectionUser<<Classifier Role>>

<<Hierarchy>>

1..*

��� �����' �� ����� ��A#�!�� 0��10 �46U2 !�#�� ��� � � �?. %'�9�

ab� %(C�<�0�0(�2;�%(<� ��6�h/�V1��20(;�)O<�Wo��%(C��q�/a'�9Uz�F G1��2�=<���>q"�)����F��h/ �)*{X� uBC����F G1��2�=<=��>E"�)O���y��h/ �)({ ;\��� Wo�N�0(�21 %( ��)* 61�N�;2���y 61��2��0� "/�&�����=<�;\�&%(<= ��0A%(C��&%!)*�;>GN�<�)*�x;*C��2;*{G<��P+ ;*C��2;*{L N,% "S�\�&%(N,)O�202� MPN�;*C��&������<=;\�&%(<= ��0;\��� Wo��"S N���1�<=� �=<=W�)O�&)*<=�20J6|�F tKG<=�/)*�2�6%*���,0'%( �)*�20}����1�;\�&)�)*�2��%*������> �2��;2<=�202�/R���T���1�%(C���"S ���= \h9<���>A;2 �y�F �"c�\�&%(N,)*�209<��%(C��20(�^�&���X�=<=;\�&%(<= ��0\�

��a�%(�2�F0 <=�y%(C��9�&���X�=<=;\�&%(<= �F1� �y��<=���&)O�A��0(0(N��F�21F%( ^W �9N���<I>GN��L66����%(C� N�> Cy0(��KL��)����X<�%(�2�y0 �y�\kFC��2KL�A%(C��0*���F�!1��20(;�)*<���%(<� �o�

? a�%(�2�F09�&)*�D����<=��%*��<����21q<=����;2 �=���2;�%(<= �o�}uBC���)O�!�y�2kWo�! ���D �)9�y �)*�D;2 �=�=�2;�%(<� ��02�

Page 43: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

? \ ����������� ���������������������� �������������! "����

Y uBC���)O�!<=0B���=<=0(%� "l��N,%(C� �)O<=]2�21�N�0(��)O02�

_i� N�0(��)9;\����;OC��2;({� N�%A����<�%(�2� 4:h��^;\����� %(C�<=0zo7YO]Bv@g=]0X<��q N,)B�X�&�o��)�</<="I<�%B<=09�\K���<����&W��=���

d � ;*C��2;({L�21q N,%�<�%(�2� ;\���VWo�B;OC��2;({L�21�<��o�Iab�y N�)/�����������=�20J66h��A��0(0*N��F�B%(CX�&%����V<�%(�2� ;\����Wo�B;OC��2;({L�21<=�� ����kV<�"I<�%9h���0A��)*��KP<= N�0(�=k�;*C��2;({L�21 N,%2� ~A th/��KL��)k6 <���0( �F�x�&�����=<=;\�&%(<� ��0;6����E<=%(�2��1� G�209�� �%A���2�21%( !Wo� ;*C��2;({L�21V N,%}Wo�2"S �)O� <�%};\���FWo� ;*C��2;({L�21<=�o�lm� �) �������������L6�<=�y�!0* "�%.h��&)*�9KL��)*0(<= �y;2 ��%')* �X0'kP0'%(�2� 6%(C��D<���<�%(<���� KL��)*0(<� ��<=09����h �2kP09;OC��2;({L�21 <=�T�)*0'% Wo�2"S �)O�!<�%9;\����Wo�!;OC��2;({L�21 N,%2� MPN�;*C5�&�����=<=;\�&%(<� ��0B�&)*�Wo��kL ��1%(C��D0*;2 �� �! "$%(C�<�0��X�&�o��)\�

j �}KL��)*kV%(<��F�^���E<=%(�2��<=0B;OC��2;({L�21 N,%;6 � )*�2;2 �)*15 "l%(C��D�=�2��1�<=��> <=0B����1��!h9<�%(CE0( �F����0*0( 6;2<S�&%(�21E<=��"c �)'+�y�&%(<= �8�}uBC�<=0 <=��"S �)*���&%(<= �<=0B���2�21��21�h9C��2�%(C��D<=%(�2�z<=0 ;*C��2;({L�214WX��;({q<=�8�

��� �z��� ���@�,� � '�ml<=>P�L_P���tsD0*C� \h90l%(C��AMP7A3� "�%(C��A�/a(�BU �F 61��2�,"c���F<���k �$R��9�y�&{L�BN�0(� "X%(C�� "c �=1��21 ? �zgxYOdnWLd Z�� B @

0'%(��)*�2 �%.k6�o� "c �)%(C�� ��\@o=o7Y`Zk^igi\@] � VJYOd�6 �$V;Y;dC6)��\@oyo YPZJ^igc\L] I Y;]BvLgy]0X@6 I Y;]BvLgy]0X@6 ��\@oyo YPZJ^igc\L] DO^?Y;�[6 DO^?YO� 6!����1��\L]3^idn\@oyo Y;dB)* �=�20\��R��^���=0( FCX�2KL�^�(�/o W�VCV^)* �=�F@ Y�V;Z;d�gsa ^igi\L] Wo�2;\��N�0(�! ����kV;2�S��0(0(�20B;\���E)*�\���=<=]2�f%(C�<�0�)* �=���

� v$�&P� ��� � $ � '*)7��$� !�$,&���& � �%!�$� ml<=>P� _P��� �90(C� th90$%(C���N���"c �=1��21x"S �)O� " DO^?YO� )* �=��C�<=��)��&)*;*C6k �$7A��+���=<=]\�&%(<� ��0I "P%(C�� DO^?Y;��)* �=� ��N�0'%$CX�2KL�/ ��� �)��F �)O�})*�\���=<�]\�&%(<= ��0$ ",%(C��B0@YOd�g w<B4DO^?YO� 23^xW@^iTbV@60XbY;^,I Y;]BvLgy]0X�D&@ 6T�abvtW@^?Y123^xW@^iTbV@6}����1�V;Y;^,I$YO]Bv@g=]0X�D&@ Wo�2C��\KG<� �)O���$)* �=�20f<=��1����,�214W6k F'W�� H4 < �`���76IW8�@6oW ?06 qvqvq <C6J����<=1��2�6%(<�T���)J6h9C���)O�9F'W3H�<=��1�<�;\�&%(�20�W �2CX�2KP<= �)O��� )* �=�20\�B0LY;dCg w�B4DO^?Y;� 2B^xW@^iTbV^<=0B���2�21��21%( FKL��)*<="Sk�h9C���%(C���)B �)A�� �% %(C��!<�%(�2�C���0D�����&����)* ���)*<��&%(�x0'%*�&%(N�0D%( W �x;*C��2;({L�21 <��4 �)D;OC��2;({L�21 N,%2� X0Y;^,I$YO]Bv@g=]0X�D&@ <=0fN�0*�215%( TX��1 ��;2 �)*)*��+0'�o ��1�<���> �=�2��1�<=��> a�� "c �)�%(C��^<�%(�2��%( yWo�D;OC��2;({L�21 <��o�ETra1vtW@^?Y 2B^xW@^iTbV�N�� 1X�&%(�20B%(C���0'%*�&%(N�0� "}���5<�%(�2��%( �x����hi �����}m� �)A���,�����X�=�L6Ph9C��2����KL��)B���q<�%(�2� <=0/;*C��2;({L�21E N�%E4 �)B;OC��2;({L�215<=�B<C6G%(C��f0'%*�&%(N�0B "J%(C��f<�%(�2� <=0;*CX����> �21o�SVJY;^,I Y;]BvLgy]0X�D&@ <=��<�%(<����=<=]2�20����=�2��1�<=��>�a��["c �)B%(C��D<=%(�2� %( �Wo�!;*C��2;*{L�215 N�%2� uBC��20(�!"c�\�&%(N,)*�D)* �=�20�&)*�<=��C���)*<�%(�21�WGk�%(C�� �z�OV�^idnWtZJ^ DO^?Y;� ����1 ��\L]BZ;d`Y;^?Y�DO^?YO� 0(� �2;2<S���=<=]\�&%(<= ��0\�4uBC�� �z�OV�^idnWtZJ^ DO^?Y;� ��N�0'%�Wo�)*�\���=<�]2�21��2<�%(C���)BWGk<=��%(��)O"c��;2�20A �)BW6kq�&W�0'%')���;�%A;2����0(0*�202�}uBC�� ��\L] Z;d`Y;^?Y&DO^?Y;� �xN�0'% Wo�f)*�\����<=]2�21W6kq;2����0*0(�202�uBC���0(%')*N�;�%(N,)O���})* �=�20^�&)*�y<=��1����,�21 W6k"F(0��GHqh9C���)*�eF(0PHE<=��1�<=;\�&%(�20D0'%')*N�;�%(N,)O���l)* �=�20\��79�\����<=]\�&%(<= ��0D "

��\L]BZJdnYJ^?Y&DO^?Y;� ��N�0(%^�o 0(0(�20(0� ����k� ���JDO^?YO� ��\JvQY5����1 I Y;]BvLgy]0X�D&@v)*�\����<=]\�&%(<= ��0D4 <=��1�<=;\�&%(�21 W6k F2� �����JHQ<����1� ���! �)9�F �)*� DO^?Y;� 2B^xW@^iTbV^)*�\���=<=]\�&%(<� ��02�}uBC��!0(%*�&%(N�0B "I%(C��DN�0(��)B<���1�<=;\�&%(�20�h9C���%(C���)9 �)9�� �% %(C��!<�%(�2�<=0��2K ��<=���&W��=�D%( FWo�D;*C��2;({L�21 <=�� �)f;*C��2;({L�21 N,%2� �f��%*��<=�=0� "l%(C�� DO^?Y;� ��\JvQYQ6 DO^?Y;� 23^xW@^iTbV@6o����1ZI Y;]BvLgy]0X�D&@�&)*�D1��20(;�)*<�Wo�21���&%(��)A<��EMP�2;�%(<= ��_P��� � �uBC�� � VJYOd!)* �=�9C���0/�^0(<=�F<����&) 0'%')*N�;�%(N,)*�z4 �� �%�0(C� th9�B<O�la�% C���0�� 0@YOd�g w<B � VJYOd 23^xW@^iTbVAWo�2C��\KG<= �)�����)* �=������1

�$V;YOd1D&@�����1 �$V;YOd 23^xW@^iTbV90'%')ON�;�%(N,)O���J)* �=�202�A0@YOd�g w<B � VJYOd 23^xW@^iTbVx<�0B)*�;>GN�<�)*�21E%( yKL��)O<="�kh9C���%(C���)� �)f�� �%�%(C��N�0(��)AC���09���E�&����)* ���)*<��&%(�!0(%*�&%(N�0B"c �)B�o��)*"S �)O�F<=��> ;*C��2;({P<=�� �)A;OC��2;({L N�%2�R��y1� ��l %D0(C� th %(C��FN���"S ��1��21 "S �)*�y0D "/%(C��F �%(C���)�)* �=��C�<=��)��&)*;*C�<��20fW �2;\��N�0(��%(C���k C��\KL�F0(<=�F<����&)f)* �=�

0'%')*N�;�%(N,)*�202�

� )+� ��$ � �@!�) � $,&�� � � )+� ��$ � �@!�)��� � $ � '*)+��$ !�$,&���& � �%!�$� uBC�� ��\@ofo YPZt^igc\L] � VJYOdF)* ���!<=0�)*�;>GN�<�)*�21%( E����<=��%*��<����q;2 �=�=�2;�%(<= � "�N�0(��)*0;6$����1�<�%D<=��;2�=N�1��20D�Wo�2C��\KG<� �)O���l)* �=��h ]Bv � VJYOdh9C�<�;*C�<=0f)O�;>6N�<=)*�21 %( �= G;\�&%(�q�EN�0*��)x> <�KL�2� %(C��VN�0(��)kl`09878 ab��:7: �}M,<=�F<=���&)O��k@6J%(C�� ��\@oyo YPZJ^igc\L]-DO^?YO� )* �=�V<=0^)*�;>6N�<�)*�21�%( �y��<���%*��<=�g�;2 �=�=�2;�%(<� � "�<�%(�2�F0J6�����1 <�%^<���;2�=N�1��20D�EWo�2C��2KP<= �)O���})* �=�zh ]Bv4DO^?YO�R%( 4�= 6;\�&%(�V��� <=%(�2�v> <�KL�2� %(C��y<=%(�2� l`0878 ab� :7: �

� )+� ��$ � �@!�) �� $ �C!� � � ��� $ �%!� �?'*)7��$ !�$�& ��& � �O!�$� u9C��#��\@oyo7Y`ZJ^igc\L] I$YO]Bv@g=]0X�)* ��� <=0l�B;2 �=���2;�%(<= �"c �)9�y��<=�6%*��<=��<=��>x���=� %(C��FI$YO]Bv@g=]0X�<=��"c �)*�y�&%(<= �o��uBC��)��\to=o7Y`Zk^igi\L] I Y;]BvLgy]0X)* ���!C���0 % h� �Wo�2C��\KG<= �)����X)O �=�20;6

Page 44: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� � ��� ��� �7� ?!u

**

/ItemGeneralization<<Generalization Role>>

**

/ItemRealization<<Abstraction Role>>

{XOR}

<<Classifier Role>>

{realizable = false}/Item

<<Behavioral Role>>b1 /verifyItemStatus() : Boolean

b3 /setLendingID (l : [[ID]])b3 /updateStatus (s : [[Status]])b2 /getLendingID() : [[ID]]

<<Metatmodel_level Constraints>>

<<Classifier Role>>/AbstractItem

{self.oclIsTypeOf(Interface) or

(self.oclIsTypeOf(Class) and

self.isAbstract = true)}

1..*

s3 /LendingID : [[ID]] 1..1s2 /ItemStatus : [[IStatus]]s1 /ItemCode : [[ID]] 1..1<<Structural Role>>

{self.isAbstract = false}<<Metatmodel_level Constraints>>

/ConcreteItem<<Class Role>>

��� �����' �� ����< �� � �?(����= ��%'�)0 � %'�9� 6�!�� ����= �)('��(';�� �M= � U��#�!�� 0��)0 �C!<(�

4b�r<A%( q��1�1 ����h��=�2��1�<���>y<=��"S �)*���&%(<= ��4`WQvtv)F5Y� I Y;]BvLgy]0X}<C6$����1 4 ?@<A%( VT���14�=�2��1�<=��>F<=��"S �)*���&%(<= �EW ��0(�21 ��0( �y�FD&@ 4 h ]Bv�I Y;]BvLgy]0X}<O� u9C���)*�!;\����Wo�! ���=k� ���!)O�\���=<=]\�&%(<= �� "I%(C�� ��\@]BZ;d`Y;^?Y ��\@o/I YO] vLg=]bXq)* �=��� l� I Y;]BvLgy]0X )* ��� <=0q)O�;>6N�<=)*�21 %( �����<=��%*��<�� <=��"c �)*�y�&%(<� �i�&W N�%4�g�X�&)*%(<=;2N����&)E;OC��2;({P<=� �)4;OC��2;({L N�%

0(;2�2���&)O<= P�iuBC�� I$YO]Bv@g=]0X�)* �=�E��)* \KP<=1��20FW �2CX�2KP<= �)O���B)O �=�20y"c �)V> �2����)O�&%(<=��> ������h �=�2��1�<=��> <=��"c �)*�y�&%(<= �D&@ 4xXbYO] Y;d W@^?YCI$YO]Bv gy]0X D&@m<C6$����1 �W�%*��<=��<=��>F%(C���1��&%(�20!"S �)D���2��1�<=��>-4'V;Y;^&I$YO]Bv gy]0X�@[W@^?YL<!����14)*��%(N,)O�~4'VJY;^.+G YJ^iTbd�] @5Wt^?Y�<O�guBC�����\L]�Z;d`Y;^?YCI$YO]Bv gy]0Xg)* ���y�o 0(0(�20*0(�20�0'%')*N�;�%(N�)O���/)* �=�20� " I$YO]Bv@g=]0X�D&@ 6 I YO] vLg=]bX�@[W@^?YQ6����1[G YJ^iT1dC] @[W@^?Y�� ��\@]BZ;d`Y;^?Y�I YO] vLg=]bX )* �=� �xN�0'%!C��2KL�y ����kE ��� )O�\���=<=]\�&%(<= �o�xuBC�� ;2 ��0'%')���<=��%!%(�2�F�����&%(�"c �)B%(C��{XbYO] YQdnW@^?YCI YO] vLg=]bX D&@ Wo�2C��\KG<= �)����o)* �=�!"c �=�= th902�� ����������� 878 HJ�2��1�<���>L:7:���� �&> �2����)O�&%(�2HI�2��1�<=��>�a�� 4?<�� 878 ab��:7:

#%��� � uI)*N��# ��� � �

+}+ uBC��!> �2����)O�&%(�215a��[<=0B>�)O�\�&%(��)9%(C����q%(C���GN��^Wo��)B "$%(C��!<=��0'%*����;2�20 WGkV ���

)*�20(N���% �����=��ab��0'%*����;2�20 : 0(<=]2�@4?<�� �

� ) ��&�)7� ��$�&�'*)+��$ !�$,&���& � � � � � $, �\&@!�� �@!�) �� � ���� � � � $ '*)+��$, ��\@]3^id \to=o7YOdq��)O \KP<=1��20% h� Wo�2C��2KP<= �)O���9)* �=�20;6{Z��1Y`Z�� D�] ����1 Z��Y`Z�� �AT^O� uBC���)*�5��N�0(%yWo�E ���=k� ���E)O�\���=<=]\�&%(<= � " ��\L]�Z;d`Y;^?Y\+��\L]3^�dn\@oyo Y;dE)* �=�y<=� %(C�� ��\L]3^idn\@o=o7YOd5)* �=��C�<=��)O�&)*;OC�k ��u9C��F;2 ��0'%')���<=��%�%(�2�������&%(��"S �)x%(C�� Z��1YPZ�� �AT^!<=0x��0"c �=�= \hA02�� ����������� 878 �� ��%')O �=�=��)`:7:���� �&;OC��2;({�UfN,%[4 N�<=1o�=878 ab��:7:c6�<=<=18�=878 a���:7:=<

#%��� �+}+ N�<�1q<=0B� K ���=<=1qN�0(��)B<�1+}+ <=<�1q<=0B� K ���=<=1q<�%(�2�z;2 G1��878 e�0(��)`:7: : ���P<=0(%(0z4 N��GNo�=878 e�0(��)(ab��:7: �[N�<�1B</����1878 � <�%(�2�G:7: : ���P<�0'%(0z4 <��P< �=878 a.%(�2��� 61��O:7: �[<=<=1B<

Page 45: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

L a ����������� ���������������������� �������������! "����

# ��� � �+}+}a�%(�2��<=0 ;OC��2;({L�21 N,%878 a�%(�2��MG%*�&%(N�0n:7: � 878 ��~��/� '^� �DUfe�uS:7:

uBC�� @[YOVOZJdCgpaB^igc\L] )* �=����N�0(%9;2 ��%*��<��4 ���^ �)A�y �)*�D)*�\����<=]\�&%(<= ��0A "l%(C�� @ Y;^xW@gyo ��w)DO^?Y;� )O �=�!h9C�<�;*CE<�0A���)*<��F<�%(<�KL�A)* �=�!1��20*;�)*<�Wo�21Wo�2�= \hD�uBC���)O�D�&)*�D%(C,)O�2�Ea3d�g=� gi^ig�0@Y91X�&%*��% kG�o�!)* �=�20 D&@{6 @ Y�VOZJd�����1Z@[W@^?Y9"S �)A%(C��D<=1��2�6%(<�%.k "��yN�0(��)9 �)�<�%(�2� 6

1��20(;�)O<���%(<= �E����151��&%(���AuBC���)*�x�&)*�^0( �y� +S]}T1�UY;d Wt^igi\L]q1��&%*�y% kG�o�D)* ���20;6X0(N�;*C ��0 D 23^xWt^iT0V 4:a�%(�2� 0'%*�&%(N�0C<����1 � 23^xW@^iTbVU4 eA0*��)90'%*�&%(N�0C<O� uBC��20(�f;2 �6%*��<=�q%(C�� +S]}T1�UY;d Wt^igi\L]7I/gi^?YOdnW@oP)* �=�20;6,0(N�;*C���0 � � + � �C+ @ � � wE6� p ��D&I � H I +U6:+YI8D � D H I + ����1 � �YI8@�� uBC��!T�)*0'%B%.h/ �1��20(;�)*<�Wo�f%(C���0'%*�&%(N�0A "l%(C��D<�%(�2� ����1�%(C��^����0'%% h� y1��20(;�)*<�Wo��%(C��!0'%*�&%(N�0A "J%(C��DN�0(��)\�

��� �z��� ���@�,� � '� ml<=>P� _P���|?g0(C� th90���� ab7A3 "c �)��g;*C��2;*{,U!N,%�0(;2�2���&)*<� P� uBC�� Z��1Y`Z�� �AT^FWo�2C��\KG<= �))*�;>GN�<�)O�20�%(C�� D&@y0

"�%(C���N�0*��)�����1 %(C��E<�%(�2�q��uBC���<=��0'%*����;2�q "f� )*�\���=<=]\�&%(<= �� "A%(C�� ��\L]3^idn\@oyo Y;d�<=��KL �{L�20�%(C��Gh ]Bv �$V;YOdWo�2C��2KP<= �)xh9<�%(C %(C��VN�0(��) D&@R%( 5 �W�%*��<=� %(C���N�0(��) F(N3H5hA<�%(C �5�y�&%(;OC�<=��> D&@R"�)O �v%(C���<=��0'%*����;2�V " %(C��;2����0(0y�����\kG<=��> %(C�� ��\L]BZJdnYJ^?Y ��\@o �$V;YOd )* �=��� uBC��q0'%*�&%(N�0V "�%(C�<=0FN�0(��)�<=0FKL��)*<�T��21�6 ����1 <="������= \h��21�6�%(C���&����)O ���)*<��&%(�q<�%(�2� <=0F"c N���1�N�0(<=��>4%(C���<=%(�2� D&@�� uBC��q0(%*�&%(N�0y "f%(C��E<�%(�2� <=0�KL��)O<�T��21o� a�"�%(C���0(%*�&%(N�0<=0q�&����)O ���)*<��&%(�L6f�g����h <=��0'%*����;2�4 "^%(C�� ;2����0(0���S�2kP<=��> %(C��[I Y;]BvLgy]0X )* �=�4<=0q;�)*�\�&%(�21 ����1i� ����h D&@<=0�> �2����)��&%(�21 ��;2;2 �)*1�<���> ��k "c �=�= th/�21�W6k 0(��%'%(<=��> %(C��E1��&%(�q "A���2��1�<=��>P� uBC�<=0 <=��0'%*����;2�q<=0F��1�1��21g%( %(C��HJ�2��1�<=��> �� �=�=�2;�%(<= � 4���\L]BZJdnYJ^?Y ��\@o I Y;]Bv}<O� u9C��y0'%*�&%(N�0� " %(C��V<�%(�2� <=0�N�� 1X�&%(�21 %( <=��1�<=;\�&%(�F%(C��&% <�% <=0;*C��2;({L�21g N,%2��u9C�� I Y;]BvLgy]0X�D&@Q<=� %(C��F<�%(�2� <=0^0(��%^%( q%(C�� D&@ > �2����)O�&%(�21 "c �)^%(C��F�=�2��1�<���>�<���"S �)O�y�&%(<= �o�m� �)�����;({q "l0'�X��;2�L6�h��D1� ��� �%90(C� thi%(C��D����%(��)*�X�&%(<�KL�D;2 N,)*0*�209 "$��KL�2��%(02�

O)� � !$,YTn%�&�,/.%9QA( #O)�n� � $E#Q.2,�� . V ,�� . Q)2 �uBC��x0(�y�����=�20'%A�y 61��2��09%(C��&%!;\���4)*�\���=<�]2�� N,)!��m M,7A3 ;2 ��0*<=0'%f " � �MWtZk^x\Ld�B )*�\����<=]\�&%(<= � 4 < �`���768��)*�\��� +

<=]\�&%(<= � " �z��VO^id WtZk^ �MWtZk^x\Ld<BF �) ��\@]BZ;d`Y;^?Y �MWtZk^x\Ld�Bk<C6��1�Sd \kvLT}ZJ^l)*�\���=<�]\�&%(<= ��68� �/osgxYO]3^I)*�\���=<�]\�&%(<= ��68��)*�2���|+%(<= ��0*C�<��Wo��% h��2�2�E%(C�� �/osgxYO]3^8)*�\���=<=]\�&%(<= �5����1q%(C�� � WtZJ^x\Ld<B^)O�\���=<=]\�&%(<= �q%(CX�&%9<=0B�2<�%(C���)A���5��0(0* 6;2<��&%(<� �� �)�FN�0*��> �^1����o�2��1��2��;�k@6�����15��)*�2���&%(<= ��0*C�<��qWo��% h��2�2�E%(C�� �/osgxYO]B^8)*�\���=<�]\�&%(<= �E����1E%(C����Adn\JvLT}Zk^J)*�\����<=]\�&%(<= �%(C��&% <=0^�2<=%(C���) ���g��0(0( G;2<��&%(<= � �)���N�0*��> �V1����o�2��1��2��;�k �qa�"�%(C�� �MWtZk^x\Ld<B����1 �Adn\JvLT}Zk^ )*�\����<=]\�&%(<= ��0 �&)*�;2 ��;�)*��%(��;2����0(0(�20J6�%(C��2�q%(C���kq�&)*�D;2 �����2;�%(�21�WGk�FN�0*��> �D1����o�2��1��2��;�k 4 � )O�\���=<=]\�&%(<= �� " ��\L] Z;d`Y;^?Y�@ Y a1<O�u h� 9)O�\���=<=]\�&%(<= ��0$ ",%(C�����m4MP7�3 1��20(;�)O<�Wo�21^<=��%(C�<=0$0(�2;�%(<= ���&)*�/0(C� th9� <=�^ml<=>P� _P���\_ 4:Wo �=1�0(%(��)*�2 �% kG�o�20

�&)*�N�0(�21g<=� %(C���F G1��2�/;2 ��0'%')*N�;�%(0 %(CX�&%��&)O�V<���%(�2��1��21 %( Wo�F)O�\���=<=]\�&%(<= ��0 "9%(C��V)* �=�20 �����F�21g<=� %(C��0'%(��)*�2 �%.k6�o�k<O�uBC��/)*�\����<=]\�&%(<= ��0(C� th9��<=� ml<=>P�L_P���\_4 �t<�0*C� \h90��� �P+ C�<=��)O�&)O;*C�<=;\���G)*�\����<=]\�&%(<= ��0� " �MWtZk^x\Ld<B ����1��Sd \kvLT}ZJ^�6

h9<�%(Cg%(C���;2�=<=�2�6%�C��2KP<=��>�������0*0( 6;2<S�&%(<= � h9<�%(C�� �Adn\JvLT}ZJ^ )*�\����<=]\�&%(<= ��6�����1�� N�0O��> ��1����o�2��1��2��;�k h9<�%(C� �MWQZJ^x\Ld<B )O�\���=<=]\�&%(<= �o� uBC��V1���)*<�KL�21���0*0( 6;2<S�&%(<= ��0 4 �� �%F0(C� \h9�B<^Wo��% h��2�2� u�WkqkY �SWL�jY5����1 %(C��q �%(C���)��)* G1�N�;�%(0MGS\k\L� 6 -Wto=oJ����1A@5\k\LdD4 �W�%*��<����21W6ky%')O�2KL��)*0*<=��> %(C��f��0(0( G;2<��&%(<= ��0�Wo��%.h/�2�2�-u�WkqkY�����1 GS\J\L�����1qWo��%.h/�2�2� GS\J\L� ����1�<�%(090(<=1��20C<��&)O�D���=�o)*�\���=<�]\�&%(<= ��0 "$%(C�� �/opgcY;]3^��Adn\JvLT}ZJ^ ��VPV;\JZ �uBC��/)*�\����<=]\�&%(<= �F<=��ml<=>P�L_P���\_4:W�<�;2 ��0(<�0'%(0} " �!C�<=��)O�&)O;*C�<=;\���P)O�\���=<=]\�&%(<= �� " �MWQZJ^x\Ld<B 4:%(C�� > �2����)O���=<�]\�&%(<= �

C�<=��)��&)*;*C6kyh9<=%(C9u�WkqkY �MWtZk^x\Ld�Bq��0�%(C���)* G �% 0(N,�o��)*;2����0(0�<C6P�x)*�\����<=]\�&%(<= � " ��\L] Z;d`Y;^?Y �Sd \kvLT}ZJ^ ;\���=�=�21 u�WkqkYQ6����15%(C,)*�2�^��)* G1�N�;�%9C�<���)O�&)*;*C�<=;\���8)*�\����<=]\�&%(<= ��0A " �Adn\JvLT}ZJ^�� @[\J\Ld�<=0A���4<=�6%(��)*"c��;2��%(C��&%fC���0C? d`Y`WtosgIqkY @)*�2���&%(<� ��0(C�<��X0qh9<�%(C �So WLg=]7@5\k\Ld ����1 +A]BZ��bWL]3^?YPv�@[\J\Ldb6 -W@oyo�<=05� ;2 ��;�)*��%(�g;2����0*0Eh9<=%(C � 0'�o�2;2<����=<=]\�|+%(<= � �����F�21 H�\L�j�PYPv -W@oyox6f����1 GS\k\L� <=0y��� �&WX0'%')O��;�%�;2�S��0(0F%(C��&%V<=0F0'�o�2;2<�����<=]2�21gW6k&� o WLgy] GS\k\L� ����1GS\J\@� gy^��CH�\L�j�L� uBC�� )*�2���&%(<= ��0(C�<��DWo��%.h/�2�2�Uu WrqkY �SW@�UYz4:%(C�� )*�\���=<=]\�&%(<= �x " �/opgcY;]3^`<8����1Gu WrqkY � WtZJ^x\@d�B

Page 46: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� � ��� ��� �7� L ,

:[[ConceteColUser]]

l : [[Lending]] {new}

:[[ConcreteColItem]]

e : Boolean := /verifyUserStatus()

u : [[User]] := /findUser (uid : [[ID]])

[return = TRUE]i : [[Item]] := /findItem (iid : [[ID]])

e : Boolean := /verifyItemStatus()

/create ()[e = TRUE]

lid : [[ID]] = /generateLendingID()

:[[Controller]]

u : [[User]]

/setLendingDate()

/addNewLending (l : [[Lending]])

/setLendingID (lid : [[ID]])

/updateStatus (s : {[[CHECKEDOUT]]})

i : [[Item]]

(uid : [[ID]], iid : [[ID]])/checkOut

:[[ConcreteColLend]]

��������� �� �� �� ���� � 6�2 # !�(U� � ���1; � � ��% ��;5�)�C��(/= !

<=0J�91����o�2��1��2��;�kA%(C��&%I<�0J� )*�\����<=]\�&%(<= �D " �/opgcY;]3^ �MWtZk^x\Ld<B4@ Y a$6 h9C�<��=�$%(C���)*�2���&%(<� ��0(C�<��!Wo��%.h/�2�2� u WkqrY �SWL�jY����1 u WkqrY<=0���)*�\���=<=]\�&%(<� � " �/opgcY;]3^��Adn\JvLT}ZJ^ ��VPV;\JZ � uBC��y1���)*<�KL�21 ��0(0( G;2<��&%(<= ��0D4 �� �%x0*C� \h9� <�Wo��% h��2�2�u WrqkY �SW@�UY����1 %(C��F0'�o�2;2<�����<=]\�&%(<= ��0f " u W�a�2}gy^?YV�&)*�����=0( q)*�\����<=]\�&%(<= ��0! " �/opgcY;]3^��Adn\JvLT}ZJ^ ��VPV;\JZ ����=0( 16

Page 47: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

L 7 ����������� ���������������������� �������������! "����

1

Reservation

ReservDate : Date

makeReservation ()

0..*

1..*

<<s1>> CopyID : Int

<<s2>> Borrowable : {NOTCHB, AVAL}

<<ConcreteItem>>Book

<<s2>> HoldStatus : {CHO, AVAL,

<<s3>> LoanID : Int

<<b1>> verifyHoldStatus() : Boolean<<b1>> verifyBorrowStatus() : Boolean

<<b3>> setStatus(s : {CHO, AVAL,<<b2>> getLoanNum() : Int

1

1..*

<<b4>> setLoanID (l : Int)

1

CHO : Checked OutAVAL : AvaliableRSV : ReservedNOTCHB : Not Checkable

<<ContColUserAssoc>>

1

uses

1

0..*

<<ContUserAssoc>>uses

<<ColUserUserAssoc>>has

has is reserved

<<ContColLendingAssoc>>uses

has

<<s1>> CopyID : Int<<s2>> HoldStatus : {CHO, AVAL,

<<ConcreteItem>>Multimedia

<<s3>> LoanID : Int

<<b1>> verifyHoldStatus() : Boolean

<<b3>> setStatus (s : {CHO, AVAL,<<b2>> getLoanNum() : Int

<<b4>> setLoanID (l : Int)

RSV}

RSV}, ready : Boolean)

RSV})

RSV})

<<s1>> MemberID : IntName : StringAddress : String

<<b1>> verifyStatus() : Boolean

<<ConcreteUser>>Member

<<s2>> MemberStatus : {HLD, CLR}

removeMember ()

<<b1>> findMember (uid : Int) : MemberaddMember ()

1

1

<<s1>> LoanNumber : Int<<s2>> LoanDate : Date<<s3>> ReturnDate : Date

<<b1>> genLoanID() : Int<<b2>> setLoanDate()<<b3>> setReturnDate()removeLoan()

<<ConcreteItem>>1

Copy

<<b1>> verifyStatus() : Boolean<<b2>> getLoanNum() : Int<<b3>> setStatus(s : {CHO, AVAL,<<b4>> setLoanID (l : Int)

1

<<LendingItemAssoc>>is currently loaned

is loaned past

<<LendingItemAssoc>>

has<<ColItemItemAssoc>>

1

0..*

1

<<LendingUserAssoc>>currently has

<<LendingUserAssoc>>has past

0..* RSV}

<<ItemGeneralization>>

1..*

0..* 0..*

0..*

0..*

<<ColUserUserAssoc>>

1

<<b1>> checkIn (iid : Int)

1

1..*

<<ContColItemAssoc>>uses

1

1

1

<<ContLendingAssoc>>

uses

<<ContItemAssoc>>uses

1..*

1<<b2>> checkOut (uid : Int, iid : Int)

<<ConcreteColUser>>CollectionMember

<<ConcreteController>>Controller

<<ConcreteLending>>LoanInfo

<<b2>> findLoan (lid : Int)<<b1>> addNewLoan (l : LoanInfo)

<<ConcreteColLending>>CollectionLoanInfo

<<b1>> findCopy (iid : Int) : CopyaddCopy ()removeCopy ()

<<ConcreteColItem>>CollectionCopy

0..*

describes

<<ItemDescAssoc>>

1

<<s1>> Name : String<<s1>> Author :String<<s1>> Producer : String<<s1>> ProductDate : String

<<Description>>Description

��� �����' �� �� �< �Z68�1����=�1�&%= !�� !�#7%���� � ��� � �46U2�� � = �?('��(��323!40��9�

�� �%(�9%(C��&%}%(C��B1���� �2��1��2��;�kxW ��%.h/�2�2�9u WkqrY �SWL�jY!����1Du WkqrY � WtZJ^x\Ld<BF<=0}<���C���)*<�%(�21 WGk %(C��B0'�o�2;2<�����<=]\�&%(<= ��0;6%(CGN�0y%(C���)*�5<�0V� )*�\���=<=]\�&%(<� � " �/opgxYO]3^ � WtZJ^x\Ld<B�@ Y'a "c �)�\��;*C �MWQZJ^x\Ld<B�)*�\���=<�]\�&%(<= � ��0V)*�;>GN�<�)O�21�WGk�%(C���X�&%'%(��)*�8� uBC��!;�)*�\�&%(��1����o�2��1��2��;2<��20/0*C� \h9�5�&)*�^���=� )*�\����<=]\�&%(<= ��0B " ��\L]BZJdnYJ^?Y�@ Y'a$�

O)�5O �N% #%f. Q)2� )*�\���=<=]\�&%(<= �q "J%(C��f�f<=0(<�%( �)AMP7�3 <=0 > <=KL�2��<=�ml<=>P��_P���|d6�/-/ �=1q0'%(��)O�2 �% kG� �20A<=�V%(C��!�F G1��2�o;2 ��0'%')ON�;�%(0

�&)*� N�0(�21 %( <=��1�<=;\�&%(��%(C��&%!%(C�� ;2 ��0'%')*N�;�%(0D�&)*� <=��%(�2��1��214%( W ��)*�\���=<�]\�&%(<= ��0f "}%(C��x)* ���20!�����F�21 <=�4%(C��0'%(��)*�2 �%.k6�o�202�uBC�� p g V�gy^x\Ld )* �=� 0'%')*N�;�%(N,)*�5)*�\���=<=]\�&%(<= � ;2 ��0*<=0'%(0q "�� 0(<���> �=�40'%*����1P+.���= ���4;2�S��0(0e4 �Ad�giZJg=]0XOpMg=VCgi^x\Ldt< �

C�<=��)��&)*;*C�<��20} " KG<=0*<�%( �)*0 �&)*�����=0( ^�����= \h��21FWGk� N,) 35��%*��79 �=�f3E G1��2� �lab��%(C��A�F 61��2�c66�f)*�\����<=]\�&%(<= �F%(C��Awf m�� ���o 0(<=%(�!#l�&%'%(��)O� 8@�\_L:$<=0BN�0*�21�%( F�F G1��2�o%(C��^�;>GN�<����F�2�6%BC�<=��)��&)*;*C6k ��-/ �%(C5%(C�� ��\L��ab\LVCgi^?YG+ �JT1gsa3�jY;]3^����1 ���bW�VPV�g V �����\k%(C��D)* ���D " � ���JY`Zk^ 23^idCT}Zk^iTbd`Ym4 < �`���76 %(C���k�1���T����D0'%')*N�;�%(N�)*�209 "�+ �;T1gsaB�UY;]3^ <=��0(%*����;2�20C<O�

Page 48: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� � ��� ��� �7� L ?

4MapSite

<<ConcreteProduct>>Maze

addRoom()1

1

<<ConcreteDep>><<create>>

MazeFactory

makeMaze():Maze

<<ConcreteFactory>>

makeRoom:RoommakeWall:WallmakeDoor:Door

<<create>><<ConcretDep>>

<<ClientFactoryDep>>

<<ConcreteDep>><<create>> <<ConcreteDep>>

<<create>>

<<Client>>

createMaze()1

MazeGame

has_maze

<<ClientProductAssoc>>

has_rooms

<<ConcreteProduct>><<ConcreteProduct>>

Door Wall

<<ConcreteProduct>>

Room

has_sides

1..*

Generalization>><<Product

<<ConcreteProduct>>

BombedWall

AF SRM realization with non−hierarchical realizations of Factory and Product

(a)

<<Client>>

MazeGame

1

<<create>> <<ConcreteDep>>

<<ConcreteDep>>

<<ClientFactoryDep>>*

<<ClientProductAssoc>>

<<ConcreteDep>>

<<ConcreteProduct>>

Realization>><<Product

4

has_maze 1

MapSite

Maze

<<ConcreteProduct>>

PlainDoor

<<ProductRealization>>

<<ConcreteProduct>>EnchantedDoor

<<AbstractProduct>><<Interface>>

Door Wall

<<ConcreteProduct>>

<<ConcreteProduct>>

RoomWithBomb

1

<<AbstractFactory>>

<<ConcreteFactory>> <<ConcreteFactory>>

EnchantedMazeFact BombedMazeFact

<<create>><<FactoryGeneralization>>

<<create>>

<<ConcreteDep>><<create>>

MazeFactory

<<ConcreteDep>><<create>>

<<create>> <<ConcreteDep>>

<<ConcreteDep>><<create>>

has_roomshas_sides

<<ProductGeneralization>>

<<ConcreteProduct>>

PlainRoom

1..*

<<AbstractProduct>>

Room

(b)

AF SRM realization with hierarchical realizations of Factory and Product

�����&���' �� � �� �� �C. %'('��;5%�� �<; %'!<(�� 6��1�&��= )��%= !<�?.

uBC��20*�!% h� �;2�S��0(0(�20f�&)*�^���=0( y)*�\���=<=]\�&%(<� ��0B " ��\L]BZJdnYJ^?YG+ o Y;�UY;]3^z4 < �`���76X%(C���k�;\���5W �fKP<=0(<=%(�21qW6kq%(C��!KG<�0(<�%( �)�Ad�gcZ;gy]0Xzp g V�gy^x\@d@<O�79�\����<=]\�&%(<= ��0D " %(C�� p g=VCgi^x\Ld)* �=���xN�0'%DC��\KL���&%^�=�\��0(%^ ����Wo�2C��\KG<= �)!%(CX�&%D)*�\���=<=]2�205pMg=VCgi^ +So7YO����uBC�<=0

Wo�2C��2KP<= �) %*�&{L�209���E�2�=�2�F�2�6%9��0B���E�&)*> N��F�2�6%B����1�o��)*"c �)*�F0 ���q ��o��)O�&%(<= �q �%(C��!�2�=�2�y�2��%2�/� ��0'%')O��<=�6%(0 �5%(C�<=0AW �2CX�2KP<= �)A;\������ �%AWo�^"cN��=�=kV0'�o�2;2<�TX�21�<=��%(��)O�F0f "l��)*��+�����1E�o 0'%b+ ;2 ��1�<�%(<= ��09W �2;\��N�0(�^<�%�<=�6KL ��KL�20

Page 49: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

L!L ����������� ���������������������� �������������! "����

<<ConcreteElement>>

NetPrice():CurrencyAccept()

FloppyDisk...

...

1..*

<<ObjStructElemAssoc>>composed−of

<<AbstractElement>>

NetPrice():Currency

name:String

Accept()

Equipment

...

NetPrice():CurrencyAccept()...

...Chassis

<<ConcreteElement>><<ObjectStructure>>

PricingVisitor<<ConcreteVisitor>>

Total:Currency

<<CallDep>><<call>>

VisitFloppyDisk()VisitCard()VisitCompEquip()VisitChassis()

CompositeEquipment

AddEquip()RemoveEquip()NetPrice():CurrencyAccept()...

1

<<ObjectStructure>><<ConcreteElement>>

<<ElementGeneralization>>

<<ConcreteElement>>

NetPrice():CurrencyAccept()

...

...

<<CallDep>><<call>>

<<CallDep>>

<<call>><<CallDep>>

<<call>>

<<CallDep>><<call>>

<<ConcreteElement>>

NetPrice():CurrencyAccept()

...

...

Card Bus

VisitBus()...

��� �����' �� � �� �Z68�1����=�1��%= !�� !�#7%���� ��= . =�%'!<( ��6�2

0'�o�2;2<="SkG<���> <=��%(��)���;�%(<= ��0BhA<�%(C� �%(C���)� �W �'�2;�%(0\�/H$�&%(��)Ah��^<=���=N�0'%')O�&%(�fC� th %(C�<�0B;2 ��0'%')O��<���%9;\���EWo�D0'�o�2;2<�T��21<=�����qab7A3 �79�\����<=]\�&%(<= ��0I ":+So7YO�jYO]3^J��N�0(%JC��2KL���&%l�=�\��0'%I ���})*�\���=<�]\�&%(<= �^ " � ZPZ�Y'aB^,HEY � ��uBC���� ZPZ�Y'aB^,HEY��^Wo�2C��2KP<= �)

�X��0(0*�20D�VKG<=0*<�%( �)A%( ���� �2���2�F�2��%2� uBC���KP<=0(<�%( �)f�X��0(0*�21 <=�4����� ZPZ�Y'aB^,HEY��4Wo�2C��\KG<= �)D1���%(��)*�F<=���20�%(C��x%.k6�o� "!Wo�2C��\KG<= �)%(C��&%V%(C�� �2�=�2�F�2�6%h9<=�=�90(NK ��)e4 � )*�\���=<�]\�&%(<= � " ��a1YOdnW@^igc\L] HEY �3<O� � ��0'%')O��<=�6%(0 � %(C��20(�Wo�2C��2KP<= �)*0��&)*�����P��)*�20(0(�21�<=������ab7A3 � ��1�1�<�%(<= �X��� Wo�2C��\KG<� �)O��� ��)* ��o��)(%(<��20� "9%(C�����<=0*<�%( �)F�X�&%'%(��)*� �&)*����P��)*�20(0(�21E<=�%(C���MP�;>GN��2��;2�!�f<���>�)���� + 0'% kP�=�21Ea�7�3Q0(C� \h9��<��qm$<�>P��_P�ZrG�

FloppyDisk1

FloppyDisk2

Bus1 Chassis2

Chassis1

Card1

Bus2

FloppyDisk3

CompositeEquipment

Chassis4

Chassis3

Bus1

Card2

��������� �� �� �� ����� �1; % ��%'(��C;5%���(� �C./�)0�= � �7= >����������

ml<=>P��_P���|n�0*C� \h90A� )*�\���=<=]\�&%(<� �� "J%(C��!��<�0(<�%( �) ab7A3R"S �)9%(C��! �W �(�2;�%A0'%')*N�;�%(N,)*�f0(C� th9��<=�qml<=>P��_P���tjG�

O)� � � � ! � � %n( " � � ! � � Q � . � � � ��� �79 ���B�F G1��2�=0};\���yW ��)O�\���=<=]2�21F%( ^ �W�%*��<=�y1��20(<=> �F�F G1��2�=0 "S �) 0(� �2;2<=T�;B�&�����=<�;\�&%(<= ��02�l�f�20(<=> ����)*0 C��2KL�9%(C��

|����,<�W�<=��<�% kq%( E��1�1 1� �y��<=�P+ 0(� �2;2<=T�;^�F G1��2��;2 ��0(%')*N�;�%(0D �)^;2N�0'%( �F<=]2�21 ��)O �� ��)*%(<=�20!N����=�20*0A%(C��F3E��%*��7A �=�35 61��2� ���P���=<=;2<�%(�=kx)O�20'%')*<=;�%(0 %(C��2�q��R��fC��\KL��1���KL�2�= ��o�21y%(C,)O�2�A1�<IK ��)*�2�6% )O�\���=<=]\�&%(<= ��0�4 �=<�W�)O�&)(k�0'kP0'%(�2� 6,;\�&)

Page 50: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� � ��� ��� �7� LhP

Accept(PricingVisitor)

VisitFloppyDisk(FloppyDisk)

Operation()

Accept(PricingVisitor)Accept(PricingVisitor)

VisitFloppyDisk(FloppyDisk)Accept(PricingVisitor)

Operation()

Accept(PricingVisitor)

VisitFloppyDisk(FloppyDisk)

Operation()

Accept(PricingVisitor)Accept(PricingVisitor)

VisitFloppyDisk(FloppyDisk)Accept(PricingVisitor)

Accept(PricingVisitor)VisitFloppyDisk(FloppyDisk)

Operation()

Accept(PricingVisitor)VisitFloppyDisk(FloppyDisk)

Operation()

Accept(PricingVisitor)VisitFloppyDisk(FloppyDisk)

Operation()

Accept(PricingVisitor)VisitFloppyDisk(FloppyDisk)

Operation()

Operation()

:Client :EquipStructure :FloppyDisk1

:Chassis1 :Chassis2 :FloppyDisk2

:Card1

:Bus1

:Bus2

:PricingVisitor

:FloppyDisk3:Chassis4:Chassis3

:Bus2

:Card2

CalcPrice(PriceVisitor)

GetTotal()

��������� �� �� �� ��A6��1�&��= )��%= !<� !�# %��?� �8=�. =�%'!�( � 6U2

)*�2�6%*���l0'kG0(%(�2� 6 )*��KG<�0(<= �E;2 �6%')* ��0'kP0'%(�2�D<9 "�%(C����/a(�BU 3E��%*��7A �=�F3E G1��2� �Aa��4%(C�<�0A0(�2;�%(<� ��6 h/����)*�20(�2�6%�X�&)(%! "/��=<�W�)O�&)*k0(kG0'%(�2� )O�\���=<=]\�&%(<= �o�{R���N�0(�xWo �=150(%(��)*�2 �% kG�o�20D<=�4%(C�� �F G1��2�l;2 ��0'%')*N�;�%(0f%( q<���1�<=;\�&%(�%(C��&%�%(C��x;2 ��0'%')*N�;�%(0!�&)*��<=�6%(�2��1��215%( yWo�D)O�\���=<=]\�&%(<= ��0A "�%(C���)* �=�20������F�214<=��%(C���0'%(��)O�2 �% kG� �20\��m��\�&%(N�)*�

Page 51: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

L%T ����������� ���������������������� �������������! "����

��)* ��o��)(%(<��20F%(C��&%q�&)*�4�� �%yWo �=1 �&)*�5��1�1�<�%(<= �����A"S�\�&%(N,)O�20��� �%0'�o�2;2<�T��21�<=��%(C�� 35��%*��79 �=� 35 61��2� �NR��1��20(;�)O<�Wo�A%(C��!�F 61��2�oW6kV)*�\���=<�]2<=��>x%(C��^MP7�3v����1�a�7�3v"c �)B%(C��^��a'�BU 0(kG0'%(�2���

O)�� U% $E2,�2 � P QMS�!UTuBC����=<�W�)��&)(kVCX��0���;2 �=�=�2;�%(<= � "�<�%(�2�y02�A��� <�%(�2� 6 ;\���=�=�214;2 ��6k@6o;\���4Wo���yW G �{� �)!��N���%(<=�F�21�<S� <�%(�2�q�

35�2�^Wo��)*0D "/%(C�����<�W�)O�&)(k5;\����;*C��2;*{�<=� �)^;OC��2;({� N,%�<�%(�2�F02�FuBC���k4�&)*�y����0( ����=�= th/�21 %( �)*�20(��)(KL�F<=%(�2�F02�ml<=>P��_P���tYy0(C� \hA0 %(C��!;2����0(091�<���>�)O���z "$%(C��!��<�W�)O�&)(kV��0A� )*�\����<=]\�&%(<= �q "$%(C��^�/a(�BU MP7�3��R��D1��20*;�)*<�Wo�!��"S��h <=���o �)(%*���6%9��0'�o�2;�%(0B "$%(C��^�/a(�BU�MP7A3v)*�\����<=]\�&%(<= �Wo�2�= \h^�.y� �QgxYOdnWLd Z�� BF<=0�<=�=�=N�0'%')O�&%(�21E<���%(C��x)*�\���=<�]\�&%(<= �5 "}%(C�� DO^?YO� 79 �=��WGk ��\�a�B�hAC�<=;*C4<=0�0'�o�2;2<����=<=]2�21EW6k

ueTo ^ig=�jYPvLgiW����1ZH \k\%�X�.Uu T1o ^igy�UYPvLgcW�<�0B� )*�\���=<=]\�&%(<� �� "J%(C�� ��\L]BZJdnYJ^?Y&DO^?YO� )* �=�D����1�%(C�<=0 <=0B<���1�<=;\�&%(�21WGk�%(C��D0'%(��)*�2 �%.k6�o�

? ��\L] Z;d`Y;^?Y&DO^?Y;� @ ��uBC��/�� �%*�&%(<= � ? 02� @R<���1�<=;\�&%(�20l%(C��&% ��\Oa�B4D&@ <=0}��)O�\���=<=]\�&%(<= �� "X%(C�� 0'%')*N�;�%(N,)O���)* �=� DO^?Y;� ��\kvQYQ6$����1 <=0�%(C�� ���=kE)*�\���=<�]\�&%(<= �4W �2;\��N�0(�� "}%(C�� )O�20'%')*<=;�%(<= � <=�4%(C�� �xN���%(<��X�=<=;2<�%.ke4OF2� �����JH5<=�ml<=>P��_P��� �r<O�

.[H�\J\ � ����1"u Top^igy�jY`vLgcWgWo �%(C����S�2k %(C��E)* �=�E " ��\@]BZ;d`Y;^?Y?DO^?YO�E� ~� \h���KL��)J69%(C�� 0LY;dCg w<B�DO^?Y;� 23^xW@^iTbVWo�2C��2KP<= �)O���B)* �=��<=� H \k\%��<=0������\kL�21�WGkgW �%(C 0LYOd�g w�B �{\@o v�23^xW@^iTbV�����1 0@YOd�g w<B7H�\Ld�d \ C23^xW@^iTbV� �� ��)��&%(<= ��04 <=��1�<=;\�&%(�21 WGk5%(C��/? W8��@ �����P%!%( �Wo �%(C ��o��)O�&%(<= ��0C<C6JW�N�%D ����k4W6k 0LY;dCg w�B �5\@o v�23^xW@^iTbV�<=�~ueTop^ignu�YPvLgiW��uBC�<�0�;\���gWo�V;2 ��0(<=1���)O�21 �4;2N�0'%( �y<=]\�&%(<= �g<=�6KL ��KG<���>51� �y��<=� <=��"c �)*�y�&%(<= �o� uBC�� ? W Y @ �����G% %( 4%(C��V;YJ^ 23^xW@^iTbV� ��o��)O�&%(<= �E1��2�� �%(�20B%(CX�&%9<�% <=09� )O�\���=<=]\�&%(<= �q "$%(C�� T�abvtWt^?Y�DO^?Y;� 23^xW@^iTbV Wo�2C��2KP<= �)O��� )* �����. uBC�� F��bW�VJHq��0(0( G;2<��&%(<= �5<=�%(C��^�y 61��2�J<=0 %(C��� ����kV)*�\���=<=]\�&%(<= �E "l%(C��^��0(0( G;2<��&%(<= �E)* �=�!Wo��%.h/�2�2�5%(C��

��\@ofo YPZt^igc\L] ��\Oa�B5����1%(C�� ��\�a�Bq<=�%(C��^MP7�3��.yuBC���)*� �&)*��% h� ���0(0( G;2<��&%(<= ��0�Wo��% h��2�2� IM\JWL] D�]JwO\5����1 ��\�a�B�4 g=VOZJT1dCd`YO]3^co B@o \kWL] Y`v ����1~g VOo \kWL] Y`vOabW�V�^`<C6

����1 ���=0( Wo��% h��2�2� IM\JWL] D�]JwO\�����1Nu�YO�j�CYOd 4`Z;T1d�dnY;]3^co B��bW�V ����1 �bWLV�a1W�V�^`<O� uBC�<=0�<��=�=N�0'%')��&%(�20�%(C��&%%(C����0(0( G;2<��&%(<= �5)* �=�20 I Y;]BvLgy]0X DO^?YO��EVCVO\JZF����1 I$YO]Bv gy]0X �$V;YOd ��VPVO\kZ�;\���EWo�^)*�\���=<=]2�215h9<�%(CE% h� V��0(0* 6;2<��&%(<� ��0�\��;*C8�

. ��\L]BZJdnYJ^?Y�I Y;]BvLgy]0X HJ�2��1�<=��>y)* �=�x<=0f;2 ��0'%')O��<=���21E%( qC��\KL�� ����k� ���x)*�\����<=]\�&%(<= � <=� MP�2;�%(<= � _P��� � �^ab�%(C��D��<�W�)O�&)(k��F 61��2� %(C��FIM\JW@] D�]Jw;\<=0�%(C��D0( ���f)*�\���=<=]\�&%(<= �E "J%(C�� I YO] vLg=]bX)* �=���

./uBC���0(%*�&%(N�08%.k6�o�20 � � � ����1 � p � I �&)*��)O�\���=<=]\�&%(<= ��0o "G%(C����2�GN��F��)��&%(<= �!)* �=����<�%(��)O���=0 � � + � �C+ @ � � w����1 � p � D&I � H I +��uBC��^"S �=�� \h9<=��>���)* tKG<=0*<= �E "�;2N�0(%( �F<=]\�&%(<= ��0[4 ��1�1�<=%(<= �����8��)* ��o��)(%(<=�20C<�CX�2KL��W �2�2�4�y��1��^%( y%(C��x�/a(�BU

MP7�3��. D�]3^idn\JvLT}ZJ^igc\L]�\nwz^��1Y ZPW�a1WQ�Ogiosgi^/B9^x\jd`Y�VJYOd 0LY5gi^?YO�[V�g=]e^��1Y[opgc�;d W@d�B��/ab�qm$<�>P��_P���tY�h��!0(�2�!%(C��&% %(C��!;2�S��0(0

G YtV;Y;d90LW3^igc\L]�h���0l��1�1��21x��KL�2�x%(C� N�> Cx<�%Jh ��0l�� �%J)*�;>GN�<�)O�21DWGk!%(C�����a'�BU MP7A3 �|��1�1�<���> %(C�� G Y�VJYOd 0�W@^igc\L];2����0(0A���=�= \hA0B�F�2��W ��)O0 %( �)*�20(��)*KL�D;2 ���<=�202�

. +�_Q^id WmW@^c^id�gc�;T^?Y w;YPW@^iT1dnYOV5WL]Bvm\�a1YOdnW@^igc\L]V�� uBC��!�&%'%')*<�WXN,%(�204F{W@�UY�����1 � vtvLd`Y�VCV�<=� u�Y;�U�CYOd �&)*�!�� �%)*�;>GN�<�)*�21WGk%(C�� �$V;Y;d�)* ����� uBC��D ��o��)O�&%(<� � dnY;�U\�0LYCIM\kWL] <=� I \JWL] D�]kwO\V<=0B�� �%B)*�;>GN�<�)*�21WGk%(C�� I Y;]BvLgy]0X)* �=���

.-+ _t^idnW9abW@d WL�jYJ^?YOdCV9gy] \�a1Y;d W@^igc\L]V ^��bWt^�dnYPW@opg7qrY-�PY��bW�0rgi\LdnW@o)dn\@o YOV��VuBC��-dnYPWtvCB�� �&)O���F��%(��) �X��0(0(�21 <=�%(C��9VJY;^ 23^xWt^iT0VV �� ��)��&%(<= � <=� %(C��ju Top^igy�jY`vLgcW4;2 ��0'%')*N�;�%�<=0D<=����1�1�<�%(<= �4%( q%(C���� �&)O���F��%(��)*0^)*�;>6N�<�)*�214%( )*�\���=<�]2�^%(C���Wo�2C��2KP<= �)O���J)* �=�DT�abvtW@^?Y�DO^?YO� 23^xW@^iTbV �^���� �%(C���)!���,���F���=�^<�09%(C�� G 2 p 4:)*�20(��)*KL�21B<B0(%*�&%(N�0�%(C��&%h ��0A��1�1��21�%( �%(C��!<=��<=%(<���� �2�6N��y��)O�&%(<= �� "$1�<7K ��)*�2�6% {G<=��1�0 "I0(%*�&%(N�0B%.k6�o�202�ml<=> N,)*�!_P���tpy0(C� th909�x)*�\���=<�]\�&%(<= �� "$%(C��^�/a(�BU ab7A3R"S �)A;*C��2;*{,UfN�%2��}KL�2� %(C� N�> C4W �%(C 0@YOd�g w<B �{\@o v�23^xWt^iT0Vy����1 0@YOd�g w<B7H�\Ldbd \ C23^xW3^iTbVy�X���2k�%(C�� 0@YOd�g w<B DO^?Y;� 23^xW@^iTbV�Wo�2C��2K6+

<= �)O����)O �=�"S �)�-/ G �{B6/%(C���kg���2�21 �� �%�Wo �%(CgWo����G��)O�20(0(�21 <=�g%(C��ab7A3�6lW�N,%F�&%y�=�\��0(%F ���q���2�21�0 %( Wo���)*�20*�2��%2�!uBC��x��;�%(N����$)*�\���=<=]\�&%(<� ��0A1���� �2��15 �5%(C��x)*�;>GN�<�)*�2�F�2�6%(0�<=��%(C��x0(;2�2���&)O<= P�!m� �)!���,�����X�=�L6 h/�x1�

Page 52: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

��������� � ��� ��� �7� LhW

l : LoanInfo {new}

:Controller

checkOut(uid : Int, iid : Int)

[return = TRUE]i : Copy := findCopy (iid : Int)

i : Book

e : Boolean := verifyHoldStatus()

/create ()[e = TRUE]

addNewLoan (l : LoanInfo)

setLoanID (lid : Int)

setLoanDate()

setStatus (s : {CHO})[i = Book]

lid : Int = genLoanID()

u : Member

e : Boolean := verifyUserStatus()

i : Multimedia

[i = Book]

[i = Book]e : Boolean := verifyBorrowStatus()

[i = Multimedia]setLoanID (lid : Int)

[i = Book]

u : Member := findMember (uid : Int)

:CollectionMember

:CollectionCopy

[i = Multimedia]e : Boolean :=

verifyHoldStatus()

:CollectionLoanInfo

setStatus (s : {CHO})[i = Multimedia]

��� �����' �� � �< �� 68�1����=�1��%= !�� !�#7%���� � = �?('��(�� � ���1; � � ��% � 6�2

Page 53: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

L%\ ����������� ���������������������� �������������! "����

�� �%D���2�21 %( KL��)O<="�k5%(C�� F'Wo �)()* \h �&W��=�;Hq0(%*�&%(N�0! "/�VWo G �{�h9C�<��=��;OC��2;({P<=��>q<��5%(C���Wo G �{B6oWXN,%!1� ���2�21 %( KL��)*<="SkV%(C��!C� �=1q0'%*�&%(N�09 "$%(C��fWo 6 �{ �

Page 54: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

���������

��� ������������������� �������� �����"!# "$&%�')(+* ,.-��� ��������������0/21�3� "��4�4��5!#67*8-�9��4"�" :��������;���4"4���4<*7=>9��4"�" :������� �����"!# "$�?@��BAC3����"�"�� �6D*8,�=��4"�" :������� �����"!# "$E3 ���F���� "6D*G=>9��4"�" :������'C!#;5�#*8-�H�3�3�;5�5�>�����5!#6�I@4�38���>� J��K3� �!#38�� "�"�5�>4>*D=>HL ��4��#*89L ��M �>���5!# :��;D �!#;5��4<*7=>HLON 4"�56���4�4)')��4"! N ����K(0��6 ��P#��QR��6S�>*UTV ���:��; $�4��54>*8TV M����:WS�56�I V M����:W#! N �>*UXV ;���4�4FIYQR!����>;@*�XV ;���4�4"� J �� )M��5�> ��� ��:M.$.*8-#TV !#;5;���8!# :���"�5!#6& �!#;5�#*�ZV !#;5;���8!# :���"�5!#6& �!#;5������QR3�;����"��4<*[=>ZV !#;5;���8!# :���"�5!#6�IY4"�Y$�;5���&\]')(+*D=>ZV !#6�4"�" :���56.�C����QR3�;����"�#*[=>H^ ��4��5P#6E_` ���QR��ab!# �WS4<*�c^ ��4��5P#6d3 ���F���� �6�4<*[=^ �������5;5�>�d���" :������� ������!# F$0%�')(+* ,#,^ �������5;5�>�&/B1�3� ���4"4��5!#6D*U-�9^ !#Qe���56�I@4�38���>� J����� ��:M�� ������� N ���4<*7T^ !#Qe���56�I@4�38���>� J���;���6�P N ��P#��4<*7T^ !#Qe���56�I@4�38���>� J���3� �!#P# ���QRQR�56�Pf;���6�P N ��P#��4<*7T/hg)�� "��QR��ih "!#P# :��QRQR�56�P��"�>��M�6��5j N ��4<*Uk���>��� N ��f �!#;5��4<*7=>H��!#;5�����&���" :������� �����"!# "$�%�')(+* ,.-��!#;5������/21�3� ���4�4"�5!#6D*U-�k��!#;5�����0%�'�(+* -�k��! N FIY;��>$.�� CQR���:��QR!S����;[�� "�:M�� �"�>��� N ��#*UZ�� :��QR��ab!# "W�4>* T\Y6.���� :�����"�5!#6l')!#;5��(�!�����;@*[=>Z\Y6.���� :�����"�5!#6l')!#;5��(�!�����;54�?Y\]')(�4�A:*[=>H\]')(m4�38��������;5�5n<���"�5!#6D*U-�=o ���.��;G(+=#* Zo ���.��;G(l-�* Zo ���.��;G(0,�* Z(���4�4���P#�� �!#;5��4<*7=>Z(����:��I@�>!#;5;���8!# ������5!#6�4>*Uc(����:��QR!S����; IY;5���.��;D��!#6�4F�� ����56S�"4<*[=>H(�!S����;[ ���_`�����"!# ��56�P�*D=#*U-�=(�!S����; IY;5���.�>;7��!#6�4"�" :���56.�<*G=#=

p �qF�>��� V !#6�4"�" :���56.� o ��6�P N ��P#�r? p�V o A�*[=>Hp �qF�>���FIY ��4"�>�d �!#;5�#*8c�*8Tp �qF�>���FIY!# ��5��6.�����E_` ���QR��aO!# �W8*�kp �4��� "�.�� C3 ���F���� "6D*G=<-�* ,.Tp�p :��Q�*�ciB���F�"�> "6&4"3U����� J �>���"�5!#6D*G=iB���F�"�> "6&4"3U����� J �>���"�5!#6�4<*U9iB���F�"�> "6�IY ��4"����QR!����>;7 ���_`�����"!# ��56�P�*D=#*Uci2!#4F�"I@�>!#6���� ���5!#6E����QR3�;����"�#*[=#=ih ���IY��!#6���� ���5!#6E����QR3�;����"�#*D=#=ih ���IY����J�6����&��!#6�4"�" :���56.�"4<*[=<cih �!S!�_2!#�;5�5P.���"�5!#6�4<*D=<c')�>��;5�5n>�����5!#67*[=#* 9')�>��;5�5n>�����5!#6dQ N ; �"�53�;5�5��� �Y$.*7=>H<s8=#=')!#;5�#* 9')!#;5��P#��6��� ���;5�5n<���"�5!#6D*G=>9')!#;5��(�!S����;@* 9')!#;5��(�!S����;[P#��6��� :��;5�5n>���"�5!#6D*U-�H')!#;5��(�!S����;[ "�<��;5�5n>���"�5!#6D*89')!#;5��(�!S����;[4"3U��������;5�5n>�����5!#67*U-�H')!#;5��(�!S����;54<* -�*89')!#;5��4"38�>������;5�5n>���"�5!#6�4<*[=>9')!#;5�#t 4C ��4��#*[=#=')!#;5��I L ��4"�>�d(�!S����;5�56�P o ��6�P N ��P#�.*8X')!#;5��IYQR!S����;@*�X' N 6�I@���5QR���56�4"����6�����4<*8Z%�! N �����QR!S����;D4"���>*U-�,%�'�(u4�38��������;5�5n<���"�5!#6D*U-�=%S�:���"�5�f'C!#;5�f(�!�����;54�?F%�'�(�4:A�*7=>H%S���� "�>!��Y$�38�#*G=�X%S�� N ��� N :��;[ "!#;5�>4>*D=>Hv �� �P#���)QR!�����;74����<*8-�,v �>QR3�;�������3��� :��QR������ "4<*D=>9v :��6�4F_`!# "Qe�����5!#6e4����>*U-�,v :��6�4F_`!# "Qe�����5!#6R�" :�����#*U-�,v $�38��IYQR!S����;@*�Xw ( o �56�_` ���4"�" N ��� N ��#*�9w 6�� J ���&(�!�����;5�56�P o ��6�P N ��P#�#*8Xw 4:��P#����!#6.����1S�<*G=w 4��� FIY����J 6����&4F���� "�>!��Y$�38��4<*G=�Xx �54�� �"!# b����4��5P#6d3 ���F���� �67*7-x �54�� �"!# b3 ���F���� "6D*U,.c

yBz

Page 55: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q
Page 56: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

� ���D��� � ���d���

� � ����������������������� ��!"�$#&%�'���(*)+#,��-���./�0'��1�2�43�56'1#,���7�������98:%;�180#&%�<>=?)@��AB��#&�7������CED4FG#,F@5��H��5�%;IJ'6F��������1%KF$%K����56LM�2#,�1%;5N'1#&�H��F��.G�7OQP�RTS�UWVYXZV?S�[ \�]�UW] S�V?^`_?P$aNbdceS�f1gQ_�\�]�b/gNRh]+ijPK^:g�[ UWV2k��4.Gl"lelm!e�1%;F1F�noKp�pJ��

� q9jr��s� �utv��FG#&CE#+�����xwQ�u)h�s�Z�HA�y��H5�Lz� {J34I�I?���$'h|W���`5���A`I��1%;L4%;��FG#&8:%��1%;3�F$%��x}o%K5�L��J#~5���C��Z%;I?�H�$'h�@��.$�Z�v{0(G}���(/pJN($q��Jn�v{2(/}���($q��H���Jn�)+%;I����$'�A`%;�0'v��|e����A`I�34'�%���{45N#&%;��5�%Hn��+�4#&8:%���FG#&'/DB��|"�7���$DJC,�������9'@����CEC,%��H% !s���1�?n�KpHp2H�

� ��j�e�?t��HF1F�n?!u���eC&%;A`%��2'6F�n��������Q��� ��-;AB���z�@_�P$aNbdceS�f�g XZf$�6�2UWb/g1��bd�2f�ghUWV7��f$S:��bdU��6gN��{Jl".Z{J%��$#,%;FZ#&�M{J��|~'G<����1%Qle�4��#&��%�%;�$#&���4n�+�4�J#,F$�H�J(*��%KFGC&%�D0n�Kp�pH�J�

� ��j�T��t�%K56�?��g1�@bdf�gNR`g>��f$P�k�f1S�R�RhUWV0k�g1���?[ES�UWV?g�^:�z��R`��f$S:�6g��o�4S�V0k0gN�������2#~F$���4(�� %;FGC,%ND0n?KpHp�pJ�� �9j�Q�J}+�JrQ�2t������H�Jn����4{?�2�Q���+%;�1AB�����JnJ�����B!u�4���4�7�HFG#&%;�1�4�"��|d��AT#EC&DB��|�I���'1'�%;�1��F�|W�H�vy43�FG#&��%;F1F��1%KF$�H34��5�%@AB��������%;A`%;�0'K�

.G����f1PK�6g�g�^�UWV2k�]�P$a�b~��g���b~� XZV4V��4SH[@�"P�V;aKgNf�gNV��6g¡P�V¢�vS�bdb/gNfNV�£�S�V2k��4SKk0gN]�P$a`��f1P�k�f$S�Rh]7¤��e£zPK�`¥ ¦�§;¨Kn������0'1#~5N%�CEC,�Jn�./�en�>{J�Qn�Kp�pH�J�

� ��j�Q�H}+��r���t������H�Jn0���:{���� �0�+%;�1AB�����Jn:������!u�:���0�7��FG#,%��1�4���¢I���'1'�%��1�hC,������3����H%v|W���"y43�FG#&��%;F1Fs�1%;F$�H3���5N%ZAB�������H%;A`%;�0'K�J.G���f$PK�6g6g1^�U~V2k�]+P$a�b~�4g@©�b~�T�vS�bdb/gNf6V�£zS�V0k��4SKk0gN]�P$a���f1P�k�f$S�Rh] �"P�V;aKgNf�gNV��6g ¤*�"£zP9�T¥ ¦:¦N¨9n:8:��C&3�A`%vª2n:I�����%KF�6«2���4n2�����2'1#,5�%NC&C&�Jn.G�"n��@{4�Qn�;pHpHp2�

� ª9j����t�3�F156L4AB���4�znJ�Q����%;3��J#&%;�;n�wQ���Z�HL4��%;�$'Kn4!u�?{2�HA`A`%;�$C,�H��n����������?{2'6�9C*�vX¬_�\�]�b/gNR­P$a+�vS�bdb/gNfNV4]��u��S�bdb/gNfNV�®6¯�f6U*gNV4b/g�^_?P$a6bdc�S�f�g>XZf$�6�2UWb/g1��bd�2f�gN����#&C&%�D0n�Kp�pH�2�

� �� ����t�3J'1C&%;�Z�������e�4°+3��"���HF15;���4%K���1%N|d�H56'��H�$#&���`|W���v|W����A`%N<��H�1��%;8:��C&34'1#&�H���e./�j_4_J±Y¥ ²H³�n�q����J��� p�j)h�z���o)h´ {2�H3�-;�Y����� �Q�o�����µ#ECEC~F��x¯��W¶Kg���bd]�·Q�"P�R+�JP�V�gNV�bd]�·+S�V?^Y¸�f$S�RBgNceP�f1¹�]TcsUWb~�»º�i�£"�@¼���g��"S�b*SH[ \�]6U~]�X��H��f1PKS:�6�0�

�+�4�J#,F$�H�J(*��%KFGC&%�D0n�Kp�pH�J��½;����Q��le�4%;���?��f�g1��UW]�gv_H�4g1��U ¾���S�bdUdP�V�PGa�OQgN]�U&k�VT��S�bdb/gNf6V�]ZS�V?^�¼�PKPH[2_��9�:�JP�f6b�UWVM¼���gNU~feX��H�?[ U���S�bdU�P�V4��!"L�)¢'�L�%KFG#,F�n��+�J#,8H%;��FG#E'GD

��|"}o%NC��Z82#&8?nJ.$F$����%�C�noKp�pHp2��½�� {��J}+�2|W���v�+�4��IJ'6��y4C&%���%�CE#,��yJC&%>{2D4FG'�%;�4ABF�¿*{J}����+{�ÀN�z{J}v���+{B5N�H��5N%;I4'�3���C?|W����A`%�<����1�T|W���v�1%;3�F$%�I��1�25�%KF1F$%;F�n�r���C&3�A`%>H=

)@%�Á��4#E'1#&�H�zn98H%;��FG#&�H���J� �J�J}o%;56L4�4#,5;��CJ�Z%;I?�H�$'u{4}��Z�@{0(*r+�e(/���JK�HÂ����J9Â��H�2nH���4#,FGD4F�{4}o���+{@}o%K5�L�����C&�H��D���%��2'�%��;n:Ã@56'��Hy?%;�;nKp�pH�J�

�½Kq9��������K<vC&%;�;��±�gWa;S:��b*P�f6UWV2k0�zÄ6R+��f1P�ÅKUWV0kBb~��g+O�gN]�U&k�VjP$a+�"Æ�U~]6bdU~V2k¡�"PK^:gN�������2#~F$���4(�� %;FGC,%ND0n�;pHp�pJ��½;��j�Q�Jt+�4��������5�%Hn4)h�J�T�J�@#&A�n4l���{J�H�4�4n4������{?�?�+L4�:F$Lz�s�+FG#&���h�1��C&%KF�'��`56L�������5N'�%;�$#&-;%>A`�2�4%NC�|W��AT#ECE#&%KF��".G�¡��f1PK�6g�g1^�UWV0k�]QP$a

b~��gY¼?gNV4b~� ¯+¯e��_2£oXÈÇYP�f1¹�]1�JPN� P�VYÉ�g��4S�ÅKU�P�f$SH[o_?gNR`S�V4bdU���]��oÉ�SH�6¹`b*P`b~��g>É�S�]�U���]�n�q����JH��½���jlZ�e�@��A`AB�Jno�Q�ow+%�C&A�n�� �"Ê���L���F$�H�znu�����¢ÊJ��r�CE#,F1FG#~�J%KF��¢OQgN]�U&k�Vx�vS�bdb/gNf6V�]�����[&gNRBgNV�bd]�P$aT±ZgN�2]NS:�;[&gj¯��W¶Kg���b�®�¯�f6U*gNV�b/g1^

_?P$a6bdc�S�f�gN���+���2#,F$�H����%KFGC&%�D0n�KpHpH�2��½K�9������"�?�+�$#,F1F���{J��|~'G<����1% �1%;3�F$%H=��u�1��AËCE#,y4�����$D�'��h|d��5N'��H�$D0��Ä1É�iÌ_4\�]�b/gNRh]QÍ0P��Jf6V?S�[ n?�:q2¿d�0ÀNn�Kp�pH�J��½;����Q���+3�%;�4��%K5�n����?{J34�2D:%HnJ������ÊJ�?Ê�%;-;%KÎ034%�C��e!"�1%K5N#,F$% A`�2�4%NC&#&�4�h��|"�J%KFG#&�H��I���'1'�%;�1��F��s.G�7��f$PK�Ng�g1^�UWV0k�]�P$a�º�i�£>¥ ²:²�n�q����H�2�

Ï�Ð

Page 57: Colorado State Universityfrance/AspectsPapers/rbml.pdf · ! " # $ &% '(*)+ ,- .)/ 0 1/2 354 687:9A@B6DCFEHGI; JLKMKMNPORQ SUTWVYX[Z\N^]_V`KMKMNPZ a Ncb?dPe5TMV^Z[f O5Q

�� ���������� ����������������������� ������� �!���#"$�����

�½Kª9j�T�H� �����Jn2{��:���HL4%;�zn0ÊJ�:w�%KF1F�n�� �&%���8����?n������`{���!u%�'�%;��F$���z����%K��'�34�1%�(GÃ+�$#&%;�0'�%K�h)@��AB��#&�T�Z����C,�;D4FG#,F"�"Ã+)>� =���%K�HFG#&yJ#&CE#E'GDFG'�3��2D0�s}o%K5�L��J#~5���C��Z%;I?���$'������>ÂH{2le.*(/pH��(/}���(Gq2Hn?{J��|~'G<����1% l"����#&�4%;%;�$#&���T./��FG'1#E'�34'�%�n?�����Qnz;pHpH�2�

�½;����Q�4����3��4%���������{�� �>%;�0'K�u!"�1%K5N#,F$% 82#,F$3���CoF$I?%K5N#EÁ?5;�9'1#&�H�7��|"�J%�#,F$�H��I���'1'�%;�1��F��s.G�7��f$PK�Ng�g1^�UWV0k�]�P$a��@�v¯@¯"�`¥ ¦�§Hn�KpHp��J��½;p��}+���o%�<v#,F�n��e���Z�:F$%;��FG'�%�#&�znK� �9!"�1%;%Hn��Q�K��%�#&��������n;lZ�H�@��A`AB�2nK!u������C,�4%��;n:�����Z���4%��$'Kn�ÊJ�9r�CE#,F1FG#,�4%KF�nH�����>�T��{45�L�Ah3�56�H%;�;�

¯��W¶9g1��b@¯�f6U*gNV4b/g�^hX��:�?[ U���S�bdU�P�V7¸?f1S�R`gNc�P�f�¹�]����7�����J#&���T!"3�yJC&#,5;�9'1#&�H�M���4�EnzKpHpH�2�� q��� ÊJ� (/���0���H�1%NC?�����`ÊJ���?����%�'K�?}�L4%v��l"t�Ã>Ã@} %;�280#&�1�H��A`%��2'K�J./�BXZ^�Å�S�V?�6gN]�UWV`_?PGaNbdceS�f�g�±�gN�2];gN�H.Gl"lel ���HA`I434'�%;�"{2�25N#&%�'GD

!e�1%;F1F�n?�7����5�L�;pHpH�2�� q0�M� �4!e�1%;%��vOQgN]�U&k�V���S�bdb/gNf6V�]ea;P�fT¯��W¶9g1��b�®�¯�fNU�gNV�b/g1^�_?PGaNbdceS�f�g>OQgNÅ�g�[EPN��R`gNV�bd���+���2#,F$�H����%KFGC&%�D0n�Kp�p:�2�� q�q9j�Q�4!"�$#,%N'���(*)+#,��-H��{0'6��'�3�Fv�1%;I?���$'K=?{2��|,'G<v���1% �1%;3�F1��y4#ECE#&'/D0��Ä1�e�"� _�P$aNbdceS�f�gNnzK�J¿��:ÀNno;pHp��J�� q����}+�?�Z%;%;��F$����34�4n4!u��� ��C,��n?�����7Ã����Q�4�o%;L4��%H��Ç�P�f�¹�UWV0k�csUWb~��¯��W¶9g1��bd]���¼���g�¯+¯e±�X�i _?P$a6bdc�S�f�g>��V2k�UWV?g�gNfNUWV0kBi�gNb~�4PK^��

�7���4�4#&���:Â�!"�1%;�0'1#~5N%Qw+��CEC�no;pHpH�2�� q9��j)h�4�Z#&%;LJC,%@�����Y}+�?�+�1�HF1F��e�Z��C&%>A`�2�J%�Coy��HF$%K�B|W����A`%�<����1�Y�J%KFG#&�H�7������#&�0'�%;������'1#&�H���e./�¡��f1PK�6g�g1^�UWV2k�]�P$a@b~��gQ³:¦:¦H§¡�"P�V�®

aKgNf�gNV��6g�P�V ¯��W¶9g1��b�®�¯�f6U*gNV�b/g1^7��f1P�k�f$S�RhR�UWV2k7_�\�]�b/gNRh]�·�£�S�V2k��4SKk0gN]�·+S�V?^�X��:�?[ U���S�bdU�P�V�]�¤N¯@¯e��_J£zX ¥ ¦H§�¨9�o�Z��� !e�1%KF1F�nKp�pH�J�

� q��9 �������4�����H%;��F���¸�f$S�RBgNceP�f1¹�®/�6S�];g1^Y]NP$aNbdceS�f1gh^0gNÅ�g�[EPN��RBgNV�b�UWV �('�'��s!"�1%;�0'1#,5�%>w@�9C&C�n�Kp�p:ª2�� q��������{2L��;< �����Y)h���@���$C,������_�P$aNbdceS�f1g@XZf1�6�0UWb/g1��bd�Jf1gK�u��gNfN]��4g1��bdUWÅ�gN]hP�VMS�V���R`gNf�k�UWV0kTO@UW]N��U �?[ UWV?gN�s!e�1%;�0'1#,5�%>w+��CEC�noKp�pH�2�� q�ª9�}�L�%ZÃ+y*)G%K56'��7�������H%;A`%;�0'��+�1�H34I�¿*Ã@�¡�>ÀN�4�+�4#EÁ�%K�h���2�J%�CE#,�4�>�������H3�����%H�?r"%;��FG#&�H���� �JnJÃ@�¡��n�L0'1'�Iz= ÂHÂK<v<v<>� ��A`�4� �H�1�Jn

Ê�3��4%TKp�pHpJ�� q���j�e�9}z�H�23��4�v�����>)h��tv��'����$D0�0�Z34'��HAB�9'�%K�@F$��|~'G<����1%e%;8:��C&3J'1#,��� 82#,���4%;FG#,��� I���'1'�%��1�@'�������FG|~�H�1AB�9'1#,����F��H.G�,+Hf$^ZÄ6V�b/gNf6V?S�bdU�P�V?SH[

_�\�R+�JP�]�UW�2R P�V�X��:�?[ U*g1^��"P�f*�JP�f1S�b/g��"P�R+���2bdUWV0k�noKp�p:�0�� q�p�j�e�4}o���J3����������B)h�Jtv�9'��H�$D0�ul"8:��C&80#&�����Hy*)G%K5N'1(*���$#,%��2'�%;���4%KFG#&����F�<v#E'�LY�1%�|W�H5N'����$#&���:F��e.G����f1PK�6g�g�^�UWV2k�]QP$a+b~�4g�³.-4b~�BÄ1�"�e�

Ä6V�b/gNf6V?S�bdUdP�V?SH[e�"P�VKaKgNf1gNV?�6ghP$a�XZ�2b*P�RTS�b/g1^�_?P$a6bdc�S�f�g@��V2k�U~V�g�gNfNU~V2k���./lel"l��v{�!e�1%KF1F�nzKp�pHpJ�� ����M� �o}o���H5�-�no�"��������CE#,���4%KF$%Hns�����¡!s��/e�H34���4�h)@�HAB�9#&�4(/F$I?%K5N#EÁ?5h{2� ����56LJ#E'�%K5N'�3��1%h%;����#,�4%;%;�$#&���J��_?PGaNbdceS�f�gh��V0k�UWV�g�gNf6UWV2k

0 P�b/gN]6noK�4¿*q�ÀNnz;pHp��J�� �2�j)h��{��0�µ#EC&%>������ÊJ�����4����A`AT#&�4�4�o{JI?%K56#~�9C�F$%;5N'1#&�H�z=J)@��AB��#&��F$I?%K5N#EÁ?5�C~������3�����%KF��s.G��Ä1�"�e� ¼4f1S�V4]NS:��bdU�P�V4] P�V7_?PGaNbdceS�f�g

��V0k�UWV�g�gNf6UWV2k�·�12�2¤2+;¨K�?./lel"l�nz;pHpHp2�