Разработка технологии автоматного программирования

Номер гранта:02-07-90114
Область научного знания:создание и развитие ивтр для фундаментальных исследований
Тип конкурса: («в»)(«в») проекты создания и развития информационных, вычислительных и телекоммуникационных ресурсов
Год выполнения:2002г.
Руководитель: Шалыто А.А.
Статус заявки:поддержана

Аннотация к заявке:

Существуют различные парадигмы программирования, например процедурное программирование, объектно- ориентированное программирование, событийное программирование. В 1991 г. в СССР дтн, проф. Шалыто А.А. (руководитель настоящего проекта) предложил и по настоящее время разрабатывает в России новую парадигму программирования, названную им "автоматное программирование". Если в в программировании в последнее время все шире используется понятие "событие", то предлагаемая парадигма базируется на понятии "состояние". Добавляя к этому понятию понятие "входное воздействие", которое может быть входной переменной или событием, вводится понятие "автомат без выхода". Добавляя к этому понятию понятие "выходное воздействие", которое может быть действием или деятельностью, вводится понятие "автомат". При этом область программирования, базирующаяся на этом понятии, может быть названа "автоматное программирование", а процесс создания таких программ - "автоматное проектирование программ". В 1996 г. РФФИ в рамках издательского проекта N 96-01- 14066 поддержало издание монографии Шалыто А.А. SWITCH- технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука. 628 с., в которой предлагаемая парадигма была изложена применительно к системам логического управления, в которых события отсутствуют, выходные воздействия являются двоичными переменными, а операционная система работает в режиме сканирования. В настоящей работе на базе парадигмы автоматного программирования будет разработана технология создания программного обеспечения для других классов систем, в которых отсутствуют указанные выше ограничения, и, в первую очередь, таких как событийные системы, называем ые также "реактивными" системами. В работе будет также показано как использовать эту технологию при распознавании цепочек символов, задаваемых различными грамматиками, без изменения, как это делается традиционно, применяемых моделей, при структурировании вычислительных алгоритмов, при объектно-ориентированном программировании и т.д. Работа относится к научной дисциплине "Технологии и инструментальные средства открытых систем" и является информационным ресурсом для проведения фундаментальных исследований по научной дисциплине "Теория программирования".

Аннотация к отчету по результатам реализации проекта:

За отчетный период с января по декабрь 2002 г. разработана технология автоматного программирования для систем, реагирующих на события - событийных или "реактивных" систем. Эта технология, являющаяся процедурной, поддерживает для рассматриваемого класса систем все этапы создания программного обеспечения, к которым относятся: изучение предметной области, проектирование, реализация, отладка, сертификация и документирование. Расширено по отношению к системам логического управления понятие "входное воздействие" за счет использования "событий", которые в отличие от "входных переменных", не опрашиваются программой, а вызывают соответствующие им обработчики. Расширено также понятие "выходное воздействие" за счет перехода от двоичных переменных к произвольным подпрограммам (функциям). Дополнена нотация, применяемая при построении графов переходов, например, за счет перечисления вложенных автоматов. При использовании предлагаемой технологии все ее этапы связаны с применением только автоматной терминологии, а для описания динамики используется модель только одного типа - система взаимосвязанных графов переходов. Использование графов переходов в качестве языка спецификации делает обозримым даже весьма сложное поведение программы и позволяет легко вносить изменения как в спецификацию, так и в ее реализацию. Разработан универсальный алгоритм программной реализации иерархии графов переходов для произвольного их количества и произвольного уровня вложенности. Каждый граф переходов формально и изоморфно реализуется по шаблону в виде подпрограммы на выбранном языке программирования. Автоматическое ведение протокола в терминах спецификации (автоматов) обеспечивает возможность сертификации программы. Для сертификации в терминах, понятных Заказчику, могут применяться "короткие" протоколы, в которых указываются то лько формируемые выходные воздействия. Подробное документирование проекта создания программного обеспечения упрощает внесение изменений в него даже через длительный срок после выпуска, в том числе и специалистами, не участвовавшими в проектировании. Выполнена апробация предлагаемой технологии на примере разработки программного обеспечения понятийного тренажера для обучения операторов, управляющих судовым дизель-генератором. Документация по этому проекту представлена на сайте http://is.ifmo.ru в разделе "Проекты".
Аннотации к заявке и отчету приведены в авторской редакции. по состоянию на 11.12.2018.
Помог ли вам материал?
0    0