Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемis.ifmo.ru
1 UniMod 1 UniMod: метод и средство разработки реактивных объектно-ориентированных программ с явным выделением состояний Вадим Гуров eVelopers Corp.
2 UniMod 2 Мотивация Семантический разрыв между фазами проектирования и реализации Классические методы проектирования объектно- ориентированных систем не имеют четкого описания того, как проектировать поведенческую часть Нет связи с кодом В основном проектирование ограничено созданием концептуальной модели предметной области Нет методов для проектирования сложной логики UML-диаграммы взаимодействия и последовательности бесполезны UML-диаграммы состояний в том, виде как они описаны в стандарте использовать сложно
3 UniMod 3 Постановка задачи (1) UML + SWITCH-технология Затрагиваются только фазы проектирования и реализации Рассматриваются только реактивные системы Основное внимание уделяется моделированию логики поведения системы Исполняемый графический язык Отсутствие обратной генерации модели по коду Проверка правильности модели Полнота и непротиворечивость графа переходов Достижимость состояний
4 UniMod 4 Постановка задачи (2) Существующие подходы и технологии: MDA (AndroMDA) UML Editors – only class-diagram round-trip Model compilers – (Telelogic TAU2, ILogix Statemate) UML VM (Matilda) State machine compilers (smc) Domain Specific Languages (Microsoft DSL Tools) Language Oriented Programming (Intellij MPS) Generative Programming
5 UniMod 5 Предлагаемый метод 1.Создать концептуальную модель предметной области в виде UML диаграммы классов используя классические методы 2.Выделить поставщики событий, автоматы и объекты управления. Оставшиеся классы – контейнеры для данных. 3.Создать диаграмму связей автоматов Поставщики событий поместить справа Объекты управления слева Автоматы посередине Создать связи между поставщиками событий, автоматами и объектами управления 4.В поставщиках событий определить множество производимых событий ( ex ) 5.В объектах управления создать два множества методов соответствующих: Входным воздействиям ( xj ) Выходным воздействиям ( zk ) 6.Для каждого автомата создать диаграмму состояний 7.Реализовать поставщики событий и объекты управления вручную или выбрать готовые из репозитория 8.Запустить модель прямо из среды разработки, либо преобразовать модель в XML-описание для последующей интерпретации, либо преобразовать модель в код на целевом языке программирования для последующей компиляции Проектирование Реализация
6 UniMod 6 Пример использования метода (1)
7 UniMod 7 Пример использования метода (2)
8 UniMod 8 Пример использования метода (3)
9 UniMod 9 Синтаксис диаграмм
10 UniMod 10 Операционная семантика модели Поставщики событий – активные объекты, обладающие потоками выполнения События могут обрабатываться синхронно и асинхронно Интерпретационный и компилируемый подходы
11 UniMod 11 Ядро Мета-модель конечного автомата Алгоритмы разбора, трансляции и интерпретации условий на переходах Алгоритмы валидации модели Интерпретатор XML-описания модели Генератор кода для целевого языка на основе XML- описания модели Базовая версия отладчика модели Eclipse Plug-in Графический редактор UML-диаграммы классов и состояний Интерактивный валидатор модели Средства запуска и графической отладки модели Программный пакет UniMod
12 UniMod 12 Демонстрация работы редактора
13 UniMod 13 Демонстрация работы отладчика
14 UniMod 14 Архитектура EclipseJVM Runtime Model Design-time Model JDWP UniMod Debugger Protocol
15 UniMod 15 Область применения (1) J2EE приложения (интерпретируемый и компилируемый подходы). Для описания переходов между страницами, для описания жизненного цикла бизнес сущностей. J2SE приложения (интерпретируемый и компилируемый подходы) J2ME приложения (только компилируемый подход). Для создания игр.J2ME приложения Symbian С++ приложения (только компилируемый подход)
16 UniMod 16 Область применения (2) Система автоматического завершения ввода Отладчик диаграмм Интерпретатор/компилятор блок схем Описание и эмуляция бизнес процессов
17 UniMod 17 Область применения (3) Создать набор поставщиков событий и объектов управления для некоторой предметной области Визуально конструировать программы
18 UniMod 18 Преимущества предлагаемого подхода Использует UML-нотацию и, частично, операционную семантику Позволяет уменьшить семантический разрыв между фазами проектирования и реализации Использует формальные методы проверки модели системы, что позволяет избежать появления многих ошибок на стадии реализации Ускоряет процесс разработки и позволяет избежать проблемы синхронизации технической спецификации и кода Самодокументируемый, т.к. диаграммы созданные на стадии проектирования являются документацией и программой одновременно
19 UniMod 19 Общая информация о проекте Проект ведется специалистами компании eVelopers Corp. UniMod является проектом с открытым исходным кодом и размещен на сайте SourceForge Проект развивается в рамках движения за открытую проектную документацию
20 UniMod 20 Спасибо!
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.