18
! "#$%% ! & ' ((() %** +** ((() ,

Model Transformation for Automatic Code Generation for Kontakt GUI 5

Embed Size (px)

DESCRIPTION

KONTAKT 5™ is the industry-standard sampler from Native Instruments. Its outstanding audio engine and state-of-the-art modular architecture provide unlimited sonic potential for composing music. The basic idea of the project is to provide a graphical tool for the creation of the graphical interface of a Kontakt library. This will be realized at first by designing a customized metamodel of the main elements of the graphical interface and then making a M2T transformation which maps to the code needed for the construction of the graphical interface of the chosen elements.

Citation preview

Page 1: Model Transformation for Automatic Code Generation for Kontakt GUI 5

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

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

����!��������&�

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

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

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

��'����((��()�%�**�����+��**�

((��()�����,�����

Page 2: Model Transformation for Automatic Code Generation for Kontakt GUI 5

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

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

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

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

�����&����� �����'�� ����� ������� ������ � ������������� ����� ������' � ��������������� �

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

���� ������� ���� � ��� ���������� �� ��������$��������(� � ���� ����� �����) ��'����� �!���

� �������������������������������* +%� ��,'�� ����� �$�'������ �������������� � ��%�� ��

����'�� ������ �����$ ������������������������ ���� ��-�����, �'���$��� ����� ������ �����'�� �

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

-�� ���� %��$������������ ��%�� ����'� ����) ��� ������� ��������������,'�� ����� ��� �

�� �'������������ ���� ���� � ������ ��� ��� ����������

������������� �������% �������(� �� ���� $������������������ ��������� ��� $�'��������'.

�! � ���������� �������������/

�! �� �� ������� ������������ ������ ���

�� � �� � ���������� ��� � �� � �� � ������� � 01�234$ � �� � � �������� ��� � ���'� � ��� � �� � ��� ���

+�����%� ����� �� ����5���� �� � �� �� ��%� ����� � ������ �� �����%������������ �� � ��� � � �� �

�� �� ������ ����� �������� �%� ������� �������������� � ��(�������

�-�#.%����/�+'���0����1�� $���2$�*����(�*�&#**�&�����$$�23�����&� �*!

Page 3: Model Transformation for Automatic Code Generation for Kontakt GUI 5

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

�� �%���� ������� ����6 ������������ ����������������������� ��� ���������� ������������ ���� ����� �

�����)���%���������'���% �� ��7 �����!���%��� ������������7 ��� ����� ������� ����� � � �� �

����� ������������ ���� ������� ����)�����8"���������������'������������� ���� �� � ����� �

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

�� �%��� � � �������� ������������ ���� ��� .�%�9��$�)��%$���% �$�� � ��� � �$�� ��$��� �$�'���$ �

��%� $����� � ���

��� �� ��'������ � � ����� � ��� ��� ������������� ��� �����%� �'����'���% ����� � ����

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

�� ��� ������������ � � � ����������! ��:;�������� ��%������������ ��� ��'����� ���� �

������������ � � ��������������������� ���� ���� ����� ���� ������ ������ �!����� �����

�� �3��� �8�� ����<��� '��)�=38<>.

� �� �� ������� ���� !� ����3��� �

� �� ���������� ����������� ��%���� �:��������8�� ����<��� '��)�

� �� ���� ������ +����������������� !� ����������� ��%���� ���� � ������������3��� �

�-�#.%����������*���#�� ��

Page 4: Model Transformation for Automatic Code Generation for Kontakt GUI 5

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

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

��� ����� ���� ����!���� !� ���� ���� ������ �� ������ ����������)�$�'������ �� ��! ������ �

�%6 �������� ������������ ���� $������� ������ �����'����� �������������� ���������)��������� �

�%6 �� � �� � � ��! � �� �; � � ��� ���� �?������$ � � �' ��� �� � �� ����������� �;�$ �'�� ���� � �� �

�� ���� ��%6 ����� +� ������ ����;����� �����;��������� ���� ��������'����������������$�

'����� �� ��������� ���%� ������ ��������� � ����������� �� ��'����� ��� ���� ��%6 ������� �

�� ���%� ������ � ���� ����� �� ������� ��� �������%6 ���'������� ��9�%�� ���� ��������� � � �

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

