Материал: [3 курс] Инструментальные средства разработки программных средств

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Модель платформы

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

MOF (метаобъектные средства) – это стандарт для разработки управляемой модели. MOF возникло из UML и была создана для определения метамоделируемого языка UML. MOF реализована как 4хслойная архитектура (видно выше). Ядром всего проекта является метаметамодель M3 на верхнем уровне. MOF призван служить мостом между разными метамоделями (М2) поскольку представляет собой мощную основу для их описания. Если две разные модели конформны (т.е. могут быть описаны средствами M3) MOF, то все конкретные модели M1 базирующиеся на них могут храниться в общем репозитории и совместно обрабатываться средствами модельной трансформации.

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

Из-за сходства между MOF M3 моделью и структурными моделями UML, а метамодели MOF (M2) обычно моделируются в виде UML-класс диаграмм. Итак, MOF может быть использован для определения как объектно-ориентированных метамоделей (например, UML), так и не объектно-ориентированных моделей.

Определены 2 варианта стандарта MOF:

  1. EMOF

Исключено все, что требует глобального изучения, поэтому можно приступить к использованию данного стандарта сразу

  1. CMOF

Полное соответствие стандарту UML 2.0

Достоинства mda

  1. Переносимость

Уменьшение стоимость и уменьшение сложности разработки

  1. Строгие методы и гарантии того, что системы базируемые на различных технологиях реализации соответствуют общей бизнес-логике и требованиям

  2. Независимость от платформы

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

  4. Возможность для разработчиков дизайна и системных администраторов использовать удобные им языки и концепции; бесшовное связывание и интегрирование фрагментов разрабатываемых разными командами

Преимущества mda

  1. Кардинальное повышение производительности разработки (облегчается этап ручного программирования)

  2. Документированность и легкость сопровождения

  3. Централизация логики функционирования

  4. Облегчение доступности и управляемости разработки

Объектный язык ограничений (ocl)

Язык, позволяющий вводить в UML-модель дополнительную информацию. Это стандартное расширение UML, представляющий следующие возможности:

  1. Писать запросы для организации доступа к элементам модели и их значениям

  2. Накладывать ограничения на элементы модели, т.е. можно определять бизнес-правила как ограничения

  3. Определять операции запроса

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

Преимущества OCL:

  1. OCL позволяет средствами моделирования анализировать UML модели

  2. OCL позволяет средствам моделирования генерировать код на основании OCL выражений

  3. OCL обеспечивает возможность создавать более точные модели, это уменьшает вероятность неверного толкования модели

  4. OCL является стандартизированным языком

В некоторых случаях OCL имеет ряд недостатков:

  1. OCL сложен для восприятия

  2. Имеет очень сложный синтаксис (связь C++ и Java) и требует глубокого изучения

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

В OCL создается выражение, которое прикрепляется к элементам UML-модели и определяют или ограничивают ее некоторым образом.

Синтаксис OCL:

Контекст пакета

OCL можно разделить на 3 части: Контекст пакета, Контекст выражения, Выражение.