УНИВЕРСИТЕТ ИТМО
Кафедра «Технологии программирования»



Главная

Новости
 Новости науки
 Важное
 Почетные доктора
 Инновации
 Культура
 Люди
 Разное
 Скартел-Yota
 Стрим
 Смольный
Учебный процесс
 Образование
 Дипломы
 Курсовые проекты
 Лабораторные работы
 Учебные курсы
 Визуализаторы
 Unimod-проекты
 Семинары
 Стипендии
Наука
 События и факты
 Госконтракты
 Статьи
 Диссертации
 Книги
 Презентации
 Свидетельства
 Сотрудничество
Исследования
 Автоматы
 Верификация
 Биоинформатика
 Искусственный интеллект
 Генетические алгоритмы
 Движение
 UniMod
 Роботы и агенты
 Нейронные сети
 ФЦП ИТМО-Аалто
 Разное

О нас
 Премии
 Сертификаты и дипломы
 Соревнования по программированию
 Прорыв
 Автографы
 Рецензии

Беллетристика
 Мотивация
 Мысли
Медиа
 Видео
 Фотографии
 Аудио
 Интервью

English
 Home

 Articles
 Posters
 Automata-Based Programming
 Initiatives
 Projects
 Presentations
 UniMod
 UniMod Projects
 Visualizers


Поиск по сайту

Яndex



   Главная / Статьи / SWITCH-технология — автоматный подход к созданию программного обеспечения «реактивных» систем (версия для печати)


SWITCH-технология — автоматный подход к созданию программного обеспечения «реактивных» систем



[ << | 1 | 2 | 3 | 4 | Литература | Приложение 1 | Приложение 2 | Приложение 3 | >> ]

4. Заключение

Уверенность авторов в целесообразности применения предлагаемого подхода базируется, в частности, на том, что еще в 1966 году Э.Дейкстра предложил в [17] ввести так называемые переменные состояния, с помощью которых можно описывать состояния системы в любой момент времени, и использовал для этих целей целочисленные переменные. При этом им был поставлен вопрос о том, какие состояния должны вводится, как много значений должны иметь переменные состояния и что эти значения должны означать? Он предложил сначала определять набор подходящих состояний, а лишь затем строить программу. Он также предложил сопоставлять процессы с переменными состояния и связывать процессы через эти переменные. По мнению Э.Дейкстры, диаграммы состояний могут оказаться мощным средством для проверки программ. Все это обеспечивает поддержку его идеи, состоящей в том, что программы должны быть с самого начала составлены правильно, а не отлаживаться до тех пор, пока они не станут правильными.

Другой классик разработки программного обеспечения, Ф.Брукс отметил, что "сложность служит причиной трудности перечисления, а тем более понимания всех возможных состояний программы, а отсюда возникает ее ненадежность. Сложность служит также источником невизуализируемых состояний, в которых нарушается система защит" [12].

Предлагаемая технология основана на априорном задании состояний и их визуализации, и поэтому авторы надеются, учитывая мнение о работе [1], высказанное в [18], что она по крайней мере для систем логического управления и "реактивных" систем является приближением к "серебряной пуле" [12] в части создания качественных программ, тем более, что Ф.Брукс отозвался благосклонно только о подходе Д.Харела [3,4], также основанном на применении автоматов, преимущество по сравнению с которым показано в [19].

Целесообразность применения автоматного подхода подтверждается также и тем, что создатель операционной системы UNIX К.Томпсон на вопрос о текущей работе ответил: "Мы создали язык генерации машин с конечным числом состояний, так как реальный селекторный телефонный разговор - это группа взаимодействующих машин с конечным числом состояний. Этот язык применяется в "Bell Labs" по прямому назначению - для создания указанных машин, а вдобавок с его помощью стали разрабатывать драйверы" [20].

Использование предлагаемой технологии подтверждает также следующее высказывание: "то, что не специфицировано формально, не может быть проверено, а то, что не может быть проверено, не может быть безошибочным" [21].

Применение в предлагаемой парадигме понятия "автомат" в качестве центрального, соответствует его месту в теории управления, что принципиально отличает данный подход от других парадигм программирования.


[ << | 1 | 2 | 3 | 4 | Литература | Приложение 1 | Приложение 2 | Приложение 3 | >> ]



© 2002—2024 По техническим вопросам сайта: alexvatyan@gmail.com