Специфіка опису метамоделі мови UML.

Загальні відомості про пакети в мові UML. Основні пакети метамоделі мови UML.

Одним із принципово нових підходів, що розвиваються в даний час, як зазначалося вище, є виконуваний UML, який об'єднує статичні і динамічні діаграми. Одним з варіантів до реалізації цього підходу є розробка віртуальної машини UML.

У проекті модель програмної системи пропонується будувати таким чином: структура програми моделюється за допомогою UML-діаграми класів, а поведінка – за допомогою опису кожного методу кожного класу у вигляді UML-діаграми послідовностей. Такий підхід при складній логіці програми вкрай незручний, оскільки призводить до дуже громіздким моделям.

У проекті пропонується розширити UML текстовим переносних незалежним імперативним мовою для описів дій, що призводить до перевантаження графічних діаграм текстовою інформацією.

Серед промислових розробок ідея виконуваного UML реалізована в проекті Telelogic TAU2. Однак оскільки цей проект є закритим, то дуже важко виконати аналіз рішень, прийнятих при його створенні. Також закритими є і інструментальні засоби IBM Rational Rose і Borland Together.

3.2 SWITCH-технологія

В роботі був запропонований метод проектування програм з явним виділенням станів, названий «SWITCH-технологія» (http://ru.wikipedia.org/wiki/Switch-технологія) або «автоматної програмування» (http://ru.wikipedia.org/wiki/Автоматное програмування). Надалі цей метод був розвинений для подієвих систем, а потім і для об'єктно-орієнтованих.

Особливість цього методу полягає в тому, що програми пропонується будувати також, як виконується автоматизація технологічних (і не тільки) процесів, в ході якої спочатку будується схема зв'язків, що містить джерела інформації, систему управління, об'єкти управління і зворотні зв'язки від об'єктів до системи управління. У пропонованому підході система управління реалізується у вигляді системи взаємодіючих кінцевих автоматів, кожен з яких є структурним автоматом і має кілька входів і виходів. Це відрізняє їх від автоматів з одним входом і одним виходом, традиційно використовуваних в програмуванні (наприклад, при розробці компіляторів), які в теорії автоматів називаються абстрактними.

SWITCH-технологія визначає для кожного автомата два типи діаграм (схема зв'язків та граф переходів) та їх операційну семантику. При наявності декількох автоматів запропоновано також будувати схему їх взаємодії. Для кожного типу діаграм запропонована відповідна нотація (http://is.ifmo.ru/? i0=science&i=minvuz2).

 

Метамодель мови UML має досить складну структуру, яка включає близько 90 метаклассов, більше 100 мета асоціацій і майже 50 стереотипів, число яких зростає з появою нових версій мови. Щоб впоратися з цією слож ностью мови UML, усі його елементи організовані в логічні пакети. Тому розгляд мови UML на метамодельном уров не полягає в описі трьох його найбільш загальних логічних блоків, або пакетів : "Основні елементи", "Елементи поведе ния" і "Загальні механізми".

Говорячи про пакети в контексті загального опису мови, ми, по суті справи, розглядаємо графічну нотацію мови UML. Річ у тому, що для опису мови UML використовуються засоби само го мови, і одним з таких засобів є пакет. У загальному випадку пакет служить для угрупування елементів моделі. При цьому самі елементи моделі, якими можуть бути довільні сущнос ти, віднесені до одного пакету, виступають в ролі єдиного це логотипу.

Пакети, як і інші елементи моделі, можуть бути вкладені в інші пакети. Важливою особливістю мови UML є той факт, що усі види елементів моделі UML можуть бути организовані в пакети.

Як вже відзначалося в подразд. 14.3, основою представлення мови UML на метамодельном рівні є опис трьох його логічних блоків, або пакетів : "Основні елементи", "Елементи поведінки" і "Загальні механізми" (мал. 14.5).

Ці пакети, у свою чергу, підрозділяються на окремі підпакети. Наприклад, пакет "Основні елементи" складається з підпакетів "Елементи ядра", "Допоміжні елементи", "Механізми розширення" і "Типи даних" (мал. 14.6). При цьому пакет "Елементи ядра" описує базові поняття і принципи включення в структуру метамоделі основних понять мови, таких як метаклассы, метаассоциации і метаатрибуты. Пакет "Допоміжні елементи" визначає додаткові конструкції, які розширюють базові елементи для опису залежностей, шаблонів, фізичних структур і елементів представлень. Пакет "Механізми розширення" задає правила уточнення і розширення семантики базових елементів моделей. Пакет "Типи даних" визначає основні структури даних для мови UML.

 

Мал. 14.5. Основні пакети метамоделі мови UML

 

 

Мал. 14.6. Підпакетів пакету "Основні елементи" мови UML