� ?����� .��� �����@������ �A���������� �� ������ �$������������;������<��������

� ?������.��� ����� ����������� � � � ������������� ������

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

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

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

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

� �����������$��������������%���&���� �

� ����+=��>.�+��������� $������� �������������� ��%6 ������� ��� ���� ��

� �����=��>.����������� $������� �������������� ��%6 ������� ��� ���� ��

� ������� B���=����>.��� �� ��! ������� ���������%6 �������� ��� ���� ��

� ?�������� +� ���;�.�

� �����������.������������'���������� ����'��

� ������B���� =��>.��� ����������� ������ ����������)��%��

� ������+B���� =��>.��� ���+�������� ������ ����������)��%�

� ����� �B���% �=��>.��� ����� ��������� �� ���������� ���� � ������� �)��%��

� ���������B��% �=����>.���������% ������� �����)��%�

� ?��������� +� ���;�.�

� ���������B��% �=����>.���������% ������� �����%�9���

� ?���������� +� ���;�.�

� ���������B��% �=����>.���������% ������� ������� �'����

� ?��������� +� ���;�.�

� �����������.�����(�")���#���"�����)��*)���#�

� ����'���=��>.��� �'������ ��������� ���% ���

4

Page 5: Model Transformation for Automatic Code Generation for Kontakt GUI 5

� ����� ���=��>.��� �� ������ ��������� ���% ���

� ���������B��% �=����>.���������% ������� �������% ��

� ?��������� ��� +� ���;�.�

� �����������.������������'���������� ����'��

� ������B���� =��>.��� ����������� �������� � ���

� ������+B���� =��>.��� ���+�������� �������� � ���

� ����� �=��>.��� ����� ��������� �� ���������� ���� � ������� ����� � ����

� ���������B��% �=����>.���������% ������� ��������� � ���

� ?��� ����� +� ���;�.�

� �����������.�����(�")���#���"�����)��*)���#���"��������*����#���"��������'�������

� �������� =��>.��� ����% ������� ����� ��������� �������������%� �

� ����������=��>.����% �����������

� ����'���=��>.��� �'������ ��������� ���%�

� ����� ���=����>.��� �� ������ ��������� ���%� ��

� ?������ �� +� ���;�.�

� �����������.������������'���������� ����'��

� ������B���� =��>.��� ����������� ������ ������������ ��

� ������+B���� =��>.��� ���+�������� ������ ������������ ��

� ?���!���� +� ���;��

� ?���"����� � ������8 ��.�

� �����������.����������%���&���� ��

� ������� =����>.���� ������ �� �

� �������� =��>.����� ������ �� ���

� ?�����#��!���� +� ���;�.�

� �����������.������)�������������"������)�����������

� �������=������ >.�������� ������������������� �=�����$����$������ ��$�%�>��

� �������B���� =��>.�� !� ��� ����% ������� ������C���C%���

� ��������� �=��>.���#�� � ������ ,������ �$���D�� � ��������������� ���

� ?���$���%���� � ������;�.�� �! ��� �������������� ���������� ���� � � �������� �

����

5

Page 6: Model Transformation for Automatic Code Generation for Kontakt GUI 5

� �����������.������'����'�������

� �������=������ >.�������� ������������������� �=�����$����$������ ��$�%�>��

� �������B���� =��>.�� !� ��� ����% ������� ������C���C%���

� ��������� � �=3��� E��>.������������ � ������� ����������� �!�����������

6

Page 7: Model Transformation for Automatic Code Generation for Kontakt GUI 5

(

Page 8: Model Transformation for Automatic Code Generation for Kontakt GUI 5

�#$��%�&���#'��&#$���$�����������#�#*����$�$�%#

�, � ��� �� !���� ��� � �� �8 ������ � �' ���� �� � ��� � � �� �3����� ����� ��������$ �� ��� � ��� �

'������� ��������������% �� ��������3�:3����3�:3������������������������������ � ��� ��� �

���������$����,������������������� ��� � �������� � �����:8<� ��������������� �������� ��

3��� �� ����� ���

���� ��� �� ������� ����� ���� � � �������� ��� ���� $������ �����<�������������)�% �' ��;������

<���������� �����@8 ��A�������������� ��� �$��� ������� �����'����� ����� �����% �����

�������� ����<��� �����9�%�� ������ ���� �' �����7 ���� ������� �� ���������� ��

3��������� .

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

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

�������������������& �����&�����������& �'���&�������(� ��������!)� ���� �����

�������$������ ������� ����������������'$��������������"�������� �*�����"�������%

����������$�+�$��������������,��+�����������������������& ����!)�$�����-�����������& ����!)�$�����&�����������& ����!���+� ����&�������(� ���������!$�+�$���� �����%

����������$�+�$��������������.������������������������(� ���������!$�+�$���� �����%

����������$�+�$��������������(/��#�������������������(� ���������!$�+�$��� �����%

����������$�+�$��������������0�+�$�������������������(� ���������!$�+�$��� ���������������& �/���#���&�

)

Page 9: Model Transformation for Automatic Code Generation for Kontakt GUI 5

����������& �#���#����&�%

����������$�+�$��������������1�$��2��������������������������& ����!)�$�����-�����������& ����!)�$�����&�����������& �������&�������(� ���������!$�+�$���� �����%

����������$�+�$��������������3�+$������������������������& � �������&�����������& ��$������4�����������& �/���#���&�����������& �#���#����&�%

����������$�+�$��������������($��� �����������������������& ����!)�$�����-�����������& ����!)�$�����&�%

����������$�+�$��������������5������������������������ ��������������������������� ���!�������%

����������$�+�$��������������0�)�$5��� �������������������6��3'�������������������!)�$�����7&�����������#����$���-�%

����������$�+�$������ �����������"��������������2�����1� �� ����� �

���2�������5���8���� ���������������������6��3'�������������������!)�$�����7&�������(� ��������!����������� �����%

� ��6��3'������ �����-����$�����&���+�����4������� ��������9�%

� ��2�����1� ��

7

Page 10: Model Transformation for Automatic Code Generation for Kontakt GUI 5

��2:��:2!;*<!160�52���-���2:��:2!;*<!;*:���&���2:��:2!;*<!3�:2���4���2:��:2!;*<!6�3;�3!=>*::20���9���2:��:2!;*<!(5663>���?���2:��:2!;*<!(;228���@���2:��:2!;*<!"6<5*:3���A���2:��:2!;*<!�<*�:!02:�3>���B���2:��:2!;*<!(0�=2!*33*=,���C���2:��:2!;*<!(0�=2!<202*(2���D���2:��:2!;*<!3<*:(�2:3!(�E2���&-���2:��:2!;*<!2""2=3!.F;*((���&&���2:��:2!;*<!�:(2<3!2""2=3!6�3;�3!�*�:���&4���2:��:2!;*<!(2:8!2""2=3!.F;*((���&9���2:��:2!;*<!(2:8!2""2=3!8<F!02120���&?���2:��:2!;*<!(2:8!2""2=3!6�3;�3!�*�:���&@���2:��:2!;*<!=�36""���&A���2:��:2!;*<!<2(6:*:=2���&B�%

����������$�+�$��������������������������(� �������������������)�$���%

��

Page 11: Model Transformation for Automatic Code Generation for Kontakt GUI 5

����%�&���#'�#%�����(#�#������

<������ � ���������� ���� �' �� � ��� ���� �:8<� ����$ ���F����� ��?1������������ ������

� !� ������ �)����)�B:;���������!� ���� �3�:3���� � ������� � ��� ��������������G����6 ��$�� �

������� ������ ��% (� ������ .

��� �� ���� ������������ ��%��������� �� ��������������� ������������ �� ������6 ��.

��

Page 12: Model Transformation for Automatic Code Generation for Kontakt GUI 5

��-����&���#'�*�%#,+��+�#.����������*�����

�, ���� �� !���������� � �����' �� � ������������� �$������������������������ �)����)���������

��� �� ��� ������� �� ������ � ������<������ ������ +���� � ������' �� ���� ������������� � ����� �

3��� $�����' ������ ����� �%� ��������� �'���������������?1�����+�� ��� �� ����� '���� � ��

���6 ��$�����������)����)�B:;�����6 ��$����������� �3��� �� ������ �������� ���� � �����6 ���' �

