К.т.н.Жарковский А.В., к.т.н Лямкин А.А., к.т.н Микуленко Н.П.,

к.т.н Тревгода Т.Ф.

Санкт-Петербургский государственный электротехнический

 университет «ЛЭТИ»

СТРУКТУРОГРАММЫ МОДЕЛЕЙ ФУНКЦИОНИРОВАНИЯ СИСТЕМ

Модель (точнее, алгоритмическая модель) процесса функционирования сложной технической системы или ее компонента, в отличие от вычислительного алгоритма, предполагает многократное воспроизведение во времени одной и той же последовательности действий (одного и того же алгоритма) при меняющихся исходных данных.

Широко распространенное представление алгоритмов в виде блок-схем получается хоть и наглядным, но подчас труднообозримым, а допустимость вербальных формулировок и отсутствие способа управления уровнем детализации блок-схем делает переход от алгоритма к программе затруднительным и неоднозначным. Более удобной формой представления алгоритмов являются структурограммы (схемы Нэсси–Шнайдермана). По компактности (обозримости) и формализованности записи они в целом  превосходят блок-схемное представление (запись) алгоритмов, не уступая ему в наглядности, и могут использоваться для описания моделей функционирования систем.

Однако, компактному и наглядному представлению моделей в виде структурограмм подчас мешают отсутствие в них символов обращения к другим алгоритмам и передачи управления при окончании выполнения данного алгоритма, запись в каждом блоке только одного действия или одного условия, использование служебных слов из подмножества английского языка и т.п. Это препятствует широкому использованию структурограмм для представления моделей функционирования систем и их компонентов.

В общем случае алгоритм функционирования или алгоритмическую модель (A.Х) любого объекта Х, можно рассматривать как "черный ящик", совершающий преобразование входной информации в выходную на основе типа объекта:

A.X = F.XU  F.XI, 

где F.XU  и F.XI – формуляры обмена, содержащие соответственно входную и выходную информацию, а T.X – тип объекта (система, ее компонент или алгоритм). Для их описания используется объектно-признаковый язык как некий метаязык, являющийся промежуточным между вербальным языком и языками программирования высокого уровня.

Предлагается, формуляр F.XU и тип объекта T.X, работа которого моделируется, записывать во входные данные структурограммы, а формуляр F.XU – в выходные. Обычно признаки объекта T.X  неизменны и задаются однократно вручную, а информация, содержащаяся во входном формуляре (признаки F.XU),  является переменной и всегда поступает от некоторого внешнего объекта (устройства, алгоритма). Для обозначения отношений между признаками в вычислительном процессе используются стандартные математические функции без каких-либо ограничений. Запись промежуточной или выходной информации  может производиться в любом месте тела алгоритма с использованием оператора присвоения (:=).

Вводится три графических символа. Так, для организации циклов предлагается использовать символ «до тех пор, пока не выполнится условие» (→│), для передачи управления внутри алгоритма или к внешнему алгоритму – символ «перейти» (→), для выхода из алгоритма – символ «переход в точку возврата» (│←). Последний символ служит для передачи управления в ту точку более сложного алгоритма, из которой производится обращение к данному алгоритму (его запуск).  Это и позволят моделировать процесс путем многократного воспроизведения алгоритма.

Улучшенная таким образом форма структурограмм на основе объектно-признакового языка позволяет представлять модели функционирования сложных технических систем и их компонентов в более компактном виде и сделать их инвариантными к используемым языкам программирования, что открывает возможность формирования и поддержания библиотек моделей (алгоритмов), записанных строго формально.