Программирование
<<  Технологии программирования Software engineering Неполная спецификация и недетерминизм  >>
UniMod: метод и средство разработки реактивных
UniMod: метод и средство разработки реактивных
Мотивация
Мотивация
Постановка задачи (1)
Постановка задачи (1)
Постановка задачи (2)
Постановка задачи (2)
Предлагаемый метод
Предлагаемый метод
Пример использования метода (1)
Пример использования метода (1)
Пример использования метода (2)
Пример использования метода (2)
Пример использования метода (3)
Пример использования метода (3)
Синтаксис диаграмм
Синтаксис диаграмм
Операционная семантика модели
Операционная семантика модели
Программный пакет UniMod
Программный пакет UniMod
Демонстрация работы редактора
Демонстрация работы редактора
Демонстрация работы отладчика
Демонстрация работы отладчика
Архитектура
Архитектура
Область применения (1)
Область применения (1)
Область применения (2)
Область применения (2)
Область применения (3)
Область применения (3)
Преимущества предлагаемого подхода
Преимущества предлагаемого подхода
Общая информация о проекте
Общая информация о проекте
Спасибо
Спасибо

Презентация на тему: «UniMod: метод и средство разработки реактивных объектно-ориентированных программ с явным выделением состояний». Автор: ofedorova. Файл: «UniMod: метод и средство разработки реактивных объектно-ориентированных программ с явным выделением состояний.ppt». Размер zip-архива: 284 КБ.

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

содержание презентации «UniMod: метод и средство разработки реактивных объектно-ориентированных программ с явным выделением состояний.ppt»
СлайдТекст
1 UniMod: метод и средство разработки реактивных

UniMod: метод и средство разработки реактивных

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

1

2 Мотивация

Мотивация

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

2

3 Постановка задачи (1)

Постановка задачи (1)

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

3

4 Постановка задачи (2)

Постановка задачи (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

4

5 Предлагаемый метод

Предлагаемый метод

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

5

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

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

6

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

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

7

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

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

8

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

Синтаксис диаграмм

9

10 Операционная семантика модели

Операционная семантика модели

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

10

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

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

Ядро Мета-модель конечного автомата Алгоритмы разбора, трансляции и интерпретации условий на переходах Алгоритмы валидации модели Интерпретатор XML-описания модели Генератор кода для целевого языка на основе XML-описания модели Базовая версия отладчика модели Eclipse Plug-in Графический редактор UML-диаграммы классов и состояний Интерактивный валидатор модели Средства запуска и графической отладки модели

11

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

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

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

12

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

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

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

13

14 Архитектура

Архитектура

Eclipse

JVM

Design-time Model

Runtime Model

JDWP

UniMod Debugger Protocol

14

15 Область применения (1)

Область применения (1)

J2EE приложения (интерпретируемый и компилируемый подходы). Для описания переходов между страницами, для описания жизненного цикла бизнес сущностей. J2SE приложения (интерпретируемый и компилируемый подходы) J2ME приложения (только компилируемый подход). Для создания игр. Symbian С++ приложения (только компилируемый подход)

15

16 Область применения (2)

Область применения (2)

Система автоматического завершения ввода Отладчик диаграмм Интерпретатор/компилятор блок схем Описание и эмуляция бизнес процессов

16

17 Область применения (3)

Область применения (3)

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

17

18 Преимущества предлагаемого подхода

Преимущества предлагаемого подхода

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

18

19 Общая информация о проекте

Общая информация о проекте

Проект ведется специалистами компании eVelopers Corp. http://www.evelopers.com/ UniMod является проектом с открытым исходным кодом и размещен на сайте SourceForge http://unimod.sourceforge.net/ Проект развивается в рамках движения за открытую проектную документацию http://is.ifmo.ru/

19

20 Спасибо

Спасибо

20

«UniMod: метод и средство разработки реактивных объектно-ориентированных программ с явным выделением состояний»
http://900igr.net/prezentacija/informatika/unimod-metod-i-sredstvo-razrabotki-reaktivnykh-obektno-orientirovannykh-programm-s-javnym-vydeleniem-sostojanij-112486.html
cсылка на страницу
Урок

Информатика

130 тем
Слайды
900igr.net > Презентации по информатике > Программирование > UniMod: метод и средство разработки реактивных объектно-ориентированных программ с явным выделением состояний