�� �� ������������� �!� $�������!� �����@� � ��� ����A���'����' �� �! ���� ���� � ����� ���� �

�� �� � �����.�

��

Page 13: Model Transformation for Automatic Code Generation for Kontakt GUI 5

��#����#�/

�������� �' ��������� �����G��%6 �������H������������ ��%6 ����� ���)��%����� �� ������������ �

�������$���%�9������� �� �������%����� � �%��������$����� ������ �� �������������������������� � ��

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

��� ���� � ����� ��� � �� ���� � ������, � ����� �' � ��) ���� � !� ��� � �� ������������� ���� �

� � �������4�������� ���� �� � ������' ��%��� �����������.

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

����������� ���&"�& ��' �&�()�*�+���� $���&�� ,#��-���� $����'�)..+

��!�� ��"�&/"�����0/������,,�!��$�#�&!��� ��)0/������,,�!��1�1*+���&��(�)0/������,,�!��1./�����.+���&��'���&�� )0/������,,�!��10�2�2�&3�4&��25&�66��7&893���1:�1�1:�+$���&�� ��������)0/������,,�!��+ ���&�� �������&#� �)0/������,,�!��+

��

Page 14: Model Transformation for Automatic Code Generation for Kontakt GUI 5

��!�� ��"�&���/�0#��"$�)�1���1�+$�#�&!��� ��)0#��"$�1�1�+���&��(�)0#��"$�1.#��"$�.+���&��'���&�� )0#��"$�10�2�2�&3�4&;<���1:�1:�1:�+$���&�� ��������)0#��"$�+ ���&�� �������&#� �)0#��"$�+

��!�� ��"�&����� �0������)�1���+$�#�&!��� ��)0������1*1�+���&��'���&�� )0������10�2�2�&3�4&3�21:�1:�1:�+$���&�� ��������)0������+ ���&�� �������&#� �)0������+

��!�� ��"�&��#��&$��� �0��#��<"�$�#�&!��� ��)0��#��<"�1*1*+����! &��#��&$��� �)'��&"�&��)0��#��<"�+1:�1:�1�1:�+$���&�� ��������)0��#��<"�+ ���&�� �������&#� �)0��#��<"�+

������

���"�&!��� ��)0������+����3"�� � ��!����/��!��,� ���!��� ��%������

���"�&!��� ��)0#��"$�+����3"�� � ��!����/��!��,� ���!��� ��%������

���"�&!��� ��)0/������,,�!��+����3"�� � ��!����/��!��,� ���!��� ��%������

?��������������� � ��� ����� ����� ��������� ��������������)����)��' ��%������ ��������� �� �

����������� ���� .

�4

Page 15: Model Transformation for Automatic Code Generation for Kontakt GUI 5

��#����#�0

����� � ������� �' �����D#� � � �������I������������ ��%6 ����� ���'�������� �� �������%��� �

