3.2. Общая структура языка UML

3.2. Общая структура языка UML

С самой общей точки зрения описание языка UML состоит из двух взаимодействующих частей, таких как:

• Семантика языка UML. Представляет собой некоторую метамодель, которая определяет абстрактный синтаксис и семантику понятий объектного моделирования на языке UML.

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

Абстрактный синтаксис и семантика языка UML описываются с использованием некоторого подмножества нотации UML. В дополнение к этому, нотация UML описывает соответствие или отображение графической нотации в базовые понятия семантики. Таким образом, с функциональной точки зрения эти две части дополняют друг друга. При этом семантика языка UML описывается на основе некоторой метамодели, имеющей три отдельных представления: абстрактный синтаксис, правила корректного построения выражений и семантику. Рассмотрение семантики языка UML предполагает некоторый «полуформальный» стиль изложения, который объединяет естественный и формальный языки для представления базовых понятий и правил их расширения.

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

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

Формальное описание самого языка UML основывается на некоторой общей иерархической структуре модельных представлений, состоящей из четырех уровней: 

• Мета-метамодель 

• Метамодель 

• Модель 

• Объекты пользователя

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

Примечание 21

Метамодель является экземпляром или конкретизацией мета-метамодели. Главная задача этого уровня – определить язык для спецификации моделей. Данный уровень является более конструктивным, чем предыдущий, поскольку обладает более развитой семантикой базовых понятий. Все основные понятия языка UML – это понятия уровня метамодели. Примеры таких понятий – класс, атрибут, операция, компонент, ассоциация и многие другие. Именно рассмотрению семантики и графической нотации понятий уровня метамодели посвящена данная книга.

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

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

Конкретизация понятий модели происходит на уровне объектов. В настоящем контексте объект является экземпляром модели, поскольку содержит конкретную информацию относительно того, чему в действительности соответствуют те или иные понятия модели. Примером объекта может служить следующая запись в проектируемой базе данных: «Илья Петров, 30 лет, иллюзионист, ул. Невидимая, 10-20, 100-0000».

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

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

Метамодель языка UML имеет довольно сложную структуру, которая включает в себя порядка 90 метаклассов, более 100 метаассоциаций и почти 50 стереотипов, число которых возрастает с появлением новых версий языка. Чтобы справиться с этой сложностью языка UML, все его элементы организованы в логические пакеты. Поэтому рассмотрение языка UML на метамо-дельном уровне заключается в описании трех его наиболее общих логических блоков или пакетов: основные элементы, элементы поведения и общие механизмы.

Примечание 22

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

Общая характеристика

Из книги автора

Общая характеристика Технология, заложенная в Virtual PC, была разработана компанией Connectix, однако компания Microsoft в очередной раз продемонстрировала чутье на удачные технологические решения и в начале 2003 года приобрела права на Virtual PC. В ноябре 2003 появилась доработанная и


Общая характеристика

Из книги автора

Общая характеристика В настоящее время семейство продуктов от VMware, предназначенных для создания виртуальных машин и управления ими, насчитывает несколько представителей:? VMware Workstation — приложение для «настольных» систем, обеспечивающее создание «обычных» виртуальных


Общая характеристика

Из книги автора

Общая характеристика В настоящее время компания Parallels предлагает три продукта, предназначенные для создания виртуальных машин и управления ими:? Parallels Workstation — настольное приложение для создания виртуальных машин (в том числе объединенных в локальную сеть) в пределах


Общая информация

Из книги автора

Общая информация (1.1) Что такое Windows 2000? Windows 2000 ака W2k – новая операционная система (ОС) Microsoft, основанная на технологии Windows NT, что отраженно в первоначальном названии проекта W2k – Windows NT 5.0. NT ака New Technology была создана группой разработчиков под руководством Дэйва Катлера,


6.4. Общая аналитика

Из книги автора

6.4. Общая аналитика Единственным проектом, специально направленным на изучение ситуации с рынками СПО в России в целом, остается проведенная в 2001 г. рабочая встреча «Свободное программное обеспечение: бизнес-модели и корпоративные инициативы», прошедшая в ходе


Общая память

Из книги автора

Общая память Метки: темы блога, внимание, пользовательский контентЛюбой браузер способен запомнить ссылку («закладку») на страницу или сайт целиком. Некоторые ресурсы специально предлагают посетителю сделать стартовой главную страницу или занести ее в «Избранное». Это


6.1 Общая информация

Из книги автора

6.1 Общая информация В Ubuntu для управления соединениями с интернетом используется программа NetworkManager. Она поддерживает практически все существующие типы подключений. Но в этой главе я опишу только самые распространённые из них, поскольку охватить вниманием всё просто


7.2.6.6. Общая память

Из книги автора

7.2.6.6. Общая память Тогда как два процесса, использующие для информационного обмена сокеты, могут выполняться на различных машинах (и в действительности могут быть разделены Internet-соединением, "огибающим" половину планеты), общая память (shared memory) требует, чтобы поставщики и


7.2.6.6. Общая память

Из книги автора

7.2.6.6. Общая память Тогда как два процесса, использующие для информационного обмена сокеты, могут выполняться на различных машинах (и в действительности могут быть разделены Internet-соединением, "огибающим" половину планеты), общая память (shared memory) требует, чтобы поставщики и


Общая настройка ПК

Из книги автора

Общая настройка ПК Изменение разрешения экрана Для изменения разрешения экрана (например, на 800?600) следует внести следующие изменения в реестр: Ключ:[HKEY_LOCAL_MACHINEConfig001DisplaySettings]Значение ключа: "Resolution"="800,


Общая картина

Из книги автора

Общая картина Если у вас от чтения предыдущих разделов уже голова идет кругом, не паникуйте! Прозрачный агент, реальный агент, объект сообщения и диспетчер вы можете, как правило, просто игнорировать, поскольку чаще всего вам вполне подойдут параметры удаленного


Общая реализация

Из книги автора

Общая реализация Теперь посмотрим, как можно обобщить класс CDelegateVoid для применения с различными сигнатурами. Используя шаблоны, мы можем параметризовать как тип возвращаемого значения, так и типы параметров функций, на которые ссылаются делегаты. В то же время, мы не


Г.1. Общая информация

Из книги автора

Г.1. Общая информация ? http://www.advancedlinuxprogramming.com. Это Web-узел данной книги. Здесь можно загрузить текст книги в электронном виде вместе с исходными текстами программ, найти ссылки на другие ресурсы и получить дополнительную информацию о программировании в Linux.? http://www.linuxdoc.org.


Общая относительность

Из книги автора

Общая относительность Удивительно, но все приведенные до сих пор описания того, что происходит во время выполнения, были относительными. Результат выполнения подпрограммы всегда связан с текущим экземпляром, который в исходном тексте класса неизвестен. Можно


Общая картина

Из книги автора

Общая картина Важно проследить за последовательностью происходящих событий. Для рассмотренного выше экземпляра BOOK3 происходит следующее:[x]. (B1) Создан экземпляр QUOTATION. Пусть Q_OBJ - этот экземпляр и имеется сущность a, значение которой ссылка, присоединенная к Q_OBJ. [x]. (B2)