Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

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

"Допоміжні елементи" визначає додаткові кін струкции, які розширюють базові елементи для опису залежностей, шаблонів, фізичних структур і елементів перед ставлений. Пакет "Механізми розширення" задає правила уточ нения і розширення семантики базових елементів моделей. Па кет "Типи даних" визначає основні структури даних для мови UML.

Пакет "Основні елементи". Нижче дається коротка характерис тика елементів кожного з перерахованих підпакетів, що входять до складу пакету "Основні елементи".

Пакет "Елементи ядра" являється найбільш фундаменталь ным з усіх підпакетів, які входять в пакет "Основні елементи" мови UML. Цей пакет визначає основні абст рактные і конкретні компоненти, необхідні для разра ботки об'єктних моделей. При цьому абстрактні компоненти метамоделі не мають екземплярів або прикладів і использу ются виключно для уточнення інших компонентів чи моді. Конкретні компоненти метамоделі мають екземпляри і відбивають особливості представлення осіб, які разрабаты вают об'єктні моделі.

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

Пакет "Елементи ядра" специфікує базові конструкції, потрібні для опису початкової метамоделі, і визначає ар хитектурный "скелет" для приєднання додаткових кін струкций мови, таких як метаклассы, метаассоциации і мета атрибути. Хоча пакет "Елементи ядра" містить семантику, достатню для визначення усієї частини мови UML, що залишилася, він не являється метаметамоделыо UML.

У цей пакет входять основні метаклассы мови UML: клас (Class); атрибут (Attribute); асоціація (Association); асоціація-клас (AssociationClass); кінець асоціації (AssociationEnd); властивість по ведення (BehavioralFeature); класифікатор (Classifier); обмеження (Constraint); тип даних (DataType); залежність (Dependency); елі мент (Elеment); право на елемент (ElementOwnership); властивість (Feature); узагальнення (Generalization); елемент відношення обобще ния (GeneralizableElement); інтерфейс (Interface); метод (Method); елемент моделі (ModelElemcnt); простір імен (Namespace); операція (Opération), параметр (Parameter); структурна властивість (StructuralFcatiire); правила побудови виразів (Well - formcdness rules).

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

У цей пакет входять наступні метаклассы: зв'язування (Binding); коментар (Comment); компонент (Component); вузол (Node); презентація (Présentation); уточнення (Refincmcnt); ланцюжок за висимостей (Trace); споживання (Usage); елемент представлення (ViewEIement); залежність (Dependency); елемент моделі (ModelElement); правила побудови виразів (Well - formedness rules). Три останніх метакласса узяті з пакету "Елементи ядра" і використовуються для специфікації інших.

Хоча цей пакет мав самостійне значення в початкової віри сиях мови UML, в проектах останньої версії його елементи объе динились з пакетом "Елементи ядра". Причиною цього послужила вимога строгого входження кожного елементу в один пакет.

Пакет "Механізми розширення" специфікує порядок вклю чения в модель елементів з уточненою семантикою, а також мо дификацию окремих компонентів мови UML для точніше го віддзеркалення специфіки модельованих систем. Механізм рас ширення визначає семантику для стереотипів, обмежень і помічених значень. Хоча мова UML має багату множе ством понять і нотацій для моделювання типових програм ных систем, реально розробник може зіткнутися з необходи мостью включити в модель додаткові властивості або нота ции, які не визначені явно в мові UML. При цьому разра ботчики часто стикаються з необхідністю включення в мо дель графічної інформації, такий, наприклад, як доповни тільні значки і прикраси.

Для цієї мети в мові UML передбачено три механізми розширення, які можуть використовуватися спільно або окремо для визначення нових елементів моделі з отличающи мися від специфікованих в метамоделі мови UML элемен тов семантикою, нотацією і властивостями. Такими механізмами є обмеження (Constraint), стереотип (Stereotype) і по мічене значення (Tagged Value).

Механізми розширення мови UML призначені для ви полнения наступних завдань:

· уточнення існуючих модельних елементів при разработ ке моделей на мові UML;

· визначення стандартних компонентів в специфікації само го мови UML, які або не являються досить цікаві мі, або складні для безпосереднього визначення як елементів метамоделі UML;

· визначення таких розширень мови UML, які залежать від специфіки модельованого процесу або від мови реалізації програмного коду;

· приєднання довільною семантичною або несеманти чесанням інформації до елементів моделі.

Найбільш важливі зі вбудованих механізмів розширення ос новываются на понятті "стереотип". Стереотипи забезпечують деякий спосіб класифікації модельних елементів на уров не об'єктної моделі і можливість додавання в мову UML "Вир туальных" метаклассов з новими атрибутами і семантикою. Інші вбудовані механізми розширення грунтуються на поня тии "список властивостей", який містить помічені значення і обмеження.

Ці механізми забезпечують користувачеві можливість вклю чения додаткових властивостей і семантики безпосередньо в окремі елементи моделі.

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

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

При завданні типу даних найчастіше застосовується нефори мальная конструкція, яка називається перерахуванням. Йдеться про безліч допустимих значень атрибуту, яке наділяється деяким відношенням порядку. При цьому впорядкованість зна чений або вказується явно завданням першого і останнього елі ментів списку, або слідує неявно у разі простого типу дан ных, як, наприклад, для безлічі натуральних чисел. У пакеті "Типи даних" визначені способи специфікації перечисле ний для коректного завдання допустимих значень атрибутів.

Для визначення різних типів даних в мові UML ис користуються як прості конструкції: ціле число (Integer), стро но (String), ім'я (Name), булевий (Boolean), час (Time), крат ность (Multiplicity), тип видимості (VisibilityKind), діапазон кратності (MultiplicityRange), так і складніші: вираження (Expression), булевий вираження (BooleanExprcssion), тип агреги рования (AggregationKind), тип зміни (ChangeableKind), гео метрия (Geometry), відображення (Mapping), выражение-проце дурка (ProcedureExpression), тип псевдостану (Pseudostate - Kind), вираження часу (TimeExpression), безперервний (Uninterpreted).

Пакет "Елементи поведінки". Цей пакет є самосто ятельным компонентом мови UML і, як випливає з його назва ния, специфікує динаміку поведінки в нотації UML. Пакет "Елементи поведінки" складається з чотирьох підпакетів: "Загальна поведінка", "Кооперації", "Варіанти використання" і "Авто мати" (мал. 14.7). Нижче дається коротка характеристика кожного з цих підпакетів.

Пакет Загальна поведінка є найбільш фундаментальною з усіх підпакетів і визначає базові поняття ядра, необхо димые для усіх елементів поведінки. У цьому пакеті специфициро вана семантика для динамічних елементів, які включені в інші підпакети елементів поведінки. У пакет "Загальне поведе ние" входять наступні елементи: об'єкт (Object), дія (Action), послідовність дій (ActionSequence), аргумент (Argument), екземпляр (Instance), виключення (Exception), зв'язок (Link), сигнал (Signal), значення даних (DataValuc), зв'язок атри бутов (AttributeLink), дія виклику (CallAction), дія з будівлі (CreateAction), дія знищення (DestroyAction).

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

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

Пакет "Кооперації" специфікує контекст поведінки елі ментів моделі при їх використанні для виконання окремого завдання. У нім задається семантика понять, які потрібні для відповіді на питання,: "Як різні елементи моделі взаємно діють між собою з точки зору структури"?. Цей пакет використовує конструкції, визначені в пакетах "Основні елі менти" і "Загальна поведінка".

Зокрема, в пакет "Кооперації" входять наступні элемен ти: кооперація (Collaboration), взаємодія (Interaction), із спілкування (Message), роль асоціації (AssociationRole), роль клас сификатора (ClassifierRole), роль кінця асоціації (Associ - ationEndRole). Як можна здогадатися з назви пакету, його елі менти безпосередньо використовуються при побудові діаграм кооперації. Поняття "кооперація" має важливе значення для представлення взаємодії елементів моделі з точки зору класифікаторів і асоціацій.

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




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 866; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.