Slide 1

Slide 1 text

Через 10 лет программы будут нарисованными, а не написанными Доктор физ-мат наук А.Н.Терехов Кандидат тех. наук Т.А.Брыксин Кандидат тех. наук Ю.В.Литвинов Кафедра системного программирования СПбГУ 20 октября 2017, SECR Санкт-Петербург

Slide 2

Slide 2 text

Слова уходят на второй план Оксфордский словарь в 2015 году впервые признал словом года на слово из литер, а смайлик. Не само слово "смайлик", а пиктограмму под названием "Лицо со слезами радости".

Slide 3

Slide 3 text

CASE-подход

Slide 4

Slide 4 text

CASE-подход • Визуальные диаграммы

Slide 5

Slide 5 text

CASE-подход • Визуальные диаграммы • Различные точки зрения на систему

Slide 6

Slide 6 text

CASE-подход • Визуальные диаграммы • Различные точки зрения на систему • Надежность o Дополнительные проверки синтаксиса и семантики o Автоматизация ключевых действий

Slide 7

Slide 7 text

Z.100 ITU-T SDL-пример Условие 1 Сигналы X,Y Посылка сигнала Z Начальное состояние перехода Конечное состояние перехода

Slide 8

Slide 8 text

Упрощение SDL диаграммы Versus IF THEN ELSE Versus

Slide 9

Slide 9 text

Детальность диаграммы SDL

Slide 10

Slide 10 text

“Одна картинка стоит тысячи слов” • Bishop, A. (1977). Стоит ли одна картинка тысячи слов? • Wollows, D.M. (1978). Картинка не всегда стоит тысячи слов: картинки как отвлекающие факторы чтения. • DeLoache, J.S. & Marzolf, D.P. (1992). Когда картинка не стоит тысячи слов: Понимание изображений и текста детьми • Larkin, J.H. & Simon, H.A. (1987). Почему диаграмма (иногда) стоит десяти тысяч слов • Shneiderman, B. (1980). Психология ПО. Человеческие факторы в компьютерах и информационных системах. “Что что полезно одному, то вредно другому”

Slide 11

Slide 11 text

Domain Specific Modeling • Визуальные языки и редакторы, ориентированные на предметную область • Узкий фокус • Высокий уровень абстракции • Полностью автоматическая генерация кода • Применимость • Множество схожих проблем • Продуктовые линейки • Большие проекты • Программирования для непрограммистов

Slide 12

Slide 12 text

Увеличение производительности в 3-10 раз •Nokia (1000%) o Kelly, S., Tolvanen, J.-P., Visual domain-specific modeling: benefits and experiences of using metaCASE tools, in: Bezivin, J., Ernst, J. (Eds.), Proceedings of International workshop on Model Engineering, ECOOP 2000. •USAF (300%) o Kieburtz, R., et al. A software engineering experiment in software component generation, Proceedings of 18th International Conference on Software Engineering, Berlin, IEEE Computer Society Press, March, 1996 •Lucent (400-1000%) o Weiss, D., Lai, C. T. R., Software Product-line Engineering, Addison Wesley Longman, 1999. o Высокий уровень абстракции o Полностью автоматическая генерация исходного кода o Сквозная поддержка средств разработки

Slide 13

Slide 13 text

Сопутствующие исследования o 1990-ые. Множество исследований на тему того, почему CASE-инструменты не используются так интенсивно, как они этого заслуживают (инструменты были ориентированы на технологию, а не на пользователя) o Только удобные инструменты могут привлечь программистов o 2000-2010-ые – ослабляется внимание к CASE- инструментам, но технологии продолжают развиваться – необходимость автоматизации «рисования красивых картинок»

Slide 14

Slide 14 text

Наша цель • Визуальный IDE o Использование графических языков o Инструменты для быстрого прототипирования o Кросс-платформенность o Многопользовательский доступ  Совместная разработка  Версионный контроль o Поддержка визуальной отладки o Простой и понятный пользовательский интерфейс

Slide 15

Slide 15 text

Основные черты QReal • Общее ядро + plug-in-ы редакторов • Поддержка контроля версий • Графические и логические модели • Встроенные и внешние генераторы кода • Визуальный отладчик и визуальный интерпретатор • Метамоделирование

Slide 16

Slide 16 text

ТРИК-студия

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Улучшение UX • Распознавание жестов мышью

Slide 19

Slide 19 text

Последние результаты • Интерпретация генераторов • Новый DSL для описания генераторов • Интерпретатор этого языка • Инструменты поддержки эволюции языков • Интерпретируемые метамодели • Поддержка сенсорных экранов • Нахождение различий между диаграммами • Распознавание сложных жестов • Улучшение UX

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content