Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| mdd:csp_b_generation [2014/06/01 15:41] – anisimoff | mdd:csp_b_generation [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Автоматическая генерация спецификаций CSP | | B из моделей xUML ====== | ||
| + | Edward Turner, Helen Treharne, Steve Schneider, Neil Evans | ||
| + | |||
| + | Центральная тема данной статьи — генерация исполняемых и проверяемых моделей из моделей UML. Авторы работают совместно с компанией AWE и исследуют два направления автоматической генерации. Первая — с использованием инструментария Kennedy Carter, а также SPARK Ada translators. Вторая — с использованием Epsilon. Вклад данной статьи состоит в описании первого инструмента, | ||
| + | |||
| + | ===== Исполняемый UML ===== | ||
| + | |||
| + | В данной работе фокусируются на диаграммах классов и состояний (из возможных 6 в xUML). Есть ограничение на единственность диаграммы состояний. В диаграмме состояний могут быть определены только входные действия. Они записываются на языке Action Specification Language (ASL). Он поддерживает элементы вроде create, delete, → (навигация по ассоциации), | ||
| + | |||
| + | [[mdd: | ||
| + | |||
| + | [[mdd: | ||
| + | |||
| + | ===== CSP || B ===== | ||
| + | |||
| + | CSP || B — подход, | ||
| + | CSP работает с процессами и включает различные операторы параллельной композиции, | ||
| + | В работает с машинами. Его операции имеют вид PRE < | ||
| + | |||
| + | ===== Генерация ===== | ||
| + | |||
| + | Генерация состоит следующих основных частей: | ||
| + | Создание машины с операциями для класса Light наглядно демонстрирует следующее изображение: | ||
| + | |||
| + | [[mdd: | ||
| + | |||
| + | Аналогичные машины создаем для класса выключателя и ассоциации между ними. Последняя, | ||
| + | Вкратце, | ||
| + | В результате выходит следующее: | ||
| + | |||
| + | [[mdd: | ||
| + | |||
| + | ===== Фреймворк для анализа ===== | ||
| + | |||
| + | Фреймворк находится в стадии разработки. Авторы определяют три типа анализа, | ||