Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Основа представления языка UML на уровне метамодели - описание трех пакетов: Основные элементы, Элементы поведения и Общие механизмы (рисунок 4.2.5).

Рисунок 4.2.5. Основные пакеты метамодели UML.

Далее следует деление на уровень подпакетов. Так, пакет Основные элементы включает подпакеты Вспомогательные элементы,Элементы ядра, Механизмы расширения, Типы данных (рис. 4.2.6).

Рис. 4.2.6. Основные элементы языка UML: подпакеты.

В пакете Элементы ядра описаны базовые понятия и принципы включения основных понятий языка (метаклассов, метаассоциаций и метаатрибутов) в структуру метамодели. Пакет Вспомогательные элементы дает дополнительные конструкции, расширяя базовые элементы для описания шаблонов, зависимостей, физических структур и элементов представлений. Пакет Механизмы расширения содержит правила уточнения и расширения семантики базовых частей моделей, а Типы данных - основные структуры данных UML.

4.2.4.1. Пакет «Основные элементы»

Охарактеризуем элементы каждого из подпакетов, входящих в Основные элементы.

Подпакет «Элементы ядра».

Этот подпакет фундаментален и определяет основные компоненты, нужные для разработки объектных моделей. У абстрактных компонент нет экземпляров; их используют для уточнения других компонент модели; конкретные компоненты метамодели имеют экземпляры.

В языке UML выразительные возможности неоднозначны, т.е. моделируемую сущность или систему можно по-разному (как по форме, так и по составу компонент модели) представить средствами UML.

Подпакет определяет архитектурный "скелет" для дополнительных конструкций языка (метаклассов, метаассоциаций, метаатрибутов; его семантики достаточно для определения всей оставшейся части языка, но он не является мета-метамоделью UML.

В подпакет входят (по алфавиту) основные метаклассы UML: атрибут (Attribute), ассоциация (Association), ассоциация-класс (AssociationClass), конец ассоциации (AssociationEnd), свойство поведения (BehavioralFeature), класс (Class), классификатор (Classifier), ограничение (Constraint), тип данных (DataType), зависимость (Dependency), элемент (Element), владение элементом (ElementOwnership), свойство (Feature), обобщение (Generalization), обобщаемый элемент (GeneralizableElement), интерфейс (Interface), метод (Method), элемент модели (ModelElement), пространство имен (Namespace), операция (Operation), параметр (Parameter), структурное свойство (StructuralFeature), правила правильного построения выражений (Well-formedness rules).

Подпакет «Вспомогательные элементы».

Пакет Вспомогательные элементы описывает дополнительные конструкции UML, расширяющиет подпакет Элементы ядра. Его элементы обеспечивают базис понятий для зависимостей, физических структур, шаблонов и элементов представлений. В него входят метаклассы: связывание (Binding), комментарий (Comment), компонент (Component), узел (Node), презентация (Presentation), уточнение (Refinement), цепочка зависимостей (Trace), потребление (Usage), элемент представления (ViewElement), зависимость (Dependency), элемент модели (ModelElement), правила правильного построения выражений (Well-formedness rules). Три последних метакласса взяты из пакета Элементы ядра для спецификации остальных.

Подпакет «Механизмы расширения».

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

Для этого в UML введены три механизма расширения совместного или раздельного использования, определяющих новые элементы модели с семантикой, нотацией и свойствами, отличнымия от уже имеющихся в метамодели UML. Это механизмы ограничение (Constraint), стереотип (Stereotype) и помеченное значение (TaggedValue).

Итак, механизмы расширения UML нужны для выполнения следующих задач:

Возможно явное добавление в UML новых метаконструкций.

Подпакет «Типы данных».

Подпакет Типы данных описывает различные типы данных UML. Его внутренняя структура и описание проще предыдущих.

В метамодели типы данных используют для объявления типов атрибутов классов. Их записывают строками текста на диаграммах без отдельного знака "тип данных", что уменьшает размеры диаграмм. Каждая из одинаковых записей для некоторого типа данных соответствует одному и тому же типу данных в модели. Типы данных UML могут отличаться от типов данных, определенных разработчиком для своей модели. При этом типы данных будут являться экземплярами метакласса типы данных, определенного в метамодели.

При задании типа данных чаще всего применяют неформальную конструкцию перечисления, т.е. множество допустимых значений атрибута с отношением порядка. Упорядоченность значений указана явно заданием граничных элементов списка либо дана неявно для простого типа данных (например, для множества натуральных чисел). В подпакете даны способы перечислений для задания допустимых значений атрибутов.

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

4.2.4.2. Пакет «Элементы поведения»

Этот пакет является самостоятельной компонентой языка UML и, как следует из его названия, специфицирует динамику поведения в нотации UML. Пакет Элементы поведения состоит из четырех подпакетов: Общее поведение, Кооперации, Варианты использования и Автоматы (рисунок 4.2.7). Ниже дается краткая характеристика каждого из этих подпакетов.

Рисунок 4.2.7. Подпакеты пакета Элементы поведения языка UML.





Дата публикования: 2014-10-25; Прочитано: 1498 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...