ДанилШопырин ЗАО ТранзасТехнологии...

Post on 07-Sep-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Графическая нотация наследованияавтоматных классов

Данил ШопыринЗАО «Транзас Технологии»

Анатолий ШалытоСПбГУ ИТМО

2

Типы программных систем

Преобразующие системыИнтерактивные системыРеактивные системы

3

Реактивные системы

Средства проектирования и реализации:SDLUMLSyncChartsSWITCH-технология

Реактивные подсистемы ОО-системState Design Pattern и варианты его развития

4

Автоматные классы

ИнкапсуляцияНаследование

СтруктурированиеДекомпозиция

Полиморфизм

5

Практическое использование: манипуляторы

Iris - каркас для построения редакторов

Манипуляторы:проектированиереализация

6

Практическое использование: манипуляторы

Механизмы редактированиявыделение объектовперенос объектоввращение объектови т.п.

7

Практическое использование: манипуляторы

Механизм редактирования:инструментманипуляторметкапризраккоманда

8

Практическое использование: манипуляторы

Манипуляторы выделениявыделение кликомвыделение прямоугольникомвыделение полигономвыделение «лассо»

9

Практическое использование: манипуляторы

Механизм выделения «лассо»

10

Практическое использование: манипуляторы

Механизм выделения «лассо»SelectObjectToolLassoSelectionManipulatorISelectablePolygonSelectableGhostSelectObjCommand

11

Практическое использование: манипуляторы

Без использования наследования

12

Практическое использование: манипуляторы

С использованием наследования

13

Графическая нотацияОсновные элементы предлагаемой графической нотации

14

Графическая нотация: наследованиe

добавление переходовперегрузка переходовдобавление состояний

15

Графическая нотация: структурирование

Без использованияструктурирования

С использованиемструктурирования

16

Графическая нотация: структурирование

Иерархия состояний, возникающая прииспользованияструктурирования

17

Графическая нотация: наследование + структурирование

а) без совместного использования б) с совместным использованием

18

Графическая нотация: пример

Доступ к файлу:доступ на чтение (ReadFile); доступ на запись (WriteFile);доступ на чтение, запись и чтение/запись(ReadWriteFile).

19

Графическая нотация: примерДиаграммы поведения без наследования

20

Графическая нотация: пример

Автоматные классы с предыдущего слайда можноорганизовать в следующую иерархию:

21

Графическая нотация: примерИспользуя подход, предложенный в работе, диаграммыповедения могут быть существенно упрощены:

Name MeaningOFR IFile.Open(fname, "r")R IFile.Read()reading "Файл открыт на чтение"

Name MeaningOFW IFile.Open(fname, "w")W IFile.Write()writing "Файл открыт на запись"

Name MeaningOFRW IFile.Open(fname, "rw")R IFile.Read()readwriting "Файл открыт на чтение/запись"W IFile.Write()

Name MeaningC IFile.Close()closed группа "Файл закрыт"IsO IFile.IsOpened()main "Начальный режим"opened группа "Файл открыт"RF return falseRT return true

22

Графическая нотация: пример

Предположим, что требуется добавить еще одинавтоматный класс:

23

Графическая нотация: пример

Используя подход, предлагаемый в работе, диаграммаможет существенно упрощена:

Name MeaningOFA IFile.Open(fname, "a")appending "Файл открыт для записи в конец"W IFile.Write()

24

Графическая нотация

Количественные характеристики

25

Реализация автоматных объектов

Методы на основе:виртуальных методов;виртуальных вложенных классов.

Позволяют изоморфно отобразить предложеннуювыше графическую нотацию при реализацииавтоматных объектов.Соответствуют основным принципам ООП:

инкапсуляция;наследование;полиморфизм.

26

Заключение

Достоинствапростота и интуитивностьинкрементальное наследование

Недостаткидополнительные примитивыиерархии автоматных классов достаточноредки

27

Публикации

1. Шопырин Д.Г., Шалыто А.А. Применение класса "STATE" в объектно-ориентированном программировании с явным выделением состояний//Труды X Всероссийской научно-методической конференции "Телематика-2003". СПб.: СПбГИТМО (ТУ). 2003. Т. 1, c. 284–285.

2. Шалыто А. А., Шопырин Д. Г. Объектно-ориентированный подход кавтоматному программированию //Информационно-управляющиесистемы. 2003, № 5, с. 29–39.

3. Шалыто А.А., Шопырин Д.Г. Синхронное программирование//Информационно-управляющие системы. 2004, № 3, с. 35–42.

4. Шопырин Д.Г. Разработка промежуточного языка представленияконечных автоматов //Труды XI Всероссийской научно-методическойконференции "Телематика-2004". СПб.: СПбГИТМО (ТУ). 2004. Т. 1, c. 195–197.

5. Шопырин Д.Г. Метод проектирования и реализации конечных автоматовна основе виртуальных вложенных классов //Информационныетехнологии моделирования и управления. 2005, № 1(19), c. 87–97.

6. Шопырин Д.Г. Объектно-ориентированная реализация конечныхавтоматов на основе виртуальных методов // Информационно-управляющие системы. 2005, № 3, c. 36–40.

7. Шопырин Д.Г. Программирование с явным выделением состояний наплатформе .Net //Труды XII Всероссийской научно-методическойконференции "Телематика-2005". СПб.: СПбГИТМО (ТУ). 2005. Т. 1, с. 86–87.

28

Спасибо за внимание!

top related