SlideShare a Scribd company logo
1 of 28
Язык ДРАКОН
Вводный курс, часть 2:
Взаимодействие со внешним миром,
параллельные алгоритмы и реальное время
Что может икона “Полка”?
Положить значение на полку
Дать команду исполнителю
Срочно выйти из алгоритма
Положить значение на полку
● Присвоить новое значение признаку или
свойству
● Присвоить новое значение переменной
● Снять или установить флаг
Положить значение на полку
Поместить произведение
ширины на высоту в
переменную с именем
“площадь”
Установить флаг “светодиод
включён”
Полка: дать команду
исполнителю
Полка: срочно выйти из алгоритма
Пример:
● Алгоритм “Работа над новой версией ПО”
вызывает алгоритм “Разработка по задаче”
● Алгоритм “Разработка по задаче” вызывает
алгоритм “Анализ зависимостей”
● В алгоритме “Анализ зависимостей”
срабатывает такая икона “Полка”
Что происходит?
● “Анализ зависимостей” останавливается
● “Разработка по задаче” останавливается
● Управление передаётся обратно в алгоритм
“Работа над версией ПО”
Взаимодействие алгоритма со внешним миром
Икона “Ввод”
Икона “Вывод”
Икона “Параллельный процесс”
Ввод Вывод Параллельный
процесс
Ввод Вывод Параллельный
процесс
Ключевое слово или фраза
Верхний этаж
Ввод Вывод Параллельный
процесс
Содержательная
информация
Нижний этаж
Что делает икона "Ввод"?
● Принимает информацию от внешних
отправителей
● Получает сообщение от параллельного
процесса
● Осуществляет ввод информации в
компьютер:
– Получает её от пользователя через клавиатуру
и мышь
– Читает с диска
– Получает из сети
Что делает икона "Вывод"?
● Посылает информацию внешним
получателям
● Отправляет сообщение параллельному
процессу
● Осуществляет вывод информации из
компьютера:
– Показывает её на экране
– Записывает на диск
– Передаёт по сети
Пример с иконами “Ввод” и “Вывод”
Чем отличается “Полка” от “Вывода”?
Присваивает значение
внутренней переменной
Полка
Даёт приказ
внутреннему
исполнителю
Отправляет сообщение
внешнему процессу
Вывод
Передаёт информацию
внешнему получателю
Команды управления параллельными
процессами
Пуск
Осуществляет пуск
параллельного процесса
Останов
Навсегда завершает
параллельный процесс
Стоп Ставит параллельный
процесс на паузу
Рестарт Возобновляет приостановленный
параллельный процесс
Управление внешним параллельным процессом
Команды параллельному процессу не
останавливают основной процесс
Основной
процесс
Параллельный процесс
Пуск Останов
Внутренние параллельные процессы
Двойная горизонтальная линия
означает пуск параллельного
шампура
Внутренние параллельные процессы
Параллельный шампур
выполняется одновременно с
основным
Внутренние параллельные процессы
Одинарная горизонтальная
линия означает завершение
параллельного шампура
Неправильно: шампур нельзя ломать
Следующие действия
можно начинать в любом
порядке после подготовки
фронта работ:
● Подводка
электролинии,
● Закупка проводов,
● Установка окон,
● Установка крыши,
● Закупка труб
Монтаж электрощита
нельзя начинать, пока не
закончена установка окон
и устройство крыши
Сложный параллельный алгоритм
Устанавливает задержку между двумя
операторами
Пауза
Пуск таймера “Т”
Пуск таймера и
синхронизатор
Пуск таймера и
синхронизатор
Оператор выполняется, когда
проходит указанное время
по таймеру “Т”
(0.3 периода вращения коленвала)
Чем отличается пауза от синхронизации по таймеру?
Выполняет оператор
с задержкой относительно
предыдущего оператора
Пауза
Таймер не требуется
Выполняет оператор
с задержкой относительно
пуска таймера
Синхронизация по таймеру
Требуется запустить таймер
Цикл “Ждать”
Цикл “Ждать” засыпает на
указанный промежуток
времени перед тем, как
повторить итерацию.
Степан Митькин
stipan.mitkin@gmail.com
http://drakon.su/
http://forum.oberoncore.ru/
Диаграммы для слайдов подготовлены при помощи
программы DRAKON Editor
http://drakon-editor.sourceforge.net/
Июнь 2013
Конец

More Related Content

Viewers also liked

La ética y la moral
La ética y la moralLa ética y la moral
La ética y la moralokeliuladech
 
WMCA Thrive Full Report
WMCA Thrive Full ReportWMCA Thrive Full Report
WMCA Thrive Full ReportSteve Appleton
 
Tarea vi recursos didacticos
Tarea vi  recursos didacticosTarea vi  recursos didacticos
Tarea vi recursos didacticos143346
 
Form rekruitmendiwebsite(sakti peksostksii)
Form rekruitmendiwebsite(sakti peksostksii)Form rekruitmendiwebsite(sakti peksostksii)
Form rekruitmendiwebsite(sakti peksostksii)Irwan Affandi
 
Partes De La Computadora
Partes De La ComputadoraPartes De La Computadora
Partes De La ComputadoraFacu_01
 
Manual de PHP
Manual de PHPManual de PHP
Manual de PHPdegarden
 
Un camino hacia la recuperacion
Un camino hacia la recuperacionUn camino hacia la recuperacion
Un camino hacia la recuperacionFORMAXARQUIA
 
Redes Sociales aplicadas al pequeño comercio
Redes Sociales aplicadas al pequeño comercioRedes Sociales aplicadas al pequeño comercio
Redes Sociales aplicadas al pequeño comercioDani Ortega
 

Viewers also liked (12)

La ética y la moral
La ética y la moralLa ética y la moral
La ética y la moral
 
Stalyn 2
Stalyn 2Stalyn 2
Stalyn 2
 
WMCA Thrive Full Report
WMCA Thrive Full ReportWMCA Thrive Full Report
WMCA Thrive Full Report
 
Tarea vi recursos didacticos
Tarea vi  recursos didacticosTarea vi  recursos didacticos
Tarea vi recursos didacticos
 
Form rekruitmendiwebsite(sakti peksostksii)
Form rekruitmendiwebsite(sakti peksostksii)Form rekruitmendiwebsite(sakti peksostksii)
Form rekruitmendiwebsite(sakti peksostksii)
 
Introducción al SQL
Introducción al SQLIntroducción al SQL
Introducción al SQL
 
Partes De La Computadora
Partes De La ComputadoraPartes De La Computadora
Partes De La Computadora
 
Manual de PHP
Manual de PHPManual de PHP
Manual de PHP
 
งานนำเสนอ
งานนำเสนองานนำเสนอ
งานนำเสนอ
 
Un camino hacia la recuperacion
Un camino hacia la recuperacionUn camino hacia la recuperacion
Un camino hacia la recuperacion
 
Redes Sociales aplicadas al pequeño comercio
Redes Sociales aplicadas al pequeño comercioRedes Sociales aplicadas al pequeño comercio
Redes Sociales aplicadas al pequeño comercio
 
Req 381
Req 381Req 381
Req 381
 

Similar to Язык ДРАКОН: вводный курс, часть 2

Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0akrakovetsky
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1Michael Karpov
 
«функция вывода сообщений на экран Msg box.»
«функция вывода сообщений на экран Msg box.»«функция вывода сообщений на экран Msg box.»
«функция вывода сообщений на экран Msg box.»metodkopilka
 
Plugin for plugin, or extending android new build system
Plugin for plugin, or extending android new build systemPlugin for plugin, or extending android new build system
Plugin for plugin, or extending android new build systemAnton Rutkevich
 
Павел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаПавел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаSergey Platonov
 
Continuous Deployment (in Russian)
Continuous Deployment  (in Russian)Continuous Deployment  (in Russian)
Continuous Deployment (in Russian)Smartling
 
Parallelism в .net 4 и vs2010
Parallelism в .net 4 и vs2010Parallelism в .net 4 и vs2010
Parallelism в .net 4 и vs2010Roman Kalita
 
Опыт использования Erlang в разработке многопользовательской игры
Опыт использования Erlang в разработке многопользовательской игрыОпыт использования Erlang в разработке многопользовательской игры
Опыт использования Erlang в разработке многопользовательской игрыYuri Zhloba
 
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.IT Share
 
Test
TestTest
Testorgil
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй этоRoman Dvornov
 
Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...SQALab
 
Григорий Демченко — Асинхронное программирование и сопрограммы
Григорий Демченко — Асинхронное программирование и сопрограммыГригорий Демченко — Асинхронное программирование и сопрограммы
Григорий Демченко — Асинхронное программирование и сопрограммыYandex
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 27bits
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичковOvadiah Myrgorod
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CAlexey Lustin
 
Алексей Аникутин
Алексей АникутинАлексей Аникутин
Алексей АникутинDevGAMM Conference
 
Continuous deployment Smartling event
Continuous deployment Smartling eventContinuous deployment Smartling event
Continuous deployment Smartling eventViktoriya Pridatko
 

Similar to Язык ДРАКОН: вводный курс, часть 2 (20)

Load testing with Tsung
Load testing with TsungLoad testing with Tsung
Load testing with Tsung
 
Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1
 
«функция вывода сообщений на экран Msg box.»
«функция вывода сообщений на экран Msg box.»«функция вывода сообщений на экран Msg box.»
«функция вывода сообщений на экран Msg box.»
 
Plugin for plugin, or extending android new build system
Plugin for plugin, or extending android new build systemPlugin for plugin, or extending android new build system
Plugin for plugin, or extending android new build system
 
Павел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаПавел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладка
 
Continuous Deployment (in Russian)
Continuous Deployment  (in Russian)Continuous Deployment  (in Russian)
Continuous Deployment (in Russian)
 
Parallelism в .net 4 и vs2010
Parallelism в .net 4 и vs2010Parallelism в .net 4 и vs2010
Parallelism в .net 4 и vs2010
 
JavaDay'14
JavaDay'14JavaDay'14
JavaDay'14
 
Опыт использования Erlang в разработке многопользовательской игры
Опыт использования Erlang в разработке многопользовательской игрыОпыт использования Erlang в разработке многопользовательской игры
Опыт использования Erlang в разработке многопользовательской игры
 
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.
 
Test
TestTest
Test
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй это
 
Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...
 
Григорий Демченко — Асинхронное программирование и сопрограммы
Григорий Демченко — Асинхронное программирование и сопрограммыГригорий Демченко — Асинхронное программирование и сопрограммы
Григорий Демченко — Асинхронное программирование и сопрограммы
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичков
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
 
Алексей Аникутин
Алексей АникутинАлексей Аникутин
Алексей Аникутин
 
Continuous deployment Smartling event
Continuous deployment Smartling eventContinuous deployment Smartling event
Continuous deployment Smartling event
 

Язык ДРАКОН: вводный курс, часть 2