К.т.н.Жарковский А.В.,
к.т.н Лямкин А.А., к.т.н Микуленко Н.П.,
к.т.н Тревгода Т.Ф.
Санкт-Петербургский государственный электротехнический
университет
«ЛЭТИ»
Модель
(точнее, алгоритмическая модель) процесса функционирования сложной технической системы
или ее компонента, в отличие от вычислительного алгоритма, предполагает
многократное воспроизведение во времени одной и той же последовательности действий
(одного и того же алгоритма) при меняющихся исходных данных.
Широко
распространенное представление алгоритмов в виде блок-схем получается хоть и
наглядным, но подчас труднообозримым, а допустимость вербальных формулировок и отсутствие способа управления уровнем детализации
блок-схем делает переход от алгоритма к программе затруднительным и
неоднозначным. Более удобной формой представления алгоритмов являются структурограммы
(схемы Нэсси–Шнайдермана). По компактности (обозримости) и формализованности
записи они в целом превосходят
блок-схемное представление (запись) алгоритмов, не уступая ему в наглядности, и
могут использоваться для описания моделей функционирования систем.
Однако,
компактному и наглядному представлению моделей в виде структурограмм подчас мешают
отсутствие в них символов обращения к другим алгоритмам и передачи управления
при окончании выполнения данного алгоритма, запись в каждом блоке только одного
действия или одного условия, использование
служебных слов из подмножества английского языка и т.п. Это препятствует
широкому использованию структурограмм для представления моделей
функционирования систем и их компонентов.
В
общем случае алгоритм функционирования или алгоритмическую модель (A.Х) любого объекта Х, можно рассматривать как "черный ящик", совершающий
преобразование входной информации в выходную на основе типа объекта:
A.X = F.XU
F.XI,
где F.XU и F.XI – формуляры обмена, содержащие соответственно входную и выходную информацию, а T.X – тип объекта (система, ее компонент или алгоритм). Для их описания используется объектно-признаковый язык как некий метаязык, являющийся промежуточным между вербальным языком и языками программирования высокого уровня.
Предлагается,
формуляр F.XU и тип объекта T.X, работа которого моделируется, записывать во входные
данные структурограммы, а формуляр F.XU
– в выходные. Обычно признаки объекта T.X неизменны и задаются однократно вручную, а
информация, содержащаяся во входном формуляре (признаки F.XU), является переменной
и всегда поступает от некоторого внешнего объекта (устройства, алгоритма). Для
обозначения отношений между признаками в вычислительном процессе используются
стандартные математические функции без каких-либо ограничений. Запись промежуточной
или выходной информации может производиться
в любом месте тела алгоритма с использованием оператора присвоения (:=).
Вводится три графических символа. Так, для
организации циклов предлагается использовать символ «до тех пор, пока не
выполнится условие» (→│), для передачи управления внутри алгоритма
или к внешнему алгоритму – символ «перейти» (→), для выхода из алгоритма
– символ «переход в точку возврата» (│←). Последний символ служит
для передачи управления в ту точку более сложного алгоритма, из которой
производится обращение к данному алгоритму (его запуск). Это и позволят моделировать процесс путем многократного
воспроизведения алгоритма.
Улучшенная таким образом форма структурограмм на основе объектно-признакового языка позволяет представлять модели функционирования сложных технических систем и их компонентов в более компактном виде и сделать их инвариантными к используемым языкам программирования, что открывает возможность формирования и поддержания библиотек моделей (алгоритмов), записанных строго формально.