(���7������������$�����%� �� �� �������� �� ��� ����� �� ����� �� (���7 ���������$���� ������� �

��������'��� �����D��������"����� �� ������� ������������$�����% �$����� ������ �� ������� ��� �

(���7 ��������������� � �� ��� $����� ������ �� ���������� D��������$����� ������ �� ���������� " �

�������$����� ������ �� ���������� H��������$������� � �������� D����� �� �������� "��������$������� �

������� �� ������������ "������������������� � �������� H����� �� ������� ������ �H���������

��� ���� � ����� ��� � �� ���� � ������, � ����� �' � ��) ���� � !� ��� � �� ������������� ���� �

� � �������4�������� ���� �� � ������' ��%��� �����������.

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

���������� ���&"�& ��' �&�()�*�+���� $���&�� ,#��-���� $����'�)..+

��!�� ��"�&�-��! �0/�����$�#�&!��� ��)0/�����1=1��+���&��(�)0/�����1.893���.+���&��'���&�� )0/�����10�2�2�&3�4&�66��7&893���1:�1�1:�+$���&�� ��������)0/�����+ ���&�� �������&#� �)0/�����+

��!�� ��"�&#��"�&�����0#��"$��)�1���1�+

�5

Page 16: Model Transformation for Automatic Code Generation for Kontakt GUI 5

$�#�&!��� ��)0#��"$��1�1=+���&��(�)0#��"$��1.#��"$�� �' .+���&��'���&�� )0#��"$��10�2�2�&3�4&;<���1:�1:�1:�+$���&�� ��������)0#��"$��+ ���&�� �������&#� �)0#��"$��+

��!�� ��"�&#��"�&�����0#��"$��)�1���1�+$�#�&!��� ��)0#��"$��1�1>+���&��(�)0#��"$��1.#��"$��$��.+���&��'���&�� )0#��"$��10�2�2�&3�4&;<���1:�1:�1:�+$���&�� ��������)0#��"$��+ ���&�� �������&#� �)0#��"$��+

��!�� ��"�&#��"�&�����0#��"$��)�1���1�+$�#�&!��� ��)0#��"$��1�1?+���&��(�)0#��"$��1.#��"$����-.+���&��'���&�� )0#��"$��10�2�2�&3�4&;<���1:�1:�1:�+$���&�� ��������)0#��"$��+ ���&�� �������&#� �)0#��"$��+

��!�� ��"�&��/���0!����)�1�+$�#�&!��� ��)0!����1*1��+���&��(�)0!����1.!���������34<@��7.+$���&�� ��������)0!����+ ���&�� �������&#� �)0!����+

��!�� ��"�&��/���A��#�����B?C�)�1*1���+$�#�&!��� ��)A��#�����1�1�+���&��'���&�� )A��#�����B?C10�2�2�&3�4&4��<2�2��1:�1�1:�+$���&�� ��������)A��#�����+ ���&�� �������&#� �)A��#�����+

��!�� ��"�&����� �0����� �)�1���+$�#�&!��� ��)0����� �1�1�+���&��'���&�� )0����� �10�2�2�&3�4&;<���1:�1:�1:�+���&��'���&�� )0����� �10�2�2�&3�4&4��<2�2��1:�1�1:�+$���&�� ��������)0����� �+ ���&�� �������&#� �)0����� �+

��!�� ��"�&����� �0����� �)�1���+$�#�&!��� ��)0����� �1�1D+���&��'���&�� )0����� �10�2�2�&3�4&;<���1:�1:�1:�+$���&�� ��������)0����� �+ ���&�� �������&#� �)0����� �+

��!�� ��"�&����� �0����� �)�1���+$�#�&!��� ��)0����� �1�1*+���&��'���&�� )0����� �10�2�2�&3�4&;<���1:�1:�1:�+���&��'���&�� )0����� �10�2�2�&3�4&;<���1:�1:�1:�+$���&�� ��������)0����� �+ ���&�� �������&#� �)0����� �+

��!�� ��"�&$��"�0�"��"�$�#�&!��� ��)0�"��"�1�1�+���&$��"&���$�)0�"��"�1.�"��.1�+���&$��"&���$�)0�"��"�1.�"��.1�+

�6

Page 17: Model Transformation for Automatic Code Generation for Kontakt GUI 5

���&��'���&�� )0�"��"�10�2�2�&3�4&<737&�E�22��1:�1:�1:�+$���&�� ��������)0�"��"�+ ���&�� �������&#� �)0�"��"�+

������

���"�&!��� ��)0/�����+����3"�� � ��!����/��!��,� ���!��� ��%������

���"�&!��� ��)A��#�����+����3"�� � ��!����/��!��,� ���!��� ��%������

���"�&!��� ��)0�"��"�+����3"�� � ��!����/��!��,� ���!��� ��%������

���"�&!��� ��)0����� �+����3"�� � ��!����/��!��,� ���!��� ��%������

���"�&!��� ��)0����� �+����3"�� � ��!����/��!��,� ���!��� ��%������

���"�&!��� ��)0����� �+����3"�� � ��!����/��!��,� ���!��� ��%������

���"�&!��� ��)0#��"$��+����3"�� � ��!����/��!��,� ���!��� ��%������

���"�&!��� ��)0#��"$��+����3"�� � ��!����/��!��,� ���!��� ��%������

���"�&!��� ��)0#��"$��+����3"�� � ��!����/��!��,� ���!��� ��%������

�(

Page 18: Model Transformation for Automatic Code Generation for Kontakt GUI 5

?��������������� � ��� ����� ����� ��������� ��������������)����)��' ��%������ ��������� �� �

����������� ���� .

�)