Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| mdd:embedded_uml [2026/08/29 07:53] – Bulk sync migration user | mdd:embedded_uml [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Embedded Systems in UML ====== | ||
| + | Mellor, S. J. (2007). Embedded systems in UML. Object Management Group, Tech. Rep. | ||
| + | |||
| + | ===== Введение ===== | ||
| + | |||
| + | Технология исполняемого UML позволяет разделить логику работы приложения и архитектуру системы, | ||
| + | |||
| + | ===== Использование UML для проектирования программных систем ===== | ||
| + | |||
| + | UML используется как для первичного наброска системы, | ||
| + | |||
| + | ===== Зачем использовать технологию исполняемого UML? ===== | ||
| + | |||
| + | Сравним данный подход с традиционным процессом разработки. Первым этапом традиционной разработки является составление описания требуемой программной системы и верификация этого описания клиентами или экспертами в предметной области. Опыт показывает, | ||
| + | |||
| + | ===== Построение исполняемой модели ===== | ||
| + | |||
| + | Исполняемая модель состоит из трех основных компонент: | ||
| + | |||
| + | - Объявление сущностей программной системы. Представляется в виде диаграммы классов UML. | ||
| + | - Описание поведения системы в времени. Задается с помощью диаграммы состояний UML (точнее, | ||
| + | - Правила исполнения. В исполняемом UML, программа представляется с помощью набора конечных автоматов, | ||
| + | |||
| + | ===== Верификация исполняемой модели ===== | ||
| + | |||
| + | Верификация модели осуществляется путем ее исполнения. Язык действий позволяет инстанцировать объекты и задать им начальные условия. Каждый тест реализуется в виде последовательности состояний. По достижении финального состояния теста, с помощью языка действий можно сравнить полученное состояние с ожидаемым и принять решение о том, пройден тест или нет. Покрытие модели тестами можно оценить по количеству посещенных состояний и совершенных переходов. При верификации модели необходимо учитывать два обстоятельства: | ||
| + | |||
| + | - Верификация не имеет отношения к тестированию производительности. Цель верификации – проверить поведение модели. | ||
| + | - Выбор тестовых случаев – отдельная задача, | ||
| + | |||
| + | ===== Трансляция исполняемой модели ===== | ||
| + | |||
| + | Трансляция исполняемой модели осуществляется с помощью компилятора, | ||
| + | |||
| + | - Трансляция модели в семантическую базу. Семантическая база представляет собой описание всех объектов, | ||
| + | - Транслирование объектов семантическй базы в код. С помощью правил, | ||
| + | - Компиляция (при необходимости – линковка) кода под заданную архитектуру. | ||
| + | |||
| + | Важно, что правила трансляции можно менять независимо от модели. Чаще всего это требуется для повышения производительности программы для некоторой архитектуры. При изменении правил трансляции необходимо убедиться, | ||
| + | |||
| + | ===== Заключение ===== | ||
| + | |||
| + | Ключевая особенность технологии трансляции состоит в разделении логики приложения и архитектуры системы, | ||