UniMod: метод и средство разработки реактивных объектно-ориентированных программ с явным выделением состоянийВадим Гуров eVelopers Corp. презентация

Содержание

Слайд 1UniMod: метод и средство разработки реактивных объектно-ориентированных программ с явным выделением

состояний Вадим Гуров eVelopers Corp.





Слайд 2Мотивация
Семантический разрыв между фазами проектирования и реализации
Классические методы проектирования объектно-ориентированных систем

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

Слайд 3Постановка задачи (1)
UML + SWITCH-технология
Затрагиваются только фазы проектирования и реализации
Рассматриваются только

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

Слайд 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Предлагаемый метод
Создать концептуальную модель предметной области в виде UML диаграммы

классов используя классические методы
Выделить поставщики событий, автоматы и объекты управления. Оставшиеся классы – контейнеры для данных.
Создать диаграмму связей автоматов
Поставщики событий поместить справа
Объекты управления слева
Автоматы посередине
Создать связи между поставщиками событий, автоматами и объектами управления
В поставщиках событий определить множество производимых событий (ex)
В объектах управления создать два множества методов соответствующих:
Входным воздействиям (xj)
Выходным воздействиям (zk)
Для каждого автомата создать диаграмму состояний


Реализовать поставщики событий и объекты управления вручную или выбрать готовые из репозитория
Запустить модель прямо из среды разработки, либо преобразовать модель в XML-описание для последующей интерпретации, либо преобразовать модель в код на целевом языке программирования для последующей компиляции


Слайд 6Пример использования метода (1)


Слайд 7Пример использования метода (2)


Слайд 8Пример использования метода (3)


Слайд 9Синтаксис диаграмм


Слайд 10Операционная семантика модели
Поставщики событий – активные объекты, обладающие потоками выполнения
События могут

обрабатываться синхронно и асинхронно
Интерпретационный и компилируемый подходы

Слайд 11Ядро
Мета-модель конечного автомата
Алгоритмы разбора, трансляции и интерпретации условий на переходах
Алгоритмы валидации

модели
Интерпретатор XML-описания модели
Генератор кода для целевого языка на основе XML-описания модели
Базовая версия отладчика модели

Eclipse Plug-in
Графический редактор UML-диаграммы классов и состояний
Интерактивный валидатор модели
Средства запуска и графической отладки модели

Программный пакет UniMod


Слайд 12Демонстрация работы редактора





Демонстрация раб Демонстрация рабо Демонстрация работы редактора


Слайд 13Демонстрация работы отладчика




Демонстрация работы отладчика


Слайд 14Архитектура




Eclipse
JVM
Runtime Model
Design-time Model
JDWP
UniMod Debugger Protocol


Слайд 15Область применения (1)
J2EE приложения (интерпретируемый и компилируемый подходы). Для описания переходов

между страницами, для описания жизненного цикла бизнес сущностей.

J2SE приложения (интерпретируемый и компилируемый подходы)

J2ME приложения (только компилируемый подход). Для создания игр.

Symbian С++ приложения (только компилируемый подход)


Слайд 16Область применения (2)
Система автоматического завершения ввода


Отладчик диаграмм


Интерпретатор/компилятор блок схем

Описание и эмуляция

бизнес процессов

Слайд 17Область применения (3)
Создать набор поставщиков событий и объектов управления для некоторой

предметной области
Визуально конструировать программы

Слайд 18Преимущества предлагаемого подхода
Использует UML-нотацию и, частично, операционную семантику
Позволяет уменьшить семантический разрыв

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

Слайд 19Общая информация о проекте
Проект ведется специалистами компании eVelopers Corp. http://www.evelopers.com/

UniMod является

проектом с открытым исходным кодом и размещен на сайте SourceForge
http://unimod.sourceforge.net/

Проект развивается в рамках движения за открытую проектную документацию http://is.ifmo.ru/

Слайд 20Спасибо!


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика