Исполняемый UML

редактировать

Исполняемый UML (xtUML или xUML ) - это одновременно метод разработки программного обеспечения и весьма абстрактный язык программного обеспечения. Впервые он был описан в 2002 году в книге «Исполняемый UML: основа модельно-ориентированной архитектуры». Этот язык «объединяет подмножество графической нотации UML (Unified Modeling Language ) с исполняемой семантикой и правилами синхронизации». Метод Executable UML является преемником метода Шлаера – Меллора.

Исполняемые модели UML «могут быть запущены, протестированы, отлажены и измерены на производительность», и могут быть скомпилирован в менее абстрактный язык программирования для конкретной реализации. Исполняемый UML поддерживает управляемую моделями архитектуру (MDA) посредством спецификации платформенно-независимых моделей и компиляции платформенно-независимых моделей в модели для конкретных платформ.

Содержание
  • 1 Обзор
  • 2 Исполняемые строительные блоки UML
    • 2.1 Диаграмма домена
    • 2.2 Диаграмма классов
    • 2.3 Диаграмма состояний
    • 2.4 Язык действий
    • 2.5 Тестирование и выполнение модели
    • 2.6 Компиляция модели
  • 3 Ключевые аспекты исполняемого UML
  • 4 fUML и ALF
  • 5 См. Также
  • 6 Публикации
  • 7 Ссылки
  • 8 Внешние ссылки
Обзор

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

Исполняемый UML также позволяет переводить платформо-независимые модели (PIM) в платформенно-зависимые модели (PSM). Метод Executable UML позволяет оценить модель как интеллектуальную собственность, поскольку модель является полностью выполнимым решением для проблемного пространства.

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

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

исполняемыми строительными блоками UML.

A Система состоит из нескольких предметов, известных как домены в терминах исполняемого UML. Исполняемый UML используется для моделирования домена на уровне абстракции его предмета независимо от проблем реализации. Результирующая модель предметной области представлена ​​следующими элементами:

  • Диаграмма предметной области обеспечивает представление моделируемого домена и его зависимостей от других доменов.
  • Диаграмма классов определяет классы и ассоциации класса для домена.
  • Диаграмма состояний определяет состояния, события и переходы состояний для класса или экземпляр класса.
  • Язык действий определяет действия или операции, которые выполняют обработку элементов модели.

Диаграмма домена

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

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

Соединения между доменами называются мостами. "Мост - это многоуровневая зависимость между домены ". Это означает, что домены могут предъявлять требования к другим доменам. Рекомендуется, чтобы мосты согласовывались с экспертами в разных областях.

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

Диаграмма классов

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

Отношения между этими классами будут обозначены ассоциациями и обобщениями. Для ассоциации может потребоваться дальнейшая абстракция в виде класса ассоциации.

Ограничения на диаграмме классов могут быть записаны как на языке действий, так и на языке объектных ограничений (OCL).

Метод Executable UML ограничивает элементы UML, которые могут использоваться на диаграмме классов Executable UML.

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

Диаграмма состояний

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

Каждое состояние имеет только одну процедуру, которая выполняется при входе в это состояние. Процедура состоит из действий, которые указаны на языке действий.

Язык действий

Сами по себе модели классов и состояний могут обеспечивать только статическое представление домена. Чтобы иметь исполняемую модель, должен быть способ создания экземпляров класса, установления ассоциаций, выполнения операций с атрибутами, событий состояния вызова и т. Д. В исполняемом UML это делается с использованием языка действий, который соответствует семантике действий UML..

Семантика действий была добавлена ​​в спецификацию UML в 2001 году. RFP по семантике действий был основан на предыдущей работе над языками действий, поддерживающими метод Шлаера – Меллора. Существующие языки действий - это язык объектных действий (OAL), язык действий Шлаера – Меллора (SMALL), язык спецификации действий (ASL), язык спецификации модифицированных действий (MASL), язык этого действия (TALL), краткий язык взаимодействия Старра (SCRALL)., Платформенно-независимый язык действий (PAL) и язык действий PathMATE (PAL). SCRALL - единственный язык графических действий.

Тестирование и выполнение модели

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

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

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

Компиляция модели

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

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

В терминах MDA компилятор модели создает PSM. Разделение между PIM и PSM в исполняемом UML отключает возможность инженера и обратно модели и препятствует внесению изменений в PSM.

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

Исполняемый UML определяет семантику выполнения для подмножества UML. Ключевые аспекты подмножества исполняемого UML включают следующее:

  • Отсутствие поддержки конструкций, специфичных для реализации, таких как агрегирование и композиция.
  • Обобщения всегда обозначаются как {полные, непересекающиеся}.
  • Ассоциации между классами всегда именуются, имеют глагольные фразы на обоих концах, определяющие роли, и имеют множественность, указанную на обоих концах.
  • Кратности на концах ассоциации ограничены до 0..1 (от нуля до единицы), * (ноль ко многим), 1 (ровно один) или 1.. * (от одного ко многим).
  • Типы данных ограничены следующими основными типами данных: логическое, строковое, целочисленное, вещественное, дата, временная метка, и random_id или один из следующих типов данных, зависящих от домена: числовой, строковый, перечисляемый и составной. Зависящие от домена числовые и строковые типы данных могут представлять подмножества основных типов данных. Составной тип данных, зависящий от предметной области, всегда следует рассматривать как единый блок внутри домена. например, может быть объявлен составной тип данных MailingAddress, но нельзя извлечь из него информацию о городе.
  • Ограничения в исполняемых моделях UML могут быть представлены как Object Constraint Language (OCL) или язык действий.
fUML и ALF

Группа управления объектами стандартизировали Foundation UML (fUML), на который сильно повлиял исполняемый UML.

Язык действий для базового UML (ALF) - это стандартная спецификация языка действий, разработанная группой управления объектами.

См. Также
Публикации
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-19 09:35:02
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте