3.5. Специфика описания метамодели языка UML
3.5. Специфика описания метамодели языка UML
Метамодель языка UML описывается на некотором полуформальном языке с использованием трех видов представлений:
• Абстрактного синтаксиса
• Правил правильного построения выражений
• Семантики
Абстрактный синтаксис представляет собой модель для описания некоторой части языка UML, предназначенной для построения диаграмм классов на основе описаний систем на естественном языке. Возможности абстрактного синтаксиса в языке UML довольно ограничены и имеют отношение только к интерпретации обозначений отдельных компонентов диаграмм, связей между компонентами и допустимых дополнительных обозначений. К элементам абстрактного синтаксиса относятся некоторые ключевые слова и значения отдельных атрибутов базовых понятий уровня метамодели, которые имеют фиксированное обозначение в виде текста на естественном языке.
Правила правильного построения выражений используются для задания дополнительных ограничений или свойств, которыми должны обладать те или иные компоненты модели. Поскольку исходным понятием ООП является понятие класса, его общими свойствами должны обладать все экземпляры, которые в этом смысле должны быть инвариантны друг другу. Для задания этих инвариантных свойств классов и отношений необходимо использовать специальные выражения некоторого формального языка, в рамках UML получившего название языка объектных ограничений (Object Constraint Language, ОСЬ). Хотя язык ОСЬ и использует естественный язык для формулировки правил правильного построения выражений, особенности его применения являются темой самостоятельного обсуждения. Основные особенности языка ОСЬ рассмотрены в приложении.
Семантика языка UML описывается в основном на естественном языке, но может включать в себя некоторые дополнительные обозначения, вытекающие из связей определяемых понятий с другими понятиями. Семантика понятий раскрывает их смысл или содержание. Сложность описания семантики языка UML заключается именно в метамодельном уровне представлений его основных конструкций. С одной стороны, понятия языка UML имеют абстрактный характер (ассоциация, композиция, агрегация, сотрудничество, состояние). С другой стороны, каждое из этих понятий допускает свою конкретизацию на уровне модели (сотрудник, отдел, должность, стаж).
Сложность описания семантики языка UML вытекает из этой двойственности понятий. Здесь мы должны придерживаться традиционных правил изложения, поскольку понимание семантики носит индуктивный характер и требует для своей интерпретации примеров уровня модели и объекта. Иллюстрация абстрактных понятий на примере конкретных свойств и отношений, а также их значений позволяет акцентировать внимание на общих инвариантах этих понятий, что совершенно необходимо для понимания их семантики.
Примечание 28
Хотя сам термин «естественный язык» далеко не однозначен и порождает целый ряд дополнительных вопросов, здесь мы ограничимся его трактовкой в форме обычного текста на русском невозможно, английском языках. Как бы ни хотелось некоторым из отечественных разработчиков, полностью избежать использования английского при описании языка UML не удастся. Тем не менее если исключить написание стандартных элементов и некоторых ключевых слов, то во всех остальных случаях под естественным языком можно понимать русский без специальных оговорок.
Для придания формального характера моделям UML использование естественного языка должно строго соответствовать определенным правилам. Например, описание семантики языка UML может включать в себя фразы типа «Сущность А обладает способностью» или «Сущность Б есть сущность В». В каждом из этих случаев мы будем понимать смысл фраз, руководствуясь традиционным пониманием предложений русского языка. Однако этого может оказаться недостаточно для более формального представления знаний о рассматриваемых сущностях. Тогда необходимо дополнительно специфицировать семантику этих простых фраз, для чего рекомендуется использовать следующие правила:
• Явно указывать в тексте экземпляр некоторого метакласса. Речь идет о том, что в естественной речи мы часто опускаем слово «пример» или «экземпляр», говоря просто «класс». Так, фразу «Атрибут возраст класса сотрудник имеет значение 30 лет» следует записать более точно, а именно: «Атрибут возраст экземпляра класса сотрудник имеет значение 30 лет».
• В каждый момент времени используется только то значение слова, которое приписано имени соответствующей конструкции языка UML. Все дополнительные особенности семантики должны быть указаны явным образом без каких бы то ни было неявных предположений.
• Термины языка UML могут включать только один из допустимых префиксов, таких как под-, супер– или мета-. При этом сам термин с префиксом записывается одним словом.
В дополнение к этому будут использоваться следующие правила выделения текста:
• Если используются ссылки на конструкции языка UML, а не на их представления в метамодели, следует применять обычный текст без какого бы то ни было выделения.
• Имена метаклассов являются элементом нотации языка UML и представляют собой существительное и, возможно, присоединенное к нему прилагательное. В этом случае имя метакласса на английском записывается одним словом с выделением каждой составной части имени заглавной буквой (например, ModelElement, StructuralFeature).
• Имена метаассоциаций и ассоциаций классов записываются аналогичным образом (например, ElementReference).
• Имена других элементов языка UML также записываются одним словом, но должны начинаться с маленькой буквы (например, ownedElement, allContents).
• Имена метаатрибутов, которые принимают булевы значения, всегда начинаются с префикса «is» (например, isAbstract).
• Перечислимые типы должны всегда заканчиваться словом «Kind» (например, AggregationKind).
• При ссылках в тексте на метаклассы, метаассоциаций, метаатрибуты и т. д. должны всегда использоваться в точности те их имена, которые указаны в модели.
• Имена стандартных обозначений (стереотипов) заключаются в кавычки и начинаются со строчной буквы (например, «type»).
Рассмотренные выше правила выделения текста имеют непосредственное отношение к англоязычным терминам языка ,UML. Поскольку вопросы локализации языка UML до настоящего времени не нашли своего отражения в работе OMG, отечественным специалистам придется самостоятельно дополнять эти правила на случай использования в качестве естественного русского языка. В книге мы будем придерживаться двух дополнительных рекомендаций:
• При описании семантики языка UML все имена его стандартных элементов (метаклассов, метаассоциаций, метаатрибутов) допускается записывать на русском с дополнительным указанием оригинального имени на английском. При этом, хотя имена стандартных элементов могут состоять из нескольких слов, согласно сложившейся отечественной традиции, будем их записывать раздельно (например, класс ассоциации, элемент модели, пространство имен).
• При разработке конкретных моделей систем в форме диаграмм языка UML целесообразно применять оригинальные англоязычные термины, придерживаясь описанных выше правил (кроме, возможно, пояснительного текста на русском). Причина этой рекомендации вполне очевидна – последующая инструментальная реализация модели может оказаться невозможной, если не следовать оригинальным правилам выделения текста в языке UML. Это правило не распространяется на отдельные примеры и фрагменты диаграмм, которые приводятся в тексте книги с чисто иллюстративными целями и лишь раскрывают особенности использования стандартных элементов языка UML.
Примечание 29
В рамках языка UML все представления о модели сложной системы фиксируются в виде специальных графических конструкций, получивших название диаграмм. В терминах языка UML определены следующие виды диаграмм:
• Диаграмма вариантов использования (use case diagram)
• Диаграмма классов (class diagram)
• Диаграммы поведения (behavior diagrams)
• Диаграмма состояний (statechart diagram)
• Диаграмма деятельности (activity diagram)
• Диаграммы взаимодействия (interaction diagrams)
• Диаграмма последовательности (sequence diagram)
• Диаграмма кооперации (collaboration diagram)
• Диаграммы реализации (implementation diagrams)
• Диаграмма компонентов (component diagram)
• Диаграмма развертывания (deployment diagram)
Из перечисленных выше диаграмм некоторые служат для обозначения двух и более других подвидов диаграмм. При этом в качестве самостоятельных представлений в языке UML используются следующие диаграммы:
• Диаграмма вариантов использования (см. главу 4).
• Диаграмма классов (см. главу 5).
• Диаграмма состояний (см. главу 6).
• Диаграмма деятельности (см. главу 7).
• Диаграмма последовательности (см. главу 8).
• Диаграмма кооперации (см. главу 9). 1. Диаграмма компонентов (см. главу 10). 8. Диаграмма развертывания (см. главу 11).
Перечень этих диаграмм и их названия являются каноническими в том смысле, что представляют собой неотъемлемую часть графической нотации языка UML. Более того, процесс ООАП неразрывно связан с процессом построения этих диаграмм. При этом совокупность построенных таким образом диаграмм является самодостаточной в том смысле, что в них содержится вся информация, которая необходима для реализации проекта сложной системы.
Каждая из этих диаграмм детализирует и конкретизирует различные представления о модели сложной системы в терминах языка UML. При этом диаграмма вариантов использования представляет собой наиболее общую концептуальную модель сложной системы, которая является исходной для построения всех остальных диаграмм. Диаграмма классов является, по своей сути, логической моделью, отражающей статические аспекты структурного построения сложной системы.
Диаграммы поведения также являются разновидностями логической модели, которые отражают динамические аспекты функционирования сложной системы. И, наконец, диаграммы реализации служат для представления физических компонентов сложной системы и поэтому относятся к ее физической модели. Таким образом, интегрированная модель сложной системы в нотации UML (рис. 3.10) представляется в виде совокупности указанных выше диаграмм (см. рис. 3.9).
Рис. 3.10. Интегрированная модель сложной системы в нотации UML
Примечание 30
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
3.4. Основные пакеты метамодели языка UML
3.4. Основные пакеты метамодели языка UML Возвращаясь к рассмотрению языка UML, напомним, что основой его представления на метамодельном уровне является описание трех его логических блоков или пакетов: Основные элементы, Элементы поведения и Общие механизмы (рис. 3.5).Эти
1.6. Российская специфика разработки политик безопасности
1.6. Российская специфика разработки политик безопасности Темпы развития современных информационных технологий значительно опережают темпы разработки рекомендательной и нормативно-правовой базы руководящих документов, действующих на территории России. Поэтому
3.8. Отечественная специфика разработки политик безопасности
3.8. Отечественная специфика разработки политик безопасности Новое поколение стандартов в области защиты информации отличается как от предыдущего, так и от руководящих документов Гостехкомиссии России 1992–1998 годов большей формализацией политик безопасности и более
1. Узкая специфика по теме
1. Узкая специфика по теме Так сделал Сергей Жуковский, когда пришел в тему бизнеса в Сети. Он сделал курс о том, как создать прибыльный блог. Про блоги в то время информации практически не было. А Сергей Жуковский подготовил специализированный продукт и вышел с ним на
Глава 6 Специфика электронного общения
Глава 6 Специфика электронного общения Это не рожица. Это – смайл!Термины и сокращения, или Что такое FAQНетикетПроникновение Интернета в нашу жизнь очень сильно на нее повлияло. Изменились способы поиска, доставки и получения информации. Изменилось наше мышление, темп и
R.7 Описания
R.7 Описания Описания используются для интерпретации каждого из идентификаторов; необязательно, чтобы они сопровождались выделением памяти, сопоставляемой с идентификатором. Описания имеют видописания: спецификации-описания opt список-описателей
R.7.3 Описания asm
R.7.3 Описания asm Описание asm имеет вид:описание-asm: asm ( строка-литерал );Назначение описания asm определяется реализацией. Обычно оно используется для передачи информации от транслятора к
R.17.3 Описания
R.17.3 Описания описания: спецификации-описания opt список-описателей
1.4.9 Описания
1.4.9 Описания Описание – это оператор, вводящий имя в программе. Оно может также инициализировать объект с этим именем. Выполнение описания означает, что когда поток управления доходит до описания, вычисляется инициализирующее выражение (инициализатор) и производится
2.1 Описания
2.1 Описания Прежде чем имя (идентификатор) может быть использовано в С++ программе, он должно быть описано. Это значит, что надо задать его тип, чтобы сообщить компилятору, к какого вида сущностям относится имя. Вот несколько примеров, иллюстрирующих разнообразие
8. Описания
8. Описания Описания используются для определения интерпретации, дваемой каждому идентификатору. Они не обязательно резервируют память, связанную с идентификатором. Описания имеют вид:описание: спецификаторы_описания opt список_описателей opt ; описание_имени
14.2 Описания
14.2 Описания описание: спецификаторы_описания opt список_описателей opt ; описание_имени asm-описаниеописание_имени: сост идентификатор ; enum идентификатор ;сост:class struct unionasm-описание: asm ( строка ) ;спецификаторы_описания: спецификатор_описания спецификаторы_описания
Специфика ПЭМИ
Специфика ПЭМИ Спектр частот ПЭМИ ПК представлен колебаниями в достаточно широком диапазоне: от единиц мегагерц до нескольких гигагерц. Диаграмма направленности побочного электромагнитного излучения ПК не имеет ярко выраженного максимума, что неудивительно:
Специфика съемки городского пейзажа
Специфика съемки городского пейзажа Узкие улочки, старинные здания, храмы, церкви, ворота, арки, уличные кафе — все это делает кадр интересным. В разных городах можно найти много интересных сюжетов, но для этого желательно заранее ознакомиться с картой города, его
Специфика макросъемки
Специфика макросъемки Макросъемка – фотография, выполненная крупным планом, когда небольшой объект занимает весь кадр (рис. 6.1), – требует определенной подготовленности. Чем больше ваша фототехника будет соответствовать поставленной задаче, чем лучше вы подготовитесь