Текст
                    МОДЕЛИРОВАНИЕ
СИСТЕМ СБОРА
И ОБРАБОТКИ ДАННЫХ
Lk 1: Procipm
* ПРОЦЕДУРА ФОРМИРОВАНИЯ данных при РАБОТЕ СИСТЕМЫ брод в	*/
* ДЕЖУРНОМ РЕЖИМЕ.	*/
OCL Р Р О I NT С R i
О СL ST1ME RE TURNS(8 I N FIХЕО(3 1 >);
DCL VWA1T RETURNS(BIN FIXED(3 1))
ENTRY(BIN FIXE0*31) iPIN PIXED( 15)»BIN FIXEO(15),PO1 NTER) >
OCL SXM ЭIT(32) ALIGNED EXT*
OCL отIME В I т ( 3 1 ) ;
DCL TIME 8LTU4) \
DCL TR В I T(6) }
DCL TYPR CHARU ) EXT ;
DCL CONFDAT BITU6) ARCHED EXT*,
DCL fllNFOR В 1 T < 1112 > Var ALIGNED EXT;
DCL LPAS В 1T С 16) ;
DCL IPAS BIN F1XEO(51)}.
DCL MPAS B1T(31);
DCL PAS BiT(64) j
DCL ODF В IT 11192.) VARi
DCL OTIHE BIN FIXED (3 1) EXT>
DTINE =ST1MEу
/***#************ ******* »♦*♦*/»** A****/
/* формирование кадра типа rdf	*/
/**********************************чш/
TIME^SUBSTRIDTIME^B)t
TQ = UNSPEC ITYPQ) }
QOFsftlNFORI!CONFOaT»ITIME!ITU!)
/♦♦«****«***#****************«****#**/
/♦ запись кадра rdf в буфер	*/
/*********************************♦**/
CALL HELP(RDF);
/А***»******************»******»*****/
ИЗДАТЕЛЬСТВО «НАУКА»


АКАДЕМИЯ НАУК СССР ИНСТИТУТ КОСМИЧЕСКИХ ИССЛЕДОВАНИИ МОДЕЛИРОВАНИЕ СИСТЕМ СБОРА И ОБРАБОТКИ ДАННЫХ ИЗДАТЕЛЬСТВО «НАУКА» МОСКВА 1983
УДК 621.391 : 629.7 Моделирование систем сбора и обработки данных/ В. И. Мановиц- кий, Ю. А. Семишин, В. Е. Дризо, В. П. Евдокимов, Ф. Ф. Михай- лус. М.: Наука, 1983. Рассматриваются приложения методов имитационного моделиро¬ вания к исследованию систем сбора и обработки научной теле* метрической информации. Приведено описание пакета прикладных программ ДИСМ для моделирования систем с дискретными событиями, основанной на нем диалоговой системы моделирования, средств моделирования систем массового обслуживания АСИМ. Рассмотрены примеры построения конкретных моделей, исполь¬ зующие описанные средства моделирования. Для научных и инженерно-технических работников. Ответственный редактор доктор физико-математических наук В. Г. ЗОЛОТУХИН МОДЕЛИРОВАНИЕ СИСТЕМ СБОРА И ОБРАБОТКИ ДАННЫХ Утверждено к печати Институтом космических исследований Редактор издательства Ю. А. Юдина. Художник Н. Н. Якубовская Художественный редактор Н. Н. Власик. Технический редактор Т. С. Жарикова: Корректоры М. В. Борткова, Т. С. Козлова ИБ № 27571 Сдано в набор 04.01.83. Подписано к печати 21.03.83. Т-02758. Формат 60Х90'/г*. Бумага для глубокой печати. Гарнитура литературная. Печать высокая. Уел. печ. л. 8. Уел. кр.-отт. 8,25. Уч.-изд. л. 8,6. Тираж 2650 экз. Тип. зак. 441 К Цена 85 коп. Издательство «Наука», 117864 ГСП-7, Москва, В-485, Профсоюзная ул., 90 2-я типография издательства «Наука», 121099, Москва, Г-99, Шубинский пер., Ю М 1502000000497^20.33_п © Издательство «Наука», 1983 г, 042(02)-83
ВВЕДЕНИЕ В последнее время имитационное моделирование на ЭВМ стало распространенным средством исследования информацион¬ ных систем. Литература по моделированию имеет в основном дело с его приложениями для исследования систем массового обслуживания. В то же время далеко не все задачи, возникаю¬ щие при проектировании и исследовании информационных сис¬ тем научного космического эксперимента, могут быть сведены к подобным системам. Сфера применения моделирования и тре¬ бования к свойствам систем моделирования в приложении к кос¬ мическим информационным системам могут быть существенно расширены. В монографии сделана попытка рассмотреть специфику при¬ менения моделирования для исследования систем сбора и обра¬ ботки научных телеметрических данных, описаны разработан¬ ные для этой цели универсальные и специализированные сред¬ ства моделирования систем с дискретными событиями. Авторы не ставили своей задачей рассмотреть подробно все характерные особенности рабочих моделей и правила их пост¬ роения в предлагаемых вниманию читателя системах моделиро¬ вания. Материалы монографии предназначены для ознакомления со средствами и методами дискретного моделирования, которые разработаны и применяются в Институте космических исследо¬ ваний АН СССР для исследования бортовых и наземных кос¬ мических информационных систем, для иллюстрации направле¬ ний развития этих систем, расширяющих возможности пользо¬ вателей. Монография состоит из семи глав и трех приложений. Первая глава посвящена описанию области применения ими¬ тационного моделирования в процессе проектирования информа¬ ционных систем научного космического эксперимента. Рассмот¬ рена структура информационной системы, даны описание и ха¬ рактеристики потоков данных и управляющих воздействий меж¬ ду ее частями. Показано, что единственным универсальным средством исследования в рассматриваемом случае является имитационное моделирование. Приведены примеры задач, ре¬ шение которых может быть получено с помощью моделирова- 3
ния. Рассмотрены основные характеристики средств автомати¬ зации построения имитационных моделей, подробно описанных в последующих главах. Во второй главе описывается пакет прикладных программ ДИСМ, который содержит набор процедур языка ПЛ/1, реали¬ зующих такие типовые операции машинной имитации, как раз¬ витие модели во времени, генерация псевдослучайных чисел и статистическая обработка результатов эксперимента. В сово¬ купности с языковыми средствами самого ПЛ/1 пакет составля¬ ет систему моделирования дискретных процессов. Сама модель представляется в виде отдельных процедур на языке ПЛ/1, в ко¬ торых пользователь обращается к необходимым модулям паке¬ та. Рассматривается схема описания динамики системы, приво¬ дятся структура моделирующей программы и средства пакета. При описании последних основное внимание уделено назначе¬ нию процедур, а не их формальному представлению. Поэтому в тексте опущены объявления параметров и возвращаемых значе¬ ний. Иллюстрация основных положений проводится на примере модели устройства согласования с предварительным накоплени¬ ем сообщений. Поскольку ряд задач по исследованию систем сбора и обра¬ ботки данных сводится к исследованию систем массового обслу¬ живания, в монографии рассмотрены результаты разработки метода автоматизации моделирования широкого класса систем массового обслуживания, рассчитанного на применение пользо- вателем-инженером. Целью этой разработки являлось избавле¬ ние пользователя от рутинных этапов технологии программиро¬ вания, отладки, сбора, обработки и выдачи результатов модели¬ рования, требующих привлечения для их решения высококвали¬ фицированных программистов. Конструкциями языка для моде¬ лирования систем массового обслуживания являются описатель¬ ные термины, хорошо знакомые специалисту в соответствующей области. Четвертая глава посвящена диалоговому режиму проведе¬ ния машинных экспериментов и программным средствам его реализации, приемам повышения эффективности процесса мо¬ делирования. Введение диалога в число инструментов исследова¬ ния модели позволяет использовать гибкий и быстрореагирующий разум исследователя для изменения в процессе моделирования параметров модели, целенаправленного поиска оптимального, с точки зрения исследователя, решения за счет сосредоточения уси¬ лий на интересных для него вариантах. Особенно ценным диало¬ говый режим является в тех моделях, при исследовании кото¬ рых важное значение имеет не только интегральная оценка в конце моделирования, но и данные о промежуточных состояниях модели. Широкое внедрение метода имитационного моделирования в практику пооектирования и исследования сложных систем 4
обусловливает актуальность проблем повышения эффективности и качества этого метода, что в данном случае означает обеспе¬ чение получения результатов моделирования с требуемой точ¬ ностью и достоверностью при минимальных затратах груда ис¬ следователя и времени работы ЭВМ. В связи с принципиаль¬ ной неустранимостыо статистической погрешности, присущей методу имитации, вопрос уменьшения данной погрешности бу¬ дет актуален всегда, независимо от повышения быстродействия ЭВМ. Растущие потребности практики требуют в то же время создания все более сложных и адекватных моделей, нередко превышающих возможности самых мощных ЭВМ. Таким обра¬ зом, создание средств, повышающих эффективность машинной имитации, является важным направлением в разработке мате¬ матического обеспечения имитационного моделирования слож¬ ных систем. Этим вопросам посвящена пятая глава моногра¬ фии. Шестая глава содержит описание практических примеров имитационных моделей систем сбора и обработки данных. Выб¬ раны три модели, построенные с использованием описанных в предыдущих главах систем моделирования и реализующие раз¬ личные аспекты задачи информационной подготовки научных космических экспериментов. Подробно разобрана структура модели, описывающей функционирование бортовой вычисли¬ тельной системы, которая обеспечивает сбор данных и управле¬ ние режимами измерений с помощью обработки ряда измеряе¬ мых параметров. Выходным результатом является модель пото¬ ка данных сложной структуры, предназначенная для использо¬ вания в процессе отладки наземного математического обеспече¬ ния обработки данных научного эксперимента. Второй пример моделирования относится к исследованию статистических ха¬ рактеристик функционирования системы, состоящей из управля¬ емого коммутатора и связанного с ним вычислительного устрой¬ ства управления и обработки данных. Формулировка задачи в терминах теории массового обслуживания позволила применить описанный в третьей главе метод автоматизации имитационного моделирования. Для.иллюстрации применения диалоговой систе¬ мы моделирования использована модель устройства согласова¬ ния, построенная во второй главе другим способом. В седьмой главе рассматриваются некоторые вопросы сис¬ темного подхода к моделированию космического эксперимента. В порядке постановки проблемы выдвигается идея объединения средствами универсальных диалоговых информационно-логиче¬ ских систем машинных моделей систем сбора и обработки дан¬ ных и семиотических моделей базы знаний об исследуемых в эксперименте физических явлениях. В основу объединения пред¬ лагается положить формальные модели измерительных прибо¬ ров, классифицируемые по их структурным и функциональным свойствам. Рассматривается влияние характеристик классов 5
формальных моделей на структуру математического обеспече¬ ния. Приложения 1, 2 и 3 содержат листинги программ, описываю¬ щих модели, построенные в шестой главе. Работа'.над монографией распределялась следующим обра¬ зом: введение и глава 1 написаны В. П. Евдокимовым, глава 2— В. И. Мановицким, глава 3—Ю. А. Семишиным, глава 4— В. Е. Дризо, глава 5 — В. И. Мановицким и В. Е. Дризо, глава 6— В. Г1. Евдокимовым, В. И. Мановицким, Ю. А. Семишиным, В. Е. Дризо, глава 7—Ф. Ф. Михайлусом. Авторы выражают благодарность Г. И. Залесской, выполнив¬ шей программирование для главы 6, всем коллегам, совместная работа с которыми способствовала развитию и применению из¬ ложенных в монографии методов. Авторы будут благодарны за пожелания и замечания по рас¬ смотренным в монографии вопросам.
Глава первая ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ В ИССЛЕДОВАНИИ И ПРОЕКТИРОВАНИИ СИСТЕМ СБОРА И ОБРАБОТКИ ДАННЫХ 1.1. Научный космический эксперимент как большая информационная система Современные научные космические эксперименты приобрели в настоящее время характер больших проектов, планирование и подготовка которых проходят в течение довольно больших интервалов времени, исчисляемых несколькими годами серьез¬ ной и кропотливой работы групп специалистов различных нап¬ равлений. Большое число устанавливаемых на космических аппаратах (КА) научных приборов, очень часто объединенных общими научными целями исследований, привело к необходи¬ мости создания сложных по структуре, обладающих многим# возможностями бортовых систем сбора и обработки данных (ССОД), предназначенных для решения широкого круга задач целенаправленного сбора, обработки данных в реальном вре¬ мени, управления научными приборами и системами. Усложне¬ ние бортовых ССОД и возросшие объемы обрабатываемой на борту и передаваемой на Землю научной информации привели к соответствующему повышению требований к пропускной спо¬ собности, качеству каналов передачи данных космос — Земля, усложнению структуры и задач наземных комплексов приема; обработки и распределения полученной от научных КА инфор¬ мации. Резко повысились требования к скорости доступа к по¬ лучаемым в ходе космического эксперимента данным, так как в ряде случаев возможность активного вмешательства в процесс измерений на борту может резко повысить ценность результа¬ тов. Научный космический эксперимент приобрел черты «боль¬ шой» информационной системы, изучение поведения которой в целом, а также отдельных входящих в нее подсистем требует привлечения новых современных методов исследований. На рис. 1 изображена обобщенная схема «большой» инфор¬ мационной системы научного космического эксперимента [1]. Часть рисунка слева от пунктира относится в бортовой части системы и показывает два основных потока данных внутри бор¬ довой ССОД. Каждый научный прибор передает в ССОД поток данных произвольной и зависящей от характера проводимых измерений структуры. Потоки данных от приборов физически 7
&'/г/7а#лг?//&е 777A7/7//7^t/jU/77// lllll I <?X/7Ll/jm'//I7/7 /7// \ 2f77j727/V'rt7/&/S//
существуют раздельно, но условно можно считать, что они обра¬ зуют интегральный входной поток бортовой ССОД. В результа¬ те обработки интегрального потока формируется поток инфор¬ мационных управляющих воздействий от ССОД на научные приборы. Часть этого управляющего потока может генериро¬ ваться вне бортовой ССОД, но передается на научную аппара¬ туру с ее помощью. Космический эксперимент может проводиться не с одним, а с несколькими одновременно работающими КА, и поэтому бор¬ товая часть может содержать несколько параллельно работаю¬ щих бортовых ССОД, посылающих потоки научной информа¬ ции в центральную наземную ССОД. Связь бортовых ССОД с центральной наземной системой также осуществляется с помощью двух потоков данных: инфор¬ мационного— с борта КА на Землю и управляющего — с Земли на борт. Структура информационного выходного потока данных содержит, кроме научной информации, значительный объем слу¬ жебных данных, предназначенных для синхронизации, помехо¬ устойчивого кодирования, идентификации отдельных сообщений, привязки шкал бортового и наземного времени, отметок време¬ ни снятия данных, различия режимов работы аппаратуры и т.п. Структура потока может быть переменной, зависящей от харак¬ тера протекающих физических процессов и внутренних инфор¬ мационных процессов в системе. Управляющий поток данных с Земли предназначен как для управления режимами работы и составом бортовых научных приборов через бортовую ССОД, так и для управления самой бортовой ССОД: ее конфигурацией, составом и структурой входного информационного потока, ал¬ горитмами сбора и обработки данных. Интенсивность управляю¬ щих потоков данных намного меньше, чем интенсивности выход¬ ных информационных потоков, однако их роль чрезвычайно ве¬ лика, так как именно они определяют гибкость функций «боль¬ шой» системы. Наземная система сбора, обработки, распределения данных и управления также имеет сложную структуру. Она состоит из сети наземных измерительных пунктов связи с КА (НИИ), объ¬ единенных каналами передачи данных с Координационно-вычис¬ лительным центром. В зависимости от научных задач, необхо¬ димости управления и передачи данных для каждого КА орга¬ низуется своя подсистема в рамках наземной системы, пол¬ ностью обеспечивающая все задачи по работе с данным объек¬ том. В наземную систему поступают два основных входных по¬ тока данных: информация от КА с научными данными, инфор¬ мация по баллистическому обеспечению и расчетам ориентации КА и научных приборов совместно с информацией по регламен- Рис. 1. Информационно-измерительная система научного космического экспе¬ римента 9
Ту работы с КА, программами работы научной аппаратуры. В принципе система баллистического обеспечения может быть не внешней, а внутренней по отношению к наземной системе сбо¬ ра и обработки научных данных, что не меняет существа и ин¬ тенсивности соответствующего информационного потока. Интег¬ ральный выходной информационный поток наземной системы разделяется между потребителями, и каждый отдельный поток содержит как научную информацию, так и все сопутствующие данные, необходимые для однозначной привязки физических из¬ мерений к единому времени и точке космического пространства. Даже такое обобщенное описание состава полной системы сбора, обработки научной информации и управления совместно с основными информационными потоками показывает ее чрез¬ вычайную сложность. Дать полное описануе математическими методами процессов передачи и обмена информацией в системе, временных соотношений характеристик информационных пото¬ ков не представляется возможным. Рассматривая бортовую и наземную части системы, можно в каждой из них выделить отдельные подсистемы и устройства, определить их информационные и управляющие потоки. Каж¬ дая подсистема и устройство представляют собой в свою оче¬ редь достаточно сложные структуры, в которых происходят внутренние процессы формирования потоков и обмена инфор¬ мацией. Процесс углубления внутрь информационной структуры системы может быть достаточно длительным вплоть до отдель¬ ных функциональных микросхем и элементов. Подробность де¬ тализации и углубления в информационную структуру будет определяться поставленными перед проектировщиком системы задачами анализа ее характеристик и оптимизации заданных параметров. Лишь в отдельных частных случаях существует хорошо разработанный аналитический аппарат исследования информационных структур и процессов обмена информацией. Само собой разумеется, что изготовление ряда вариантов аппа¬ ратурной реализации устройств и систем и проведение с ними исследований их характеристик в реальных условиях практиче¬ ски невозможно. Аналитический аппарат часто труден. Единственной возможностью проведения исследований и экс¬ периментов с вариантами систем, обеспечивающей простоту по¬ становки и решения задач, «прозрачность» результатов, опреде¬ ление их взаимовлияния, является имитационное моделирование на универсальных ЭВМ. При овладении методами имитацион¬ ного моделирования возникает серьезное искушение, которое авторы считают вполне оправданным, использовать их для ре¬ шения многих практических задач на любом уровне детализа¬ ции структуры информационной системы научного космического эксперимента, хотя для некоторых из них и может существовать какая-либо область применения аналитических методов. Естественно желать, чтобы инструмент имитационного моде¬ лирования был достаточно универсален и обеспечивал простогу 10
доступа при исследовании типичных, часто встречающихся структур систем, давая в то же время возможности, пусть более сложные в освоении, исследования новых, нетипичных и даже уникальных структур систем сбора, передачи и обработки дан¬ ных и управления. В последующих главах изложены три вида инструмента моделирования, пригодные для широкого исполь¬ зования при исследовании и проектировании космических науч¬ ных информационных систем. Область их приложения, естест¬ венно, может быть более широкой, однако авторы не ставили себе задачи показать в данной книге все возможные примене¬ ния, что, конечно, и невыполнимо. 1.2. Задачи анализа бортовых и наземных информационных систем, решаемые с помощью моделирования - Проектирование бортовых, наземных и интегрированных си¬ стем сбора и обработки научной телеметрической информации проводится в несколько этапов, на каждом из которых характе¬ ристики различных вариантов реализации могут быть определе¬ ны с помощью имитационного моделирования. Существенным является то, что каждая построенная модель должна отражать те свойства моделируемой системы, которые имеют наибольший вес и влияние на исследуемые характеристики. Большое число реализованных в модели деталей поведения и структуры систе¬ мы, не оказывающих принципиального воздействия на необходи¬ мые расчетные характеристики, лишь загромождает модель и усложняет процесс моделирования. Искусство отбора сущест¬ венных на каждом данном этапе черт изучаемой системы при¬ ходит по мере приобретения опыта построения моделей. Рассмотрим ряд задач, возникающих при проектировании и исследовании бортовых и наземных информационных систем, решение которых может быть достаточно просто и наглядно по¬ лучено методами имитационного моделирования. Эти задачи могут быть условно подразделены на три основных класса: 1) статистические исследования поведения параметров си¬ стемы; 2) получение картины развития состояния системы, уст¬ ройств, их параметров во времени; 3) сравнение различных конфигураций системы по заданным критериям. При решении этих задач могут применяться два основных типа входных данных: модели входных информационных пото¬ ков, реальные данные. 'Модели потоков могут быть заданы либо с помощью реализованных на ЭВМ моделей непрерывных или цифровых сигналов, либо заданием статистических характери¬ стик импульсных потоков. Реальные данные также'могут исполь¬ зоваться в двух формах: либо- в форме сигналов, подобных вы¬ ходным сигналам научной аппаратуры (на основе опыта прош¬ 11
лых научных космических экспериментов), либо в форме стати¬ стических характеристик, вычисленных по этим сигналам. Задание непосредственно образцов реальных сигналов или моде¬ лей входных сигналов дает возможность рассматривать поведе¬ ние системы при их нестационарности. В этом случае, правда, имитационная модель должна предусматривать обработку вход¬ ных сигналов по алгоритмам, которые будут применяться в ре¬ альной системе. Знания только процессорного времени, затра¬ чиваемого на выполнение написанных по этим алгоритмам программ, для построения и исследования модели недостаточно. Средства имитационного моделирования должны в этом случае предусматривать возможность подключения к модели программ формирования входных процессов и программ их обработки. Значительная часть широко распространенных средств модели¬ рования такой возможности не предусматривает. Важность реа¬ лизации в системе моделирования этого свойства явилась одной из причин разработки и применения описанного в главе 2 пакета прикладных программ ДИСМ, предусматривающего совместную работу с мощным универсальным алгоритмическим языком ПЛ/1. На выходе имитационной модели могут рассматриваться так¬ же два основных вида результатов моделирования: статистиче¬ ские характеристики параметров модели и их временные функ¬ ции состояния. Естественно желание пользователя, чтобы система имитаци¬ онного моделирования обладала встроенными широкими воз¬ можностями как по генерации сигналов и потоков с различными статистическими характеристиками, так и по статистической об¬ работке результатов работы модели. В качестве первого примера решаемых задач рассмотрим постановку задачи планирования обмена информацией между звеньями исследуемой информационной системы. Для бортовых ССОД научного эксперимента характерна в основном работа в режиме запоминания собираемой информации в долговремен¬ ном запоминающем устройстве (ДЗУ) с последующей незави¬ симой от процесса сбора и обработки передачей ее на Землю. Этим научные параметры существенно отличаются от инженер¬ ных, описывающих состояние и поведение систем КА, обеспечи¬ вающих выполнение научного эксперимента. Инженерные дан¬ ные обычно собираются в режиме непосредственной передачи данных на Землю (режим реального времени). Для научных параметров, собираемых в ДЗУ, часто легче реализовать основ¬ ное требование к организации внутрисистемного процесса об¬ мена данными — отсутствие потерь информации, вызываемых внутрисистемными, не связанными с характером решаемых на¬ учных задач причинами, приводящими к конкуренции потоков данных. При решении указанной задачи планирования обычно рас¬ сматривается структура обмена и различные дисциплины обслу¬ живания потоков данных в устройствах и звеньях системы. 12
в том случае, когда для научной информации применяется ре¬ жим непосредственной передачи по синхронному каналу связи, задача планирования должна быть решена таким образом, что¬ бы с гарантированным качеством, наилучшим образом исполь1 зуя пропускную способность канала связи, передать нужную информацию. Следующим примером решаемых с помощью моделирования задач является расчет статистических характеристик различных параметров, характеризующих состояние и поведение системы. Планирование модельного эксперимента осуществляют обычно таким образом, чтобы статистические характеристики вычисля¬ лись с достоверностью, не ниже заданной. К статистическим ха¬ рактеристикам, получаемым в результате моделирования, отно¬ сятся среднее значение, дисперсия, закон распределения вероят¬ ностей исследуемых параметров системы. Во многих случаях исследуемыми параметрами являются загрузка звеньев систе¬ мы, длины очередей сообщений, времена нахождения сообщений в очереди на обслуживание и т. п. При заданной структуре ССОД знание статистических характеристик параметров систе¬ мы и входных информационных потоков позволяет обосновать численные значения ряда параметров, оценить возможности и резервы выбранных технических решений. Так, например, зна¬ ние статистики загрузки процессора бортового вычислителя и его технических возможностей позволяет поставить перед этим процессором задачу использования свободного времени для ре¬ шения каких-либо фоновых задач. Если средства моделирования предусматривают возможность подключения в качестве входных данных реальной телеметри¬ ческой информации либо позволяют задавать нестационарные входные режимы, то имитационная модель позволит решить важнейшую для практики задачу исследования поведения си¬ стемы в переходных режимах. Трудностью для исследователя в этом случае будет подбор и задание таких переходных режи¬ мов, которые смогут достаточно полно характеризовать пове¬ дение системы в реальных условиях работы на борту КА. Не¬ смотря на эту трудность, предоставляемая имитационным моде¬ лированием возможность исследования переходных режимов системы может дать уникальные результаты, получение кото¬ рых другими методами неосуществимо. Довольно большой круг задач по составлению и оптимиза¬ ции расписаний работы совокупности систем и устройств при наличии различного рода ограничений также может быть успеш¬ но решен с помощью имитационного моделирования. Ограниче¬ ния могут накладываться на один или несколько рабочих пара¬ метров системы или устройства, причем эти параметры должны относиться к числу оказывающих существенное влияние на про¬ цесс функционирования исследуемой системы. Примером по¬ добной задачи может быть планирование временной последова¬ тельности включений научных приборов, если ограничена сум¬ 13
марная потребляемая мощность от бортовой сети питания и за¬ дана фиксированная пропускная способность канала связи, по которому передаются измеряемые данные. Дополнительным ог¬ раничением является взаимная зависимость научной информа¬ ции от различных приборов, когда существует список предпоч¬ тительных последовательностей либо совмещений потоков дан¬ ных. В принципе задача может быть разбита на две независи¬ мые подзадачи. Первая из них — составление вариантов распи¬ саний, т. е. выдача исследователю множества (не обязательно полного) решений, удовлетворяющих заданным ограничениям. Решения могут выдаваться последовательно, по одному, а не обязательно в виде совокупности. Вторая задача — оптимизация решений по дополнительно задаваемым критериям — может ре¬ шаться и вне рамок используемой системы имитационного мо¬ делирования. Такое выделение второй -подзадачи оправданно, особенно тогда, когда применяются эвристические, трудно фор¬ мализуемые критерии выбора, часто относящиеся к физике ис¬ следуемых явлений. В этом случае задача оптимизации решает¬ ся совместно различными специалистами, среди которых важ¬ ную роль играют физики-экспериментаторы, планирующие на¬ учную задачу исследований рассматриваемого комплекса при¬ боров. Другой важной задачей применения имитационного модели¬ рования является формирование моделей информационных потоков сложной структуры на выходе бортовых систем сбора и обработки телеметрической информации. Информационная подготовка научных космических экспериментов включает в себя создание математического обеспечения обработки данных на наземных ЭВМ, которое должно функционировать как на эта¬ пах испытаний отдельных научных приборов, так и на этапах комплексных испытаний совокупности научных приборов с бор¬ товой информационно-измерительной системой [1]. Различные по величине и перестраиваемые частоты опроса измеряемых па¬ раметров, применение бортовой обработки данных, управление составом научных измерений, наличие разнородной служебной информации, варианты объединения и выбора информационных потоков приводят к сложной и меняющейся по времени струк¬ туре выходного потока данных бортовой ССОД. Единственным, кроме использования реального прототипа ССОД, способом по¬ лучения различных форм этого потока, обеспечивающим доку- ментируемость и повторяемость экспериментов для отладки раз¬ рабатываемой системы математического обеспечения наземной обработки, является имитационное моделирование как инфор¬ мационной структуры ССОД, так и создаваемого ею потока данных. С помощью системы имитационного моделирования в модель информационного потока могут быть включены различ¬ ного вида помехи, возникающие в процессе прохождения пото¬ ка по звеньям информационно-измерительной системы. Это дает 14
дополнительные возможности по созданию и отладке помехоза¬ щищенных программ наземной обработки данных. Перечисленные примеры задач по применению имитационно¬ го моделирования при проектировании и исследовании систем сбора и обработки научной телеметрической информации дале¬ ко не исчерпывают широкой области возможных приложений. Как уже упоминалось выше, вкус и привычка к использованию имитационного моделирования в качестве рабочего инструмента воспитываются и развиваются по мере расширения его примене¬ ния к решению практических и теоретических задач. Удобство этого рабочего инструмента, широта класса решаемых задач, легкость освоения, наглядность процесса моделирования и ре¬ зультатов— основные факторы, оказывающие решающее влия¬ ние на его распространение в практике. 1.3. Средства автоматизации построения имитационных моделей и проведения машинных экспериментов Специфика ССОД как объекта моделирования состоит в сложности структуры, характера функционирования составляю¬ щих элементов и взаимодействия между ними. Среди задач ис¬ следования ССОД наибольший удельный вес по количеству и важности занимают задачи проектирования, служащие прежде всего для выяснения эксплуатационных характеристик будущих систем. При этом лишь относительно малая часть возникающих проблем поддается аналитическому решению. Существующие аналитические методы оказываются полезными в небольшом диапазоне практических задач, причем и в этом случае требуют принятия значительных упрощений и огрублений математиче¬ ских моделей и накладываемых на них ограничений. Даже если исследуемую систему удается описать, например, как систему массового обслуживания, то получаемая модель СМО обычно оказывается недоступной для аналитического решения. На прак¬ тике характерна ситуация, когда постановка задачи исследова¬ ния ССОД делается на ранних этапах проектирования послед¬ ней и, естественно, на последующих стадиях подлежит модифи¬ кации и корректировке. В то же время требуется получить от такой модели максимум информации с достаточной точностью, чтобы исследовать поведение множества вариантов модели на еще большем множестве параметров. В таких моделях могут изменяться их структура, количество и характеристики элемен¬ тов ССОД (буферов, обрабатывающих устройств, селекторов и т. д.), законы распределения в различных случайных потоках. Такое «предварительное» моделирование позволяет выбрать оптимальное направление проектирования и сократить его сро¬ ки. На каждом этапе проектирования требуются все более точ¬ ные модели, дающие все более точные результаты в более узких Диапазонах изменения параметров. В таком процессе исследо¬ 15
вания даже простые модификации системы могут повлечь за со» бой значительные изменения аналитической модели, а в ряде случаев привести к невозможности дальнейшего использования этого подхода. Метод имитационного моделирования является тем инструментом, применение которого наиболее эффективно как раз в ситуациях, когда аналитические средства не приводят к желаемым результатам, так как алгоритмически могут быть описаны такие системы, которые из-за их сложности и громозд¬ кости не допускают аналитического описания. Машинная имитация, равно как и теория автоматов, мате¬ матические методы исследования операций, теория .графов, тео¬ рия систем массового обслуживания и другие, имеет дело с не¬ которыми формальными схемами, посредством которых пред¬ ставляется изучаемый процесс. В теории моделирования мно¬ жество сложных систем разделяется на два крупных класса: непрерывные и дискретные системы. Естественно, что такое ус¬ ловное деление на два крайних класса не охватывает многих систем, имеющих двойственную природу, т. е. совмещающих в себе как дискретные, так и непрерывные процессы. Характер¬ ной особенностью ССОД является дискретный характер их функционирования. Возможность и удобство представления протекающих в ССОД процессов в виде последовательности дискретных смен их состояния определили круг рассматривае¬ мых далее систем системами с дискретными событиями. Под системой с дискретными событиями понимается такая, состояние которой изменяется в некоторые дискретные моменты времени. Всякое мгновенное изменение состояния системы на¬ зывается событием. Подобное представление функционирования системы позволяет описывать множества реальных процессов, протекающих в реальной действительности. В частности, в каче¬ стве примера систем, легко интерпретируемых в виде систем с дискретными событиями, можно отметить модели теории массо¬ вого обслуживания, которые нашли широкое распространение при проектировании ССОД. Часто посредством систем с диск¬ ретными событиями достаточно точно могут быть аппроксими¬ рованы непрерывные процессы. При таком подходе процесс функционирования системы представляется в виде последова¬ тельности событий, между которыми устанавливаются причинно- следственные связи. Наступление событий вызывает соответст¬ вующую реакцию, при которой происходит изменение значений параметров системы. Использование имитационного моделирования при проекти¬ ровании ССОД, необходимость разработки моделей, отличаю¬ щихся как по уровню детализации, так и по формулируемым целям исследования, большая разновидность типов моделей требуют решения достаточно сложной задачи, связанной с соз¬ данием эффективного и работоспособного аппарата построения моделей и проведения машинных экспериментов с ними. Здесь целесообразно отметить большую трудоемкость процесса ими¬ 16
тационного моделирования, особенно в части непосредственной программной реализации. Как отмечается в [2], многие хорошо спланированные эксперименты не удалось осуществить именно из-за трудностей программирования. Поэтому наличие в распо¬ ряжении исследователей развитых и гибких специальных средств математического обеспечения (МО) моделирования во многом определяет широту и эффективность применения этого метода. В настоящее время можно привести много примеров исполь¬ зования при создании моделей сложных объектов как универ¬ сальных языков высокого уровня, так и специализированных систем моделирования [3—6]. По существу, любая имитацион¬ ная модель может быть разработана на одном из универсаль¬ ных языков программирования, например ПЛ/1, ФОРТРАН и др. Мы не будем касаться вопроса обоснования целесообраз¬ ности применения для нужд имитации специализированных средств, так как этому аспекту уделено достаточно внимания в ряде работ, в частности [2, 7]. Отметим, лишь, что наиболее существенные преимущества языков моделирования по сравне¬ нию с универсальными — это удобство в программировании и их концептуальная направленность. Последний фактор оказывает существенное влияние на выбор общего подхода к изучению си¬ стемы. Учитывая специфику задач, решаемых при помощи ими¬ тационных моделей ССОД, при создании и организации комп¬ лекса специальных средств МО ставились следующие цели: обеспечить работу всего комплекса в рамках единой опера¬ ционной системы ОС ЕС; автоматизировать процесс непосредственного описания ими¬ тационных моделей, т. е. предоставить исследователю специаль¬ ный инструмент построения имитационных программ с учетом требований, которые предъявляются к моделям ССОД. Решение этой проблемы предполагает два направления: во-первых, соз¬ дание средства моделирования универсального характера с ши¬ рокими возможностями описания моделей ССОД, стыковки разрабатываемых моделей с другими программами обработки информации, а также допускающего пополнение и развитие дан¬ ного МО необходимыми компонентами по усмотрению пользова¬ теля; во-вторых, обеспечение проектировщика аппаратом пост¬ роения имитационных моделей, который за счет сужения пред¬ метной области применения был бы ориентирован на лиц, не являющихся специалистами в области программирования, при¬ чем выбранная предметная область этой системы должна охва¬ тывать широкий круг задач проектирования ССОД. Такая орга¬ низация МО предназначается для повышения эффективности процесса построения моделей как за счет применения обеих си¬ стем моделирования независимо друг от друга, так и в комплек¬ се, когда на начальных этапах необходимо проведение много¬ кратных предварительных испытаний поведения проектируемой системы, что выполняется узкоспециализированными средства¬ 17'
ми, с дальнейшим построением более сложной и детальной моде¬ ли на базе универсальных средств; предоставить исследователю возможность проведения ма¬ шинных экспериментов в режиме «человек — ЭВМ». Наличие аппарата диалогового взаимодействия позволяет в значительной степени повысить гибкость и оперативность этапа анализа ре¬ зультатов, найти оптимальный в каждом конкретном случае план эксперимента, сочетать опыт и интуицию экспериментато¬ ра с возможностями математических методов при исследовании и оптимизации сложных систем, какими являются ССОД; для повышения эффективности и качества разрабатываемых моделей обеспечить экспериментатора средствами получения результатов с требуемой точностью и достоверностью при мини¬ мальных затратах его труда и времени работы ЭВМ. Остановимся на основных характеристиках компонент, со¬ ставляющих комплекс МО для моделирования ССОД. Более детальному рассмотрению возможностей этих средств, а также вопросам создания имитационных моделей на их базе посвяще¬ ны последующие главы. Один из рациональных путей создания универсальной си¬ стемы моделирования, имеющий незамкнутый характер,— это использование для описания моделей одного из развитых и рас¬ пространенных языков программирования. В качестве такого языка предлагается ПЛ/1, являющийся уже сам по себе без дополнительных возможностей имитации достаточно эффектив¬ ным инструментом построения моделирующих программ. Кроме того, решение задач моделирования ССОД часто связано с об¬ работкой и организацией больших объемов информации, что успешно может быть выполнено средствами языка ПЛ/1. Этот подход использован при создании предлагаемого для исследо¬ вания ССОД пакета прикладных программ (ППП) ДИСМ. ППП ДИСМ представляет собой систему имитационного мо¬ делирования дискретных процессов. Основные преимущества пакета—это универсальность и незамкнутость данной системы МО. Универсальность состоит в том, что на его основе могут быть разработаны модели систем большой сложности, функцио¬ нирование которых представимо в виде процессов с дискретны¬ ми событиями. Пакет ДИСМ предоставляет специальные сред¬ ства автоматизации, реализующие основные операции имитаци¬ онного моделирования: развитие модели в условном системном времени (процедуры планирования событий), имитацию слу¬ чайных воздействий (генераторы и преобразователи псевдослу¬ чайных чисел), сбор и обработку ,результатов эксперимента (процедуры статистической обработки). Кроме этих средств, в пакете предусматривается набор сервисных процедур, обеспе¬ чивающих эффективность работы моделирующих программ (средства отладки моделей на содержательном уровне, осво¬ бождения памяти и др.). Совместно с возможностями языка ПЛ/1 средства пакета представляют собой достаточно гибкий и 18
эффективный инструмент, предназначенный для моделирования дискретных процессов. В то же время универсальность пакета накладывает определенные требования на квалификацию поль¬ зователя и повышает трудоемкость технологии построения мо- телирующих алгоритмов и их содержательную отладку, осо¬ бенно при создании моделей большой размерности со сложной логической структурой. Работа с ППП ДИСМ предполагает на¬ личие у исследователя достаточных навыков в работе с языком ПЛ/1 и опыта построения моделирующих программ (в основ¬ ном это относится к представлению моделируемого процесса в виде некоторого фиксированного набора событий, объединенных определенными причинно-следственными связями). ' ППП ДИСМ, являясь открытой системой, позволяет при соблюдении необходимых соглашений использовать при моделировании боль¬ шой арсенал имеющихся в распоряжении исследователя про¬ граммных средств, в частности предлагаемые читателю набор регулируемых процедур имитации случайных воздействий и программные средства управления процессом моделирования в диалоговом режиме. Повышение уровня технологии построения моделей ССОД обеспечивается автоматизированной системой имитационного моделирования (АСИМ). Предметная область этого комплекса ограничена системами массового обслуживания (СМО), кото¬ рые, как отмечалось ранее, охватывают широкий круг задач проектирования. Модели, разрабатываемые на основе АСИМ, представляют набор декларативных предложений на русском языке, посредством которых в стандартной форме достаточно просто описываются исследуемые процессы. При использова¬ нии АСИМ формализация модели заменяется описанием сети СМО в инженерных терминах; программирование, отладка син¬ таксиса и отладка имитационной модели на содержательном уровне — проверкой описания с точки зрения семантики модели и исправлением допущенных синтаксических ошибок. Такой подход к построению имитационных моделей позволяет совмес¬ тить функции проектировщика системы и разработчика ее про¬ граммной модели. Полная автоматизация сбора, обработки иг выдачи результатов эксперимента освобождает исследователя от использования специальных, необходимых для этих целей средств. Конструкциями входного языка АСИМ являются не операторы, а хорошо знакомые широкому кругу пользователей термины, разработанные на базе основных понятий машинной имитации и носящие описательный характер. Предметная об¬ ласть этого языка — сложные сетевые системы массового обслу¬ живания с переменной структурой связей и произвольными за¬ конами распределения времени обслуживания в узлах. Пред¬ ставляемая в терминах входного языка модель исследуемой се¬ ти состоит из отдельных абстрактных устройств (узлов), реали¬ зующих функции обслуживания, и связей (потоков требований) между ними Каждый узел описывается набором предложений, 19-
задающих входящие и выходящие потоки, очереди к устройству, времена обслуживания, отказа и восстановления, механизмы при¬ нятия требований на обслуживание, подключения свободных устройств и дообслуживания прерванных требований, а также время моделирования и порядок проведения эксперимента. Со¬ вокупность устройств, входящих в СМО, представляет собой ста¬ тическую структуру исследуемой системы. Схема сопряжения ее элементов (согласование выходных потоков на одних устрой¬ ствах с входными на других) формируется автоматически. От¬ сутствие описания сопряжения отдельных устройств значитель¬ но упрощает описание моделируемых систем. Различия СМО по структуре, конкретным механизмам, параметрам, а также схе¬ мам сопряжений не оказывают влияния на объем имитационной программы, а учитываются лишь при формировании исходной информации для последней. В данном случае возрастание слож¬ ности исследуемых систем не оказывает существенного влияния на трудоемкость построения моделей. В то же время замкнутый характер системы АСИМ делает невозможным ее сопряженнее другими программными комплексами. Это ощущается в случа¬ ях, когда исследователю необходимо, например, получать оцен¬ ки выходных характеристик работы модели, отличных от преду¬ смотренных в АСИМ. Программные средства контроля и управления в диалоговом режиме процессом проведения имитационного эксперимента с моделями реализованы в виде диалоговой системы взаимодейст¬ вия с моделями (ДСВМ). При помощи этой системы по зада¬ нию исследователя обеспечивается остановка, завершение и за¬ пуск с начала имитационного эксперимента, оперативный вы¬ вод на экран терминала текущих значений параметров и ре¬ зультатов, изменение в любой момент времени всех или части параметров, прерывание и возобновление эксперимента с пре¬ рванной точки, переход во время сеанса на другой тип терми¬ нала, копирование диалога с человеком на алфавитно-цифровое печатающее устройство. Кроме того, ДСВМ представляет сред¬ ства связи программы модели с человеком через терминал. Си¬ стема рассчитана на работу с моделирующими программами, написанными на языке ПЛ/1, а также с использованием ППП, ориентированных на этот язык, в частности, совместно с ППП ДИСМ. Принципы построения и функционирования ДСВМ по¬ зволяют достаточно просто подготовить любую ПЛ/1-програм- му для работы под управлением диалоговой системы. Повышение эффективности имитационного эксперимента обеспечивается системой регулируемых процедур имитации (СРПИ-1), представляющей собой пакет прикладных программ простой структуры, содержащий набор регулируемых по точ¬ ности, быстродействию и объему занимаемой памяти процедур для генерации псевдослучайных чисел с различными законами распределения. СРПИ-1 представляет собой открытую для мо- дификации и расширения систему и функционирует совместно 20
поограммами, разработанными на языках ПЛ/1, АССЕМБЛЕР И ФОРТРАН. Приводимые в последующих главах описания перечисленных элементов математического обеспечения моделирования знако¬ мят с основными средствами, реализованными в этих системах, данный материал, не являясь руководством пользователя, слу¬ жит для оценки возможности и целесообразности применения соответствующей системы при разработке конкретных моделей. Глава вторая СИСТЕМА МОДЕЛИРОВАНИЯ ДИСМ НА БАЗЕ ЯЗЫКА ВЫСОКОГО УРОВНЯ ПЛ/1 2Л. Схема описания дискретных систем и структура моделирующей программы Языки моделирования дискретных систем в зависимости от способа описания динамики исследуемых процессов принято раз¬ делять на три группы: языки, ориентированные на работы (дей¬ ствия), события или процессы. В соответствии с этим модель системы можно рассматривать как набор описаний работ, собы¬ тий или процессов. Поэтому при использовании тех или иных средств МО экспериментатор рассматривает систему с опреде¬ ленных позиций, обеспечивающих ее дальнейшее представление в терминах соответствующего языка моделирования. Отметим, что, несмотря на различие всех трех способов описания динами¬ ки систем с дискретными событиями, любая из них, представ¬ ленная в терминах одной из схем, может быть реализована в терминах двух других. Каждый из подходов имеет свои положи¬ тельные и отрицательные стороны. Для одних систем какой-то способ может оказаться более эффективным, а для других — неудобным. Однако, как отмечается в [2], в настоящее время не существует общих правил выбора оптимальной схемы.' Имитационная модель предназначена для отображения пове¬ дения системы во времени. В связи с этим основной элемент языка — механизм отображения времени. Так как нашей целью является ознакомление с возможностями предлагаемого для мо¬ делирования ССОД математического обеспечения, то основное внимание уделяется не синтаксическим правилам языка, а средствам динамического описания систем и тому влиянию, ко¬ торое эти средства оказывают на экспериментатора при созда¬ нии модели. С особенностями, преимуществами и недостатками различных способов описания систем можно познакомиться в работах [2, 8—И]. В дальнейшем рассматривается схема опи¬ 21
сания в терминах событий, так как именно этот подход заложу в универсальную систему имитационного моделирования ДИС/V] 18]. При описании динамики системы на языке событий модели руемый процесс представляется в виде некоторой последова- тельности мгновенных изменений его состояния, т. е. в виде по. следовательности событий, между которыми устанавливаются причинно-следственные связи. События объединяются в классы и для каждого класса создается отдельная процедура события пР и использовании ППП ДИСМ эти процедуры разрабатывают¬ ся на универсальном языке. ПЛ/1. В них с применением средств пакета реализуются (программируются) все изменения, проис- ходящие в моделируемой системе при наступлении события со¬ ответствующего класса. В процедурах событий меняются значе ния необходимых параметров модели, планируются и удаляются из модели события, выполняются статистическая обработка ре¬ зультатов машинного эксперимента и другие вычислительные операции. Таким образом, для написания при помощи ППЛ ДИСМ моделирующей программы функционирование исследуе мой системы представляется в виде последовательности событий и между ними устанавливаются причинно-следственные связи которые впоследствии средствами пакета реализуются в соот¬ ветствующих процедурах событий. Очевидно, что такой подход требует дробления логики изучаемого процесса на отдельные звенья, связанные с событиями. В то же время использование языка, основанного на механизме календаря событий, позволяет обеспечить строгий контроль за выполнением моделирующей программы, и, кроме того, эта схема достаточно эффективна в вычислительном отношении. Ключевой элемент всякой системы моделирования — блок уп¬ равления модели в системном времени*, посредством которого поддерживается порядок выполнения вычислительных блоков (в нашем случае — процедур событий). В основе механизма вре¬ менного планирования лежит понятие календаря, в который г процессе моделирования заносятся отметки о будущих событи¬ ях. С каждым событием связывается время его наступления в модели. В пакете ДИСМ календарь представляет собой список упорядоченных по системному времени наступления и приорите¬ ту событий. Процесс моделирования состоит в просмотре кален¬ даря, выборе (активизации, «вычеркивании») из списка события с минимальным значением его системного времени и передаче управления соответствующей процедуре события. В ситуация м когда на один и тот же момент времени запланировано более * Под системным, или модельным, временем понимается некоторое условное представление в модели реального времени. Более подробно с этим вопросом можно познакомиться в [9], где рассматривается различие между систем¬ ным и реальным временем, а также возможные форматы представления мо¬ дельного времени. В ППП ДИСМ в качестве минимального кванта времени принята единица, т. е. системное время — целая величина. 22
/ГГАРТ рис. 2. Схема работы УС с предварительным u на¬ коплением СООбЩеНИЙ /7/7Г/77/7/7/7?////£ /7/7/77f/74 ~ f/7/7/7/U/>////// ■одного события, первым обрабатывается событие с меньшим значением приоритета, а при их равенстве — в порядке занесе¬ ния в календарь. Переменной, отображающей текущее время моделирования, присваивается значение времени активизирован¬ ного события. Все описанные действия выполняются управляю¬ щей программой (УП) пакета. Для иллюстрации отдельных положений рассмотрим пример построения имитационной модели устройства согласования (УС) с предварительным накоплением сообщений [12]. Содержатель¬ ная постановка задачи следующая. Устройство согласования (рис. 2) содержит буферное запоминающее устройство (БЗУ) емкостью N ячеек и стартстопное ЗУ. На вход БЗУ в случайные моменты времени поступают сообщения. Для определенности счи¬ таем, что интервалы времени между поступлениями очередных сообщений распределены по экспоненциальному закону с задан¬ ной интенсивностью L. После накопления в БЗУ 5 сообщений вырабатывается команда «старт» и накопленный массив начи¬ нает переписываться в ЗУ. Время записи одного сообщения в ЗУ фиксировано и равно Т. После записи последнего сообщения, находящегося в БЗУ, выдается команда «стоп» и ЗУ останавли¬ вается. Во время перезаписи в БЗУ могут поступать новые со¬ общения, которые добавляются к переписываемому массиву. В случаях, когда емкость БЗУ полностью занята, поступившие сообщения теряются. В этих условиях длина цикла записи — слу¬ чайная величина, минимально возможное значение которой рав¬ но ST. С увеличением порогового значения 5 уменьшается сред¬ няя частота включения ЗУ, однако растет вероятность перепол¬ нения БЗУ, а следовательно, и вероятность потерь сообщений. Рассмотрим один из возможных вариантов представления динамики описанного процесса функционирования УС в виде по¬ следовательности дискретных событий. Проследим очередность смены событий и установим их причинно-следственные связи. Считаем, что операции, связанные с планированием событий, выполняются специальными средствами, которые предоставля¬ ются пакетом. Под планированием понимается возможность упо¬ рядочения в календаре событий по заданному времени их наступ- 23
Таблица 1. События, отражающие динамику системы УС, и операции-,, выполняемые в процедурах событий Событие Процедура события Поступление сообщения Начало записи сообщения Окончание записи сообще¬ ния Процедура событий ПС. 1. Планирование на текущий момент времени для данного сообщения события НЗС. 2. Имеется ли в БЗУ свободная емкость? Нет: потеря поступившего, сообщения. Окончание обработки события. Да: накопление поступившего сообщения в БЗУ. 3. Включена ли команда «старт»? Нет: выполнение операции 4. Да: окончание обработки события. 4. Накоплено ли в БЗУ 5 сообщений? Нет: окончание обработки события. Да: выработка команды «старт»; планирование для следующего сообщения через время ТА собы¬ тия ПС. Процедура событий НЗС. 1. Освобождение БЗУ одним сообщением. 2. Планирование для данного сообщения через вре¬ мя Т события ОЗС. Процедура событий ОЗС. 1. Имеются ли в БЗУ сообщения? Нет: выработка команды «стоп». Да: планирование на текущий момент времени для следующего сообщения события НЗС. лепия. Результаты изучения динамики функционирования моде¬ ли УС, представление этого процесса в виде событий и вызыва¬ емые ими действия сведены в табл. 1. Отметим, что, так как целью рассматриваемого фрагмента работы УС является рас¬ крытие принципа представления процесса в виде последователь¬ ности событий, ряд вычислительных операций, не относящихся к данному вопросу, опущен. В качестве событий, изменяющих состояние моделируемой системы УС, могут быть выбраны: поступление сообщения на вход БЗУ (событие ПС), начало записи сообщения в ЗУ (НЗС) и окончание записи сообщения в ЗУ (ОЗС). В соответствии с постановкой задачи известен закон распре¬ деления интервалов времени между поступлениями сообщений на вход БЗУ, и если задана интенсивность, то может быть вы¬ числен интервал времени Т1, через который поступит следующее сообщение, а значит — запланировано очередное событие клас¬ са ПС. При наступлении события класса ПС в БЗУ происходит накопление поступившего сообщения или, если емкость свобод¬ ной части БЗУ переполнена, потеря сообщения. Поступившее со¬ общение может вызвать выработку команды «старт», т. е. нача¬ ло работы ЗУ. Выдача этой команды произойдет при накоплении 24
БЗУ S сообщений, если еще не ведется их перепись в ЗУ (т. е. если ЗУ еще не включено по команде «старт»). При выработке этой команды на тот же момент времени может быть заплани¬ ровано событие класса НЗС, отражающее начало переписи со¬ общения из БЗУ в ЗУ. Наступление события класса НЗС влечет за собой освобож¬ дение емкости БЗУ одним сообщением. Кроме того, так как за¬ дано время Т переписи сообщения в ЗУ, для текущего сообщения планируется соответствующее событие класса ОЗС. При окон¬ чании записи сообщения и наличии в БЗУ сообщений для пере¬ писи на текущий момент планируется событие класса НЗС. В си¬ туациях, когда емкость БЗУ оказывается пустой, вырабатывает¬ ся команда «стоп», по которой ЗУ останавливается. При использовании ППП ДИСМ каждому выделенному в модели классу событий, начиная с единицы, присваивается свой порядковый номер. В дальнейшем рассмотрении события ПС отнесены к классу с номером 1, события НЗС — к классу, 2, со¬ бытия ОЗС — к классу 3. Таким образом, используя три выделенных класса событий и учитывая их причинно-следственные связи, можно описать процесс работы УС с предварительным накоплением сообще¬ ний. Очевидно, что представление одного и того же процесса функционирования моделируемых систем в виде последователь¬ ности событий может быть выполнено по-разному. Основное внимание при этом следует уделять установлению правильных взаимосвязей между событиями, не допускающими противоре¬ чий в логике очередности их смены между собой. Вполне естест¬ венно, что выполнение такой работы требует определенных на¬ выков у исследователя, ясного понимания того, как протекает моделируемый процесс. Однако, как показывает опыт эксплуа¬ тации пакета ДИСМ, такие навыки приобретаются достаточно быстро, а, кроме того, использование подобного подхода требу¬ ет от исследователя тщательной проработки вопросов, связан¬ ных с логикой протекающих внутри моделируемой системы про¬ цессов, что в конечном счете позволяет избежать тех ошибок, которые могут быть допущены при недостаточно глубоком изу¬ чении внутренних механизмов работы системы. Следующий шаг создания модели — это разработка имита¬ ционной программы, состоящей из процедур событий, в которых реализуются алгоритмы для каждого класса, а также создание главного блока модели. Пакетом ДИСМ на разработку процедур событий наклады¬ вается лишь одно ограничение в присвоении имен. Каждая та¬ кая процедура должна иметь символическое имя вида BLKi со значением i, определяющим номер класса, для которого она разработана. Формальное построение процедур событий: BLKi: PROCEDURE (Р); DCL Р POINTER; END BLKi; 25
Указатель Р служит для ссылки на некоторую базированную структуру данных, относящуюся к конкретному событию. Такая идентификация событий одного класса обеспечивает их отличие (если это необходимо) друг от друга. В этих базированных струк¬ турах пользователь имеет возможность располагать необходи¬ мую информацию, относящуюся к определенному событию. Впол¬ не естественно, что в каждом конкретном случае разработчик модели сам устанавливает, требуется ли связывать с отдельным событием свою базированную структуру данных, или эта струк¬ тура может относиться одновременно к ряду событий (не обя¬ зательно одного класса). Кроме указателя рабочего поля дан¬ ных, при манипуляциях с событиями в модели используются еще такие характеристики, как номер класса событий, относительное время или интервал времени, через который должно наступить событие, и приоритет события. Таким образом, события в моде¬ ли характеризуются набором параметров, отражающих номер класса, к которому относится событие, указатель рабочего поля события, приоритет события и системное время наступления со¬ бытия. Кроме процедур событий BLK*, пользователем разрабаты¬ вается главный блок модели, в котором выполняются подгото¬ вительные операции и запуск модели. Главный блок должен иметь символическое имя (не более 7 символов) и быть иденти¬ фицирован установлением OPTIONS (MAIN) в PROCEDURE- утверждении. Обязательные разделы этой процедуры: нормиро¬ вание модели, порождение-«стартовых» событий и обращение к управляющей программе ППП ДИСМ CHECK. Эти операции вы¬ полняются средствами пакета. В процессе нормирования систе¬ ма подготавливается к прогону модели. При порождении «стар¬ товых» событий в календаре создается по крайней мере одно событие, необходимое для начала моделирования. Управляю¬ щая программа пакета начинает и контролирует непосредствен¬ но ход моделирования. При этом механизм работы УП следую¬ щий. Из календаря вызывается событие с минимальным време¬ нем его наступления в системе. Модельное текущее время уста¬ навливается равным моменту времени, на который запланирова¬ но наступление активного события. По номеру кла.сса i, являю¬ щегося одним из параметров события, выполняется обращение к соответствующей процедуре события BLKn Этой же процедуре передается значение указателя рабочего поля вызванного собы¬ тия, благодаря чему в соответствующей процедуре BLKi поль¬ зователь получает доступ к необходимой структуре данных. После отработки вызванной процедуры событий управление вновь возвращается управляющей программе, которая продолжает цикл просмотра календаря. Моделирование прекращается при отсутствии в календаре событий, подлежащих активизации. Для управляющей программы предусмотрены два режима функцио¬ нирования — рабочий и тестовый. В отличие от рабочего режи¬ ма при тестовом прогон модели сопровождается выдачей кон- 26
' сольных сообщений об активном событии и состоянии календа¬ ря в моменты активизации событий. Тестовый режим предусмот¬ рен для этапа содержательной отладки модели. Таким образом, моделирующая программа, построенная на базе ППП ДИСМ, состоит из главного блока модели и проце¬ дур событий, количество которых соответствует числу выделен¬ ных для описания динамики системы классов событий. Остано¬ вимся на основных средствах моделирования, предоставляемых пакетом. Так как в данной книге не преследуется цель обучить пользователя работе с пакетом, ограничимся характеристикой этих средств с точки зрения их возможностей. 2.2. Процедурные средства машинной имитации Весь набор процедур пользователя пакета может быть под¬ разделен на четыре группы. Первая группа — это процедуры, обеспечивающие планирование событий и работу с очередями событий, т. е. процедуры, при помощи которых реализуется ди¬ намика модели; вторая — генераторы и преобразователи псев¬ дослучайных чисел; третья — средства статистической обработ¬ ки результатов машинного эксперимента и четвертая группа — различные сервисные процедуры для повышения качества раз¬ рабатываемых моделей и проведения их отладки. Операции планирования событий. Для того чтобы выполнить планирование некоторого события, вычисляется значение (если оно не задано) приращения к текущему моменту системного времени, задается приоритет планируемого события, номер клас¬ са, к которому оно относится, и определяется значение указате¬ ля рабочего поля события. Планирование событий обеспечивает¬ ся функциями пакета VCREAT и VWAIT. Величина отсчета от текущего момента времени до наступления события (так назы¬ ваемое относительное время) и приоритет служат для размеще¬ ния планируемого события в календаре. По номеру класса вы¬ полняется обращение к требуемой процедуре события при акти¬ визации этого события. Указатель рабочего поля передается про¬ цедуре события при обращении к ней. Обе процедуры планирова¬ ния выполняют практически одно и то же действие. Их отличие состоит лишь в тохМ, что при обращении к VCREAT в . модели создается новое событие со значениями задаваемых характери¬ стик, а процедура VWAIT использует область памяти активно¬ го события (если такое в момент планирования существует). Наличие в пакете двух процедур планирования позволяет повы¬ сить эффективность работы моделирующих программ за счет сокращения операций по размещению в памяти ЭВМ и удалению областей для хранения характеристик события. Обе процедуры планирования (VCREAT и VWAIT) представляют собой меха¬ низм безусловного управления событияхми, который предпола¬ гает, что в момент наступления некоторого события может быть точно определен (спланирован) момент наступления следующе¬ 27
го события. Аналогом этих процедур в языках моделирования является оператор ожидания типа WAIT<T>, в котором пара¬ метр Т характеризует интервал времени между текущим и пла¬ нируемым событиями. Для реализации ситуаций, когда по тем или иным причинам необходимо отменить ранее запланированное событие некоторо¬ го класса с заданным указателем рабочего поля, предназначена функция пакета VDELET. Как уже отмечалось, процесс моделирования прекращается, когда управляющая программа пакета находит календарь пус¬ тым. Обычно время моделирования вычисляется либо задается разработчиком в соответствии с постановкой задачи. Для того чтобы обеспечить освобождение календаря в нужный момент си¬ стемного времени от имеющихся в нем событий, в пакете преду¬ смотрена специальная функция VDESTR. Операции над очередями событий. Особое место в первой группе занимают процедуры, обеспечивающие организацию и работу с очередями событий. Эти средства в отличие от процедур планирования VCREAT и VWAIT служат для реализации услов¬ ного управления событиями, при котором наступление события зависит от выполнения определенных условий. В качестве типич¬ ного представителя подобных средств можно привести исполь¬ зуемый в некоторых языках моделирования оператор WAIT UNTIL<C>, который обеспечивает задержку наступления собы¬ тия до выполнения некоторого условия С. В ППП ДИСМ работа механизма условного управления со¬ бытиями основана на организации данных в виде очередей со¬ бытий к абстрактным пунктам задержек. Последние в отдель¬ ных случаях могут трактоваться как обслуживающие устройст¬ ва. Каждому пункту задержек событий разработчиком присваи¬ вается имя, содержащее четыре символа, и числовой индекс (номер). В пакете предусмотрена возможность организации че¬ тырех типов очередей постановки событий в очередь: по прави¬ лам FIFO (первым пришло — первым поставлено), LIFO (по¬ следним пришло — первым поставлено), PRIORITY (поставлено в соответствии с приоритетом события) и RANDOM (поставлено случайным образом). К пункту задержек может быть образова¬ на одна очередь определенного типа. Поэтому при работе с оче¬ редями событий, кроме имени и индекса пункта, необходимо ука¬ зывать и тип очереди. Пункты задержек могут быть представле¬ ны в модели как статические и динамические. Статические пунк¬ ты создаются процедурой пакета FCREAT, при обращении к ко¬ торой требуется задание идентификаторов пункта и типа оче¬ реди, организуемой к нему. Удаление из модели подобных пунк¬ тов может быть выполнено процедурой FDELET при условии, если в очереди не содержится ни одного события. Динамические пункты задержек вводятся в модель автоматически при попытке постановки некоторого события в очередь к пункту, который в модели отсутствует. Эта операция выполняется процедурой по¬ 28
становки события в очередь FWAIT. При обращении к данной процедуре, кроме характеристик пункта задержек (имени, ин¬ декса и типа очереди), необходимо задать приоритет устанавли¬ ваемого в очередь события, номер класса, к которому оно отно¬ сится, и указатель рабочего поля события. При наличии в мо¬ дели соответствующего пункта задержек событие устанавлива¬ ется к нему в очередь, а при отсутствии в модели создается ди¬ намический пункт задержек. Такая классификация пунктов за¬ держек для конкретных моделей позволяет либо повысить быст¬ родействие программы при использовании статических пунктов, постоянно находящихся в памяти ЭВМ, либо экономно расхо¬ довать память при работе с динамическими пунктами, которые размещаются в модели только в тех случаях, когда к ним имеет¬ ся очередь. Кроме того, использование динамических пунктов позволяет избежать организации в модели специальных счетчи¬ ков за состоянием «занято», «свободно» объектов типа «устрой¬ ство». Например, наличие в модели динамического пункта отра¬ жает вариант «занято», а отсутствие — вариант «свободно». Поставленное в очередь к пункту событие находится в ней до выполнения некоторого условия. При выполнении заданного'усло¬ вия должно производиться планирование наступления задер¬ жанного события. Это действие реализуется процедурой плани¬ рования события из очереди FACT. При обращении к ней на те¬ кущий момент системного времени планируется наступление со¬ бытия, стоящего первым в очереди к заданному пункту задер¬ жек. Эта процедура используется, когда в модели выполнено условие, которое было причиной постановки события в очередь процедурой FWAIT. При отсутствии в очереди событий в момент обращения к FACT, если пункт задержек является динамиче¬ ским, он удаляется из модели. Операции генерирования псевдослучайных чисел. Вероятно¬ стный характер большинства исследуемых процессов требует наличия в системе моделирования специальных средств имита¬ ции случайных явлений. В моделирующих программах исполь¬ зуется аппарат генерирования‘так называемых псевдослучайных чисел, которые вычисляются по специальным формулам. Обяза¬ тельным элементом системы моделирования является базовый генератор (датчик) случайных чисел, вырабатывающий на осно¬ ве ^детерминированного алгоритма числа, представляющие со¬ бой реализацию бесконечной последовательности чисел, равно¬ мерно распределенных в интервале (0,1). В связи с ограничен¬ ностью длины слова ЭВМ эта последовательность ограничена и является периодической. При получении случайного числа ре¬ куррентным способом используется число, сгенерированное пе¬ ред ним. Корреляционная зависимость псевдослучайных чисел не желательна. Поэтому важное значение имеет проверка перио¬ дичности, равномерности и «случайности» получаемой после¬ довательности. Для этой цели используются специальные ста¬ 29
тистические тесты, на основании которых делается заключение о качестве базового генератора *. Получаемые базовые числа при помощи специальных про¬ грамм трансформируются в величины с различными законами распределения. Такие процедуры в пакете ДИСМ носят назва¬ ние преобразователей, которые являются подпрограммами-функ¬ циями языка ПЛ/1. Работа с ними предполагает соблюдение обычных правил этого языка, т. е. учет атрибутов параметров и возвращаемого значения. Перечень преобразователей псевдо¬ случайных чисел пакета ДИСМ и их основные характеристики приведены в табл. 2. Операции статистической обработки и выдачи результатов. Проведение имитационных- экспериментов в большинстве слу¬ чаев связано со сбором, накоплением и статистической обработ¬ кой информации о процессе функционирования исследуемого объекта. Отсутствие в составе системы моделирования средств реализации таких операций требует от экспериментатора до¬ полнительных затрат на разработку для каждой конкретной мо¬ дели специальных процедур, которые по своей сути выполняют стандартные статистические расчеты, идентичные для большин¬ ства моделей. К подобным операциям относятся вычисления ма¬ тематических ожиданий, дисперсий, стандартных отклонений и т. д. В ППП ДИСМ включены средства, позволяющие получать в ходе машинного эксперимента оценки моментов до 4-го поряд¬ ка включительно, асимметрии, эксцесса, коэффициента вариации, их погрешностей, оценки дифференциальной и интегральной функций распределений и доверительные области. Проведение многопрогонных экспериментов с моделью может сказаться на объеме получаемой информации, запоминание которой в опера¬ тивной памяти ЭВМ не всегда эффективно и возможно. По этой причине организация блока статистической обработки результа¬ тов в ППП ДИСМ обеспечивает обработку данных по мере по¬ явления их в модели без предварительного накопления [14]. Характерная черта этого аппарата в пакете — наличие меха¬ низма планирования эксперимента. При работе имитационной программы блок статистической обработки определяет объем выборки для прекращения процесса моделирования. Причем используемый алгоритм производит последовательное уточнение оценки дисперсии с ростом числа реализаций и пересчет нужно¬ го числа прогонов модели. Выдача результатов моделирования выполняется автоматически при достижении заданных пользо¬ вателем точности и доверительной вероятности для исследуемых характеристик. Кроме того, выдача результатов может быть вы¬ полнена из процедур модели специальной процедурой пакета STOUT. Примеры листингов, выдаваемых блоком статистиче¬ ской обработки, приведены при описании моделей в главе 6. * Система статистических тестов, при помощи которой проводились оценка и выбор базового генератора псевдослучайных чисел в ППП ДИСМ, приведе¬ на в [13]. 30
Таблица 2. Преобразователи псевдослучайных чисел ППП ДИСМ Закон распределения Имя преобразователя и его параметры Содержание параметров Равномерный: RANDR вещественные числа из ин¬ тервала (0,1), п целые числа из интервала [1,2s1—1], п RANDI целые числа из интервала [М, N] п RANDMN (M,N) M — нижняя граница, N — верхняя граница Экспоненциальный £ EXP (L) L — интенсивность Нормальный П GAUSS (M, S) М— математическое ожидание,. S — среднеквадратичное от¬ клонение Эрланга П ERLANG (L, K) L — интенсивность, К — по¬ рядок Биномиальный П BINOM (N, P) N — объем серии, Р — вероят- ность события Пуассона п POISS (L) L — математическое ожидание Табличный п HIST (X, H, N, P) X — левая граница, Н — шаг,. N — количество интервалов, Р — массив вероятностей Обработка результатов моделирования осуществляется про¬ цедурой пакета, имеющей две точки входа —STAT0 и STAT1. Обращение по точке STAT0 обеспечивает получение гистограм¬ мы с фиксированными пределами, а по точке STAT1 —с пла¬ вающими пределами. Входными параметрами этой процедуры являются: номер исследуемой характеристики (служит для идентифи¬ кации конкретных характеристик), доверительная вероятность (используется при определении объема выборки и доверительных интервалов для оценок сред¬ ней и дисперсии исследуемой характеристики), точность (используется для определения объема выборки исследуемой характеристики), число интервалов гистограммы, нижняя граница области из¬ менения случайной величины (используется только при построе¬ нии гистограммы с фиксированными пределами). верхняя граница области изменения случайной величины (используется только при построении гистограммы с фиксиро¬ ванными пределами), строка состояний (используется для задания требуемого на¬ бора выдаваемых на печать оценок исследуемой характеристи¬ ки), значение конкретной'реализации случайной величины. Дополнительные возможности для повышения эффективно¬ сти операций, связанных со статистической обработкой резуль- 31
татов экспериментов, обеспечиваются сервисными процедурами STMIDDL, STDELET и STDESTR. Процедура STMIDDL служит для определения среднего зна¬ чения случайной величины. При обращении к процедуре задает¬ ся номер характеристики, для которой вычисляется среднее зна¬ чение. Посредством процедуры STDELET для указываемой харак¬ теристики освобождается область сохранения результатов пре¬ дыдущих обращений к блоку статистической обработки. При проведении численного эксперимента, организованного в циклической форме, после получения результатов моделиро¬ вания необходимо освобождать объем памяти, занятый преды¬ дущими обращениями к блоку статистической обработки. Эта операция выполняется при помощи процедуры «сборка мусора» STDESTR, после чего моделирование может быть продолжено ■с измененными значениями параметров исследуемой системы. Вспомогательные операции. Перед началом непосредственно процесса моделирования при помощи подпрограммы нормиро¬ вания SINIT устанавливается начальное состояние списков, а также нулевое значение переменной, в которой фиксируется си¬ стемное время моделирования. Эта операция выполняется в главном блоке модели до использования других процедурных средств пакета. Для получения в нужном месте модели текущего значения системного времени предназначена процедура STIME. Необхо¬ димость данной операции заключается в том, что пользователь непосредственного доступа к этому параметру модели не имеет. Изменение значения текущего момента может быть осуществле¬ но только управляющей программой пакета при активизации (вызове из календаря) очередного события. Для облегчения проведения содержательной отладки модели используется процедура распечатки состояния очередей собы¬ тий SPRINT. Посредством этой процедуры на печать выдаются характеристики пунктов задержек, а также характеристики стоящих к ним в очередях событий (время поступления в оче¬ редь, приоритет события и номер класса, к которому оно отно¬ сится) . Кроме средств, предназначенных для написания моделирую¬ щих программ, ППП ДИСМ снабжен набором каталогизирован¬ ных процедур, которые используются для генерации пакета и подготовки его к эксплуатации, а также специальной тестовой программой для проверки работоспособности модулей пакета. 32
2.3. Пример моделирования устройства согласования с предварительным накоплением сообщений Рассмотрим построение имитационной модели устройства со¬ гласования с использованием специальных средств ППП ДИСМ. Процесс функционирования УС и представление его в виде ди¬ скретных событий описаны в параграфе 2.1. Основная цель дан¬ ного раздела — иллюстрация применения операций машинной имитации, реализованных в пакете. Поэтому для простоты изло¬ жения в процедурах модели, там, где это возможно, опущены объявления переменных и процедур, а также некоторые вычис¬ лительные операции, не существенные для этой цели. Предпола¬ гается, что в результате моделирования вычисляется число по¬ терь сообщений в системе PS и оценивается случайная величина, характеризующая длину цикла записи сообщений. Считается также, что моделирование проводится на одном прогоне длиной ТМ единиц системного времени. Содержательный смысл исполь¬ зуемых в модели идентификаторов комментируется по ходу из¬ ложения. В соответствии с принятым в параграфе 2.1. разбиением ис1 следуемого процесса на события создание модели предполагает построение соответствующих процедур событий, в которых реа¬ лизуется моделирующий алгоритм (см. табл. 1). Имитационная программ#'УС состоит из четырех процедур событий и главного блока модели. В процедуре BLK1 (рис. 3) описываются опера¬ ции, выполняемые при наступлении событий первого класса, т. е. событий, отражающих поступление сообщения на вход БЗУ. Начало и окончание записи сообщения в ЗУ реализованы соот¬ ветственно в процедурах событий BLK2 и BLK3 (рис. 4 и 5). Главный блок модели представлен процедурой SYSTEM (рис. 7). Процедура событий четвертого класса BLK4 (рис. 6) явля¬ ется вспомогательной и служит для окончания процесса модели¬ рования по истечении заданного интервала системного времени ТЛ1 Отметим, что в приводимом примере рабочее поле данных событий не используется, поэтому значение указателя Р этого поля безразлично. Приоритеты между событиями распределим следующим образом: наивысший приоритет имеет событие окончания моделирования, далее ОЗС, НЗС и ПС. Таким обра¬ зом, с учетом требования пакета ДИСМ перечисленным собы¬ тиям присваиваются соответственно приоритеты 0, 1, 2 и 3. Во всех процедурах в качестве кода возврата функций пакета используется переменная SIGN, которая служит для контроля их работы. Прокомментируем кратко действия, выполняемые в названных выше процедурах модели. При наступлении в модели события ПС управлениещередает- ся процедуре событий BLK1. В соответствии с алгоритмом в мо¬ мент поступления сообщения на вход БЗУ планируется следую- событие данного класса (метка А1). Для этого, используя 2 Заказ № 4411 оо
В L К 1 :PROCEDURE ( P ) .* dcl p pointer; BLK2:PROCEDURE (P) DCL P POINTER#* . А 1 : т 1 = а е х р ( l ) ; в 1 : buf = buf-i; S I G Nr VWА IТ ( Т1 , 3 , 1 ,р ) ; В 2; SIGN= VWAIT < T, 1 ,3 f P ) ; А 2 : IF В U F = N THFN! DO.' END В L К 2 ,* АЗ : рs = рs +1 ; go то l1; end; ELSE D 0; Рис. 4. Процедура событий начала за¬ А А : BUF=BUF+1; писи сообщений А 5 : IF START=0&8UF=S THEN do; А 6 : S T A R T = i ; А 7 : SIGN=VCREAT (0,2, 2 t P ) А 8 : time=stime; end; end; L1:END в l к 1 ; Рис. 3. Процедура событий поступления сообщений BLK3 : PROCEDURES) ; DCL р pointer; С1: IF BUF = 0 THEN DO? end; C2 : S T A R T = o; C3: TIHEsSTIHE-TIME» j C4: CALL STATK1iO,95j0*05«l2f'f0q01'jTXH£) С5 : ELSE DO; C6: SIGN = VWAIT<0/2i2/P>? end; END В LК3; Рис. 5. Процедура событий окончания записи сообщений SYS ТЕМ : PROCEDURE OPTIONS <MAIN> / SLк^ : PROCEDURE (P); dcl р pointer; S 1 call s i n i t; , S 2 SIGN=VCREAT(0,3,1,P>; S 3 SIGN=VCREAT<TM,0,A,P) . su CALL С H E С К ( # N # ) I SIGN=VDESTR; S 5 call stout; end вlк4; CND system; Рис. 6. Процедура события оконча- Рис. 7. Главный блок модели SYSTEM ния моделирования задаваемое значение L интенсивности входного потока п проце¬ дуру пакета D ЕХР, вычисляется случайный интервал времени П, через который поступит следующее сообщение. Далее при помощи функции VWAIT планируется очередное событие ПС. В данном случае первый параметр равен 71, второй, характери¬ зующий приоритет планируемого события, равен 3, третий соот¬ 34
ветствует номеру класса ПС и четвертый — указатель Р. Про¬ верка заполненности БЗУ сообщениями (переменная BUF) вы¬ полняется утверждением, помеченным меткой А2. Накопление потерянных сообщений производится в счетчике PS (метка АЗ). После поступления сообщения в БЗУ (метка Л4) выполняется проверка, выработана ли команда «старт» и накоплено ли в БЗУ пороговое число сообщений 5 (метка Л5). Включение ко¬ манд «старт» и «стоп» фиксируется в переменной START (1 — отражает режим переписи сообщений в ЗУ, 0 — перепись не выполняется). Если перепись не ведется, т. е. START = 0, а в БЗУ накоплено S сообщений, то вырабатывается команда «старт» (метка Л6) и на текущий момент системного времени при по¬ мощи процедуры VCREAT планируется начало записи сообще¬ ния (метка Л7). Кроме этого, для вычисления длины цикла за¬ писи с использованием процедуры STIME фиксируется момент начала записи TIME (метка Л8).. В процедуре событий НЗС (см. рис. 4) из БЗУ выбирается одно сообщение (метка В1) и при помощи процедуры пакета VWAIT через Т единиц системного времени планируется окон¬ чание записи одного сообщения (метка В2). В момент окончания записи сообщения (см. рис. 5), если БЗУ полностью освобождено (метка СТ), включается команда «стоп» (метка С2). Далее вычисляется длина цикла записи TIME (метка СЗ) и выполняется статистическая обработка этой характеристики (метка С4). При этом характеристике при¬ сваивается номер 1, доверительная вероятность и точность соот¬ ветственно равны 0,95 и 0,05, число интервалов гистограммы — 12, задание пятому параметру значения ’1000Г обеспечивает по¬ лучение доверительных интервалов для оценок средней и дис¬ персии, а также оценку дифференциальной функции распределе¬ ния. Если в БЗУ после окончания записи имеются еще сообще¬ ния (метка С5), то процедурой VWAIT на текущий момент вре¬ мени планируется новая запись (метка С6). В процедуре события BLK4 (см. рис. 6) функцией пакета VDESTR подготавливается ситуация для окончания процесса моделирования. В главном блоке модели SYSTEM (см. рис. 7) при помощи процедуры SINIT выполняется нормирование модели (метка S1]. затем на нулевой момент времени планируется поступление пер- в°го сообщения (метка S2), а на момент ТМ планируется окон¬ чание моделирования (метка S3). Работа модели начинается при обращении к управляющей программе пакета CHECK (метка ^4), причем задание параметру значения W’ соответствует ра¬ бочему режиму прогона. После завершения моделирования вы¬ полняется выдача результатов (метка S5), т. е. выводятся тре¬ буемые оценки для исследуемой характеристики — длины цик- Ла записи сообщений. 2* 35
Глава третья АВТОМАТИЗАЦИЯ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ 3.1. Трудности, возникающие при создании моделей Распространение метода имитационного моделирования и пре¬ вращение его в инструмент системного анализа позволили су¬ щественно расширить предметную область исследований слож¬ ных систем массового обслуживания (СМО). Однако примене¬ ние машинной имитации тормозится в основном необходи¬ мостью реализации трудоемких этапов программирования и от¬ ладки при создании имитационных моделей (ИМ). Поэтому весьма актуальной является задача разработки средств и тех¬ нологии, облегчающих процесс построения ИМ. Кроме того, проблема формализации системы и представление ее в виде ИМ затрудняют непосредственное использование разработчи¬ ком сложной системы средств автоматизации моделирования, т. е. наблюдается некоторый «разрыв» между разработчиками сложной системы и ИМ. В этих условиях необходимо создание таких средств, кото¬ рые бы обеспечили непосредственное использование разработ¬ чиком сложной системы метода имитационного моделирования и одновременно устранили этапы формализации, программирова¬ ния и отладки модели. Трудности, возникающие при создании ИМ, обусловлены прежде всего несовершенством технологии, присущей алгорит¬ мическому подходу. В частности, технология этапа формализа¬ ции ИМ зависит от концептуальной основы входных языков, ко¬ торые в общем случае предполагают событийный либо процес¬ сный подходы [2, 11]. При этом успех реализации этапа форма¬ лизации сложной системы в виде ИМ зависит от уровня знаний концептуальных основ, опыта и интуиции исследователя. Технология этапов программирования, отладки, а также сбо¬ ра, обработки и выдачи результатов моделирования весьма тру¬ доемка. Последнее является следствием алгоритмического под¬ хода к построению ИМ, что, в свою очередь, создает известные трудности при создании моделей, характеризующихся различ¬ ными алгоритмами обслуживания требований в узлах сети, ди¬ намической структурой как самой сети, так и связей между ее узлами. Преодоление этих трудностей достигается за счет ис¬ пользования высококвалифицированного труда программистов и увеличения стоимости разработок. Кроме того, подобная прак¬ тика создания ИМ в большинстве случаев не позволяет объедп* пить в одном лице функции проектировщика сложной системы 36
и разработчика ее ИМ. Отмеченные трудности в реализации наиболее важных технологических этапов создания ИМ тормо¬ зят внедрение в повседневную практику метода имитационного моделирования [15]. 3.2. Описательный подход к построению имитационных моделей сетей СМО В целях совершенствования технологии построения ИМ и повышения эффективности этого процесса предлагается исполь¬ зование проблемно-ориентированного неалгоритмического языка моделирования, реализованного в рамках автоматизированной системы имитационного моделирования (АСИМ) [16, 17]. Конструкциями языка являются не алгоритмические опера¬ торы, а хорошо знакомые широкому кругу исследователей тер¬ мины, разработанные на базе основных понятий имитации и носящие описательный характер. Применение языка АСИМ не требует знания конкретных приемов в моделировании, способов программирования ИМ, ja также организации квазипараллель- ных процессов обслуживания требований в узлах сети. Повышение эффективности достигается путем создания тех¬ нологии, исключающей наиболее трудоемкие этапы. В част¬ ности, этап формализации заменяется описанием сети в инже¬ нерных терминах, а программирование, отладка синтаксиса и отладка ИМ на содержательном уровне — проверкой описания с точки зрения семантики модели и исправлением допущенных синтаксических ошибок. Кроме того, полная автоматизация сбора, обработки и выдачи результатов эксперимента освобож¬ дает исследователя от реализации этого этапа. Объект исследования представляется в виде сети СМО, со¬ стоящей из узлов и связей (потоков требований) между ними. В качестве примера (рис. 8) приведена обобщенная графиче¬ ская схема сети, состоящая из пяти узлов и четырех источников требований. На схеме произведена нумерация всех источников путем присвоения им определенных номеров и установлены свя¬ зи между отдельными узлами. Каждая связь (линия, соеди¬ няющая два узла) характеризует технологический маршрут пе¬ редачи требований на очередной этап обработки. Применению языка АСИМ предшествует этап декомпозиции сети. На этом этапе выполняется условное разбиение сети на отдельные узлы с указанием для каждого из них всех связей по входу и выходу, сохраняющих исходную картину распреде- ления потоков в сети. Одновременно уточняются следующие ас¬ пекты, характеризующие узел: входящие потоки и их характеристики (тип распределения, параметры, класс, приоритет, период запуска, способ управле¬ ния) ; 37
Рис. 8. Обобщенное представление сети СМО дисциплины обслуживания и ожидания (FIFO, LIFO и т. д.) ; порядок формирования очередей (общая, отдельная, смешан¬ ная), их приоритеты и ограничения; характер распределения времени обслуживания и его пара¬ метры; способ подключения к обслуживанию и правила выбора сво¬ бодного устройства; возможность отказа обслуживающего устройства, правила его восстановления и порядок резервирования. В результате декомпозиции обобщенного представления сети и проведенных уточнений строятся графические схемы всех узлов сети. Тем самым сеть приводится к виду, удобному для ее описания, которое выполняется посредством деклара¬ тивных предложений, определяющих как само устройство, так и различные аспекты его функционирования, а именно: входя- 38
/0й*«г , /Г0/Т7ЯМГ-/ _ /ffffcM , nyjwrffIcmfo{pw,J) 0//fc*r , ffCM/rffOCMffff (ysew, 2) >o ////fcxr /7Я/77ЖД= 7 #/7/77/70Х£У77*/7 tyjf/t, 7) >o 2S- #Г/77/7Я//Г/77#0 ffjar,4) A'ffr/77/r/7ar/77/f^ ► 'I Tf/r/JTtfJ > I /Ж Рис. 9. Логико-структурная схема узла сети щие и выходящие потоки, очереди к устройству, времена обслу¬ живания требований различных потоков, времена отказа и вос¬ становления устройств, механизмы принятия требований на обслуживание, подключения свободных устройств и дообслужи- вания требований. Таким образом, любой узел сети на языке АСИМ описывается комбинацией из следующих девяти предложений: УСТРОЙСТВО, ВХОДЯЩИЙ ПОТОК, МЕХАНИЗМ ОБСЛУ¬ ЖИВАНИЯ, ОЧЕРЕДЬ, ВРЕМЕНА ОБСЛУЖИВАНИЯ, МЕ¬ ХАНИЗМ ПОДКЛЮЧЕНИЯ, ВРЕМЯ ОТКАЗА, МЕХАНИЗМ ДООБСЛУЖИВАНИЯ, ВЫХОДЯЩИЙ ПОТОК. Первое пред¬ ложение идентифицирует узел сети, а остальные — его харак¬ терные особенности. Существенным, на наш взгляд, является возможность представления описания на русском языке, что увеличивает наглядность исходного текста ИМ за счет семан¬ тической нагрузки декларативных предложений. Для иллюстрации примера декомпозиции рассмотрим чет¬ вертый узел сети, приведенной на рис. 8. Декомпозиционная графическая схема этого узла приведена на рис. 9. На схеме показаны источники требований, очереди и порядок их форми¬ рования. Предположим, что интервалы между поступлением требований от внесистемного потока с индексом 1 распределе¬ на по экспоненциальному закону с\интенсивностью, равной 0,5, обе очереди формируются по правилу FIFO, причем очередь 1 °°ладает более высоким приоритетом в обслуживании, и время обслуживания требований всех потоков равномерно распреде¬ лено в интервале от 0,1 до 0,5 условных единиц. В этом случае 39
полное описание четвертого узла в терминах входного языка представляется в виде УСТРОЙСТВО (УЗЕЛ 4) ■ ВХОДЯЩИЙ ПОТОК: (ИНДЕКС ПОТОКА=1 ’ ЭКСПОНЕНЦИАЛЬНОЕ (0.5)), (ИНДЕКС ПОТОКА = 3 УСТРОЙСТВО (УЗЕЛ, 3)), (ИНДЕКС ПОТОКА = 2 УСТРОЙСТВО (УЗЕЛ, 2)), (ИНДЕКС ПОТОКА=1 УСТРОЙСТВО (УЗЕЛ, 1)); ОЧЕРЕДЬ: СМЕШАННАЯ (ИНДЕКС ПОТОКА=1)), ((ИНДЕКС ПОТОКА=1 УСТРОЙСТВО (УЗЕЛ, 1)), (ИНДЕКС ПОТОКА = 2 УСТРОЙСТВО (УЗЕЛ, 2)), (ИНДЕКС ПОТОКА=3 УСТРОЙСТВО (УЗЕЛ, 3))); МЕХАНИЗМ ОБСЛУЖИВАНИЯ: FIFO; ВРЕМЯ ОБСЛУЖИВАНИЯ: РАВНОМЕРНОЕ (0. 1, 0. 5); ВЫХОДЯЩИЙ ПОТОК: (ИНДЕКС ПОТОКА=1) ПЛАНИРОВАНИЕ ПО ВЕРОЯТНОСТИ (1 УСТРОЙСТВО (УЗЕЛ, 5)); Совокупность описаний всех узлов в соответствии с установ¬ ленными синтаксическими правилами представляет собой об¬ щий текст модели, который завершается предложением ВРЕМЯ МОДЕЛИРОВАНИЯ. Для сети, приведенной на рис. 8, общин текст представляется следующим образом: УСТРОЙСТВО (УЗЕЛ, 1); <Предложения описания устройства (УЗЕЛ, 1)> УСТРОЙСТВО (УЗЕЛ, 2); (Предложения описания устройства (УЗЕЛ, 2)> УСТРОЙСТВО (УЗЕЛ, 5); (Предложения описания устройства (УЗЕЛ, 5)> ВРЕМЯ МОДЕЛИРОВАНИЯ (100); Схема сопряжения элементов сети, т. е. согласование вхо¬ дов на одних устройствах с выходами на других, строится ав¬ томатически. Исходной информацией для построения сети слу¬ жит описание входящих потоков к устройству, характеризую¬ щих процесс поступления в систему требований от некоторых источников, которые могут быть как внесистемными, так и внутрисистемными. Каждому источнику независимо от типа приписывается уникальный номер, позволяющий различать по¬ токи требований в сети. Совокупность уникального номера источника и идентификаторов устройства, с которого поступают требования, служит исходной информацией для автоматиче¬ ского формирования связей между узлами сети. При этом поль¬ зователь должен лишь описать входящие потоки к каждому устройству. Выходы строятся автоматически и разработчиком модели не описываются. Такой способ представления связей между обслуживающи¬ ми устройствами позволяет задавать как строго фиксированные маршруты для передачи требований от одного узла к другому, так и неопределенные. Во втором случае правила принятия решения при выборе маршрутов передачи сообщений описыва¬ ются механизмом подключения свободных устройств к обслу¬ живанию либо средствами вероятностного планирования выхо¬ дящего потока. 40
3 3. Назначение и возможности отдельных конструкций входного языка АСИМ Возможности описательных средств языка были выбраны на основании проведенной классификации СМО под углом зре¬ ния исследования сетей методами имитационного моделирова¬ ния. В результате чего выявлены основные элементы и меха¬ низмы СМО, реализация которых во входном языке достаточна для описания широкого класса сетей СМО. Ниже кратко описа¬ ны основные возможности и назначение всех предложений входного языка АСИМ. Устройство. Под обслуживающим устройством (ОУ) пони¬ мается некоторый объект моделируемой системы, способный по своим функциональным возможностям выполнять определенную работу (совокупность операций) по обслуживанию требований. Описание устройства выполняется при помощи ключевого сло¬ ва УСТРОЙСТВО и двух идентификаторов, служащих для обозначения конкретных устройств. В модели не допускается наличие двух или более устройств с одними и теми же значе¬ ниями идентификаторов. Первый идентификатор предназначен для задания имени, которое, как правило, несет некоторую смысловую нагрузку, улучшающую восприятие формального описания модели. Например, в качестве имен могут использо¬ ваться такие обозначения, как ПРИБОР, СТАНОК, КАНАЛ и т. п. Однако включение этого идентификатора в описание яв¬ ляется необязательным. В этом случае устройства различаются только по цифровым значениям второго идентификатора. Для моделирования систем с ненадежными элементами воз¬ можно использование так называемых резервных устройств, подключаемых к работе при выходе из строя основных. Под ос¬ новным понимается такое устройство, по-отношению к которо¬ му задается резервное. В случае отказа основного устройства поступающие на его вход требования передаются на резервное, которое, в свою очередь, может быть ненадежным и являться ос¬ новным по отношению к некоторому другому резервному ОУ. Задание резервного устройства выполняется с помощью спе¬ циальных конструкций, входящих в структуру предложения устройство. Входящий поток характеризует процесс поступления требо- ваний на вход к устройству. Его описание состоит из совокуп¬ ности источников, поставляющих требования на обслуживание. Источники подразделяются на внесистемные и внутрисистем¬ ные. Внесистемные источники задают порядок поступления тре¬ бований в систему извне и определяются уникальным номером (индексом потока) и одним из возможных законов распределе¬ ний, устанавливающим интервалы времени между моментами поступления требований в систему. Вид и параметры закона Распределения входящего потока определяются характером
физических процессов, протекающих в моделируемой системе. В распоряжение пользователя предоставляется возможность имитации входящих потоков, подчиненных следующим законам распределений: равномерному, экспоненциальному, нормально^ му, постоянному, гамма, табличному, Эрланга, Вейбула и Па¬ рето. Для любого из внесистемных источников можно задавать периоды активности и пассивности. В активные периоды про¬ исходит генерация требований, а в пассивные генерация отсут¬ ствует. Интервалы активности и пассивности источника зада¬ ются в общем случае произвольной последовательностью описа¬ ния доступных в АСИМ законов распределений. При этом первое распределение задает период активности источника, второе — его пассивности, затем активности и т. д. Если совокупность интервалов времени активности и пассивности источника в сум¬ ме будет меньше установленного времени моделирования, то после распределения, задающего последний интервал времени, очередной интервал будет получен на основании описания пер¬ вого закона распределения. Таким образом обеспечивается произвольная циклическая последовательность периодов актив¬ ности и пассивности внесистемных входящих потоков. В ряде СМО на вход к устройству поступает не один, а мно¬ жество потоков требований, каждый из которых подчинен оп¬ ределенному закону распределения и имеет свой приоритет. Считается, что требования, относящиеся к i-му потоку, являют¬ ся более приоритетными по отношению к требованиям i-f 1-го потока. Системы, в которых обслуживание производится с уче¬ том приоритетов, называются приоритетными. В таких систе¬ мах задание приоритетов осуществляется при описании внеси¬ стемных источников требований с помощью набора параметров, определяющих класс и приоритет. Последние на основе решаю¬ щего правила (дисциплины обслуживания) определяют относи¬ тельное положение требования в очереди. Это положение может меняться в зависимости от времени вследствие появления в очереди требования высшего или низшего приоритета. Внутрисистемные источники задают порядок поступления тре¬ бований с некоторых других узлов, входящих в структуру иссле¬ дуемой СМО. Любой из внутрисистемных источников характе¬ ризуется уникальным номером и идентификаторами узла, с ко¬ торого поступают требования, что позволяет установить их тех¬ нологический маршрут. Требования, поступающие от внутриси¬ стемных источников, обладают также свойством генерации множества управляющих сигналов типа «включить» и «выклю¬ чить». Сигнал «включить» предназначен для перевода устрой¬ ства в состояние «ГОТОВО», а сигнал «выключить» — в состоя¬ ние «ЗАНЯТО». Реализация свойств генерации сигналов позво¬ ляет управлять структурой сети. При этом характер управления зависит от свойств источников, создающих материальную осно¬ ву для управления. В частности, для регулярных потоков имеет место детерминированное управление, а для случайных — сто- 42
,аСтическое. Сочетание источников, генерирующих требования, '\риодов их активности и управляющих сигналов предоставля¬ ет возможность исследовать модели систем с динамической структурой. В таких моделях отдельные узлы могут выполнять только функции управления, порождая на входе или на выходе множество .сигналов различного функционального назначения. В момент их создания происходит как бы неявный переход от требования к сигналам. При этом исходное требование может покидать систему. В свою очередь, в результате подключения других устройств в узлы сети поступают новые требования, что означает переход от сигнала к требованиям. На последующих этапах возможен очередной переход от сигнала к требованиям и т. д. Средства имитации обоих типов перехода играют важную роль при синхронизации процесса функционирования моделей сложных систем. Совокупность ОУ и сигналов позволяет имитировать работу логических элементов, являющихся аналогами триггеров в электронных схемах. Применение их позволяет реализовать весьма сложное управление как самой сетью, так и способами маршрутизации сообщений. Механизм обслуживания предоставляет возможность описа¬ ния двух наиболее общих групп СМО. Это системы с отказами (без очередей) и системы с ожиданием. В системах с отказами поступившее требование при наличии свободных устройств не¬ медленно принимается на обслуживание, в противном случае получает отказ. В системах с ожиданием (с очередями) вновь поступившее требование, застав все устройства занятыми, уста¬ навливается в очередь и находится в ней до освобождения устройства, после чего выбирается из очереди на обслужи¬ вание. СМО с ожиданием могут быть приоритетными и неприори¬ тетными. В СМО без приоритетов выбор требований на обслу¬ живание может быть произведен по правилам FIFO, LIFO, слу¬ чайным образом либо в соответствии с круговыми циклическими алгоритмами RR или FB [19]. По алгоритму RR требования обслуживаются в порядке их поступления, причем обработка каждого из них ведется в тече¬ ние некоторого установленного кванта времени. Если, обслужи¬ вание требования будет окончено в течение выделенного кванта времени, то требование покидает устройство, а на обработку поступает следующая заявка из очереди. В противном случае заявка устанавливается в конец имеющейся очереди и ожида- ет Дальнейшего обслуживания. ^Согласно алгоритму FB, на входе ОУ организуется N очере¬ дей. Поступившая на обработку заявка устанавливается в ко¬ нвой (п— 1) очереди. Первая заявка из очереди с номером >1 поступает на обработку, когда нет пустых очередей с номе- м, меньшим п. При ti<cN заявка обрабатывается в течение Данного кванта времени. Если за этот период ее обработка 43
завершается, то заявка покидает устройство и на обработку поступает первая заявка из непустой очереди с меньшим номе¬ ром. Заявки из очереди с номером N обслуживаются по алго¬ ритму RR. При описании приоритетных систем возможно задание дина¬ мического либо внешнего приоритета [20]. СМО с динамиче¬ ским приоритетом предполагают наличие на входе узла не¬ скольких очередей и подразделяются на системы, в которых пе¬ ред каждым началом обслуживания производится розыгрыш приоритета среди входящих потоков, и системы с однократным установлением приоритета в начале моделирования. В обоих случаях производится розыгрыш приоритета среди очередей не¬ зависимо от значений классов и приоритетов, установленных для конкретных источников, их формирующих. Роль последних сказывается лишь при определении места, занимаемого требо¬ ванием в очереди. Внешний приоритет, в свою очередь, может быть абсолют¬ ным, относительным, смешанным, абсолютно-относительным и многоуровневым. В СМО с абсолютным приоритетом обслуживание требова¬ ний низшего приоритета немедленно прерывается по прибытии требований с более высоким приоритетом. Обрабатываемое тре¬ бование в зависимости от механизма обслуживания либо теря¬ ется, либо возвращается в очередь, а вновь прибывшее — при¬ нимается на обслуживание. Задание относительного приоритета обеспечивает выбор зая¬ вок на обслуживание в порядке их приоритетов. Однако в от¬ личие от абсолютного приоритета в данном механизме новая заявка с более высоким приоритетом не может прервать обра¬ ботку текущей, даже если последняя менее приоритетная. При¬ бывшее требование устанавливается в очередь, а по окончании обработки на обслуживание принимается требование, обладаю¬ щее наивысшим приоритетом. Смешанный приоритет предполагает выбор абсолютного или относительного приоритета в зависимости от длительности об¬ служивания находящегося на обработке требования с более низким приоритетом. Если планируемое время обработки заяв¬ ки низшего приоритета меньше некоторого заданного значения, то обслуживание текущей заявки продолжается, в противном случае — прерывается. В системах с абсолютно-относительным приоритетом требо¬ вания разбиты на классы, каждому из которых присвоен абсо¬ лютный приоритет. Из имеющихся в системе заявок первыми обслуживаются требования, относящиеся к классу с наивысшим приоритетом. При поступлении заявки, принадлежащей к клас¬ су с более высоким приоритетом, чем обрабатываемая, обслу¬ живание текущей заявки прерывается, а новое требование пе¬ редается на обработку. Внутри одного класса требования раз¬ личных потоков отличаются значениями установленных для них 44
приоритетов. Вновь прибывшее требование, относящееся к тому же классу, что и обрабатываемое, но обладающее более высо¬ ким приоритетом, не прерывает выполнения текущего требова¬ ния. Следовательно, абсолютно-относительный приоритет ха¬ рактеризуется тем, что между требованиями разных классов устанавливается абсолютный приоритет, а внутри класса — относительный. При многоуровневом приоритете, как и в случае абсолютно¬ относительного, входящие потоки требований разбиваются на классы. Внутри класса они дополнительно различаются приори¬ тетами. Однако в отличие от предыдущего между классами су¬ ществует относительный приоритет. Для дисциплин с прерыванием процесса обслуживания до¬ полнительно указываются правила обработки прерванных тре¬ бований. При этом требования могут теряться, либо дообслу- живаться с учетом времени, затраченного на обслуживание, либо дообслуживаться заново. Повторное обслуживание воз¬ можно как с новым временем, так и с прежним. Очередь. В СМО с ожиданием наличие нескольких источни¬ ков на входе к устройству предполагает различные стратегии об¬ разования очередей. В этом плане языковые средства позволяют формировать общие, отдельные либо смешанные очереди. Об¬ щая очередь предполагает постановку требований от всех источ¬ ников в одну очередь, а отдельная — наличие своей очереди для каждого из источников. Смешанная очередь является произ¬ вольной комбинацией общих и отдельных. Кроме того, любая из очередей может обладать определенным приоритетом в обслу¬ живании относительно других и обрабатываться как одним, так и группой устройств. При этом одна и та же очередь для раз¬ личных узлов может обладать своим приоритетом. При описа¬ нии очереди возможно задание ограничений на ее длину, макси¬ мально возможное время пребывания требований в ней и ве¬ роятность постановки в очередь. Нарушение установленных ограничений позволяет изменить стратегию обработки части тре¬ бований. Последние могут покидать систему либо направляться для обслуживания в другие узлы. На устройствах с ограниченными очередями может быть оп¬ ределен режим работы «без потерь». В этом случае требование, застав прибор занятым, а очередь переполненной, не покидает предыдущее устройство (хотя обработка на нем закончена) до тех пор, пока в очереди не появится свободное место. После этого задержанное требование устанавливается в очередь, а устройство, с которого оно поступило, освобождается. В СМО с несколькими очередями на входе к устройству воз¬ можно задание режима циклического обслуживания, позво¬ ляющего передавать требования из очереди на обслуживание На основании запроса. Запрос выдается обслуживающим Устройством через некоторые интервалы времени, которые оп¬ ределяются в общем случае указанным законом распределения. 45
Факт обращения к очереди дает возможность направить стоя¬ щее в ней сообщение на обслуживание. Если при этом очередь будет пуста, то имеет место холостой ход. Обращение к следую¬ щей очереди будет происходить через установленный интервал независимо от того, находились ли сообщения в предыдущей очереди. После опроса последней очереди, описанной на входе к ОУ, следующий запрос выдается для первой очереди. Таким образом, до конца моделирования для всех очередей последова¬ тельно будет происходить циклический опрос. Механизм подключения представляет собой сочетание средств описания выбора маршрута и определёния момента го¬ товности обслуживающего устройства. Выбор маршрута для передачи требований на очередной этап обработки при наличии альтернативных устройств может производиться в соответствии с заданными приоритетами в порядке освобождения либо рав¬ новероятно. Момент начала обработки требований в узле мо¬ жет быть задержан посредством задания времени «разогрева 1-го либо 2-го рода» [21]. В некоторых СМО поступившее требование не может тотчас же быть принято на облуживание, так как для включения или подготовки устройства к работе требуется некоторое время «разогрева». Задание режима работы с «разогревом» фактиче¬ ски реализует задержку в обслуживании на определенное вре¬ мя, которое может быть как детерминированным, так и случай¬ ным. Отсчет времени «разогрева» производится не с начала мо¬ делирования, а с момента поступления первого требования, для которого задан «разогрев». Поступившее на вход к устройству требование становится в очередь. По истечении заданного вре¬ мени «разогрева» начинается процесс обслуживания. В общем случае на вход к устройству могут поступать требования от разных источников. Если у требований разных потоков законы распределения времени «разогрева» различны, то имеет место «разогрев 1-го рода», а если одинаковы — «разогрев 2-го рода». Для исследования систем с малой загрузкой введено поня¬ тие «порог включения» [22]. Его использование позволяет на¬ чать обслуживание при наличии на входе устройства числа тре¬ бований, равных некоторому пределу. В момент завершения обработки последнего требования устройство отключается до очередного достижения «порога включения». Время обслуживания является одной из важнейших харак¬ теристик, определяющих пропускную способность узлов сети. Возможно задание времени обслуживания в виде случайной ве¬ личины, подчиненной любому из доступных законов распределе¬ ний. Закон распределения и его параметры для каждого входя¬ щего потока могут быть различными. Кроме того, предусмотре¬ на возможность обслуживания в режиме квантования [23]. В этом режиме допускается обслуживание требований как от части, так и от всех источников. Время отказа. Многие практические задачи приводят к не- 46
Сходимости рассмотрения СМО с ненадежными элементами [24]. В таких системах моменты отказа ОУ и длительности ин¬ тервалов времени их восстановления могут выдаваться в моде- пи всеми доступными законами распределений. Для любого из ненадежных узлов можно указать резервное ОУ. Тогда требо¬ вания, поступающие на отказавшее устройство, будут направ¬ ляться на резервное. Характер обслуживания на резервном мо¬ жет не совпадать с правилами обработки требований на отка¬ завшем ОУ. Последнее может быть также ненадежным и иметь резервное и т. д. Механизм дообслуживания характеризует стратегию обра¬ ботки требований, в процессе обработки которых наступил от¬ каз* По содержанию выполняемых действий в сбойных ситуа¬ циях различаются СМО с дообслуживанием, с потерями и с повторным обслуживанием [25]. В системах с дообслуживанием требование, находящееся на обработке в момент отказа ОУ, возвращается в очередь и за¬ нимает в ней место в соответствии с механизмом обслужива¬ ния. После восстановления отказавшего устройства требование поступает на обслуживание. При этом учитывается время, ранее затраченное на его обработку. СМО с потерями, в свою очередь, делятся на системы, в ко¬ торых требования теряются независимо от наличия других сво¬ бодных устройств, и системы, в которых потеря происходит только в случае отсутствия альтернативных свободных и ис¬ правных устройств. При наличии таких устройств требование немедленно передается другому устройству и его обслуживание продолжается. Повторное обслуживание возможно с прежним либо с но¬ вым временем. В обоих случаях прерванное требование возвра¬ щается в очередь, причем может занимать первое место в ней либо устанавливаться в очередь на общих основаниях. Выходящий поток служит для задания некоторых нестан¬ дартных моментов поведения требований после прохождения этапа обработки. В частности, в выходящем потоке исходная заявка может стать источником новых требований. Формально это представляет собой процесс деления одной заявки на N. Каждое вновь созданное требование по своей физической сущ¬ ности ничем не отличается от исходного. В СМО с приоритета¬ ми порожденные требования относятся к тому же классу и об¬ ладают тем же приоритетом, что и заявка, их породившая. Ко¬ личество порожденных требований строго зависит от числа за¬ данных маршрутов. При этом совпадение маршрутов неявно задает процесс группового поступления требований на ОУ. Пра- вила планирования сгенерированных требований могут быть как детермированными, так и вероятностными. Наряду с про¬ цессом деления возможна генерация множества управляющих сигналов типа «включить» и «выключить», назначение которых аналогично сигналам, сгенерированным во входящем потоке. 47
Другим не менее важным свойством выходящего потока явля¬ ется способ определения дальнейшего маршрута. Суть его за¬ ключается в том, что выбор маршрута производится на основе вероятностей, приписанных каждому из альтернативных уст¬ ройств. Использование вероятностного способа планирования позволяет отменить стандартные правила планирования, опре¬ деляемые механизмом подключения. Отмеченные особенности выходящего потока возможно приписывать любому подмно¬ жеству источников, входящих в общую структуру потока. Время моделирования устанавливает интервал, на котором необходимо имитировать поведение исследуемой СМО. Значе¬ ние его может задаваться как в условных, так и в реальных единицах. Кроме того, в описании времени моделирования воз¬ можно определить режим моделирования — однопрогонный либо многопрогонный. Однопрогонный режим предполагает ис¬ следование системы на интервале (О, Т), а многопрогонный — N-кратное повторение однопрогонного режима с использовани¬ ем независимых реализаций внешних случайных воздействий. Любой режим допускает использование средств, обеспечиваю¬ щих сбор статистики в стационарном режиме. Контроль за мо¬ ментом начала стационарного режима производится с исполь¬ зованием непараметрического критерия Вилкоксона. Характер и форму переходного процесса возможно получать в виде вре¬ менной диаграммы, отражающей траекторию изменения оцен¬ ки контролируемого параметра во времени. Сбор, обработка и выдача результатов машинного экспери¬ мента в однопрогонном режиме полностью автоматизированы и не требуют от исследователя использования каких-либо ин¬ струкций в описании модели. Вывод результатов производится в стандартной форме в виде таблиц, содержащих информацию о функционировании модели, отдельно для обслуживающих устройств, очередей и всей системы в целом. Сбор и обработка результатов эксперимента в многопрогон¬ ном режиме производятся на основании инструкций пользова¬ теля, в которых указывается, реализации каких характеристик необходимо обрабатывать и какие оценки необходимо полу¬ чить. Обработка производится в предположении независимости отдельных реализаций исследуемых величин, для их анализа применяются традиционные статистические методы. В част¬ ности, средства статистической обработки позволяют получить оценки моментов до 4-го порядка включительно, эксцесса, асимметрии, коэффициента вариации, их погрешностей, оценки интегральной, дифференциальной функций распределения, а также доверительную область для оценки дифференциальной функции с заданным коэффициентом доверия. Выдача резуль¬ татов производится автоматически в стандартной форме при достижении заданной точности и уровня доверия либо при за¬ вершении заданного числа прогонов. Многопрогонный режим позволяет формировать оценки характеристик ИМ без предва¬ 48
рительного накопления отдельных реализаций в памяти ЭВМ, что значительно сокращает ресурсы оперативной памяти ЭВМ. К дополнительным возможностям входного языка АСИМ от¬ носятся средства сокращения общего текста описания ИМ. Ис¬ пользование понятия «ссылка» позволяет устранить дублирова¬ ние описаний одноименных предложений, относящихся к раз¬ личным узлам. В этом случае за основу будет взято описание идентичного предложения из ОУ, на которое указывает ссылка. Допускается задание ссылок на любые узлы. Количество ссы¬ лок в описании ОУ неограничено, что позволяет заменить на них все описания предложений. Возможно также задание пе¬ рекрестных ссылок, обеспечивающих формирование описания ОУ с использованием текста двух и более устройств, ссылаю¬ щихся при этом друг на друга. Сокращение текста модели мо¬ жет достигаться также за счет использования мнемонических сокращений отдельных конструкций входного языка. Глава четвертая ДИАЛОГОВЫЙ РЕЖИМ ПРОВЕДЕНИЯ МАШИННЫХ ЭКСПЕРИМЕНТОВ И ПРОГРАММНЫЕ СРЕДСТВА ЕГО РЕАЛИЗАЦИИ 4.1. Необходимость диалога в моделировании Обширность и многомерность пространства параметров, ис¬ пользуемых при моделировании сложных систем, требуют зна¬ чительного расхода времени даже на мощных ЭВМ, тщательно¬ го и гибкого планирования проводимых экспериментов. По этой же причине затруднен отбор существенных параметров и учет многофакторных взаимодействий. В результате нередко оказывается, что параметры, ранее считавшиеся несуществен¬ ными, оказываются существенными, что требует новых экспери¬ ментов с измененным планом. Положение еще более усложняет¬ ся при оптимизации моделей. Введение в схему эксперимента критериев, не все из которых хорошо формализуются, а некото¬ рые изменяются и добавляются в ходе исследования модели, часто выходит за рамки возможностей известных методов опти¬ мизации. В таких случаях поиск оптимального решения продол- Жается^'на основе интуиции исследователя. В то же время потреб¬ ности науки и практики требуют создания все более сложных моделей и получения все более точных результатов. Использо- нание на этапах планирования и проведения машинных экспе¬ риментов диалогового режима позволяет сделать качественный 49
шаг вперед — ввести в цикл имитационного эксперимента как главное и решающее звено человека, подключить его опыт и интуицию в дополнение к многочисленным, но строгим и пото¬ му негибким математическим методам исследования и оптими¬ зации. Наблюдая за ходом эксперимента и имея возможность в любой момент получить интересующую информацию о теку¬ щих результатах, исследователь может комбинировать, и изме¬ нять параметры модели и применяемых методов, и вести на¬ правленный поиск оптимального (или интересного, с его точки зрения) решения. При этом полностью могут использоваться неформальная логика и качественные оценки, недоступные са¬ мым совершенным математическим методам. Такой подход к проведению экспериментов позволяет достигнуть значительной экономии машинного времени за счет исключения неинтерес¬ ных комбинаций параметров и сосредоточения ресурсов ЭВМ на «проигрывании» существенных вариантов. При оптимизации модели исследователь может, например, изменять шаг и на¬ правление изменения параметров, ускоряя процесс поиска оптимума, или вообще прервать эксперимент, если поиск зашел в тупик. Диалоговый режим особенно важен для эксперимен¬ тов с динамическими моделями, при функционировании кото¬ рых интересен не только конечный результат, но и промежуточ¬ ные состояния. Говоря о полезности и необходимости диалогового режи¬ ма на завершающих этапах процесса имитационного моделиро¬ вания, следует отметить возможность его применения для по¬ строения, отладки и модификации программных моделей. Причем диалоговое взаимодействие на этапе построения моде¬ ли должно быть ориентировано на программиста, а на этапах эксперимента и анализа результатов — в основном на специа¬ листов других областей знаний, не являющихся профессиональ¬ ными программистами. 4.2. Пути введения диалогового режима в практику имитационного моделирования В наиболее явном виде идея диалога реализована в диало¬ говых системах моделирования (ДСМ). Значительно отли¬ чаясь друг от друга, они в то же время имеют и общие черты. Это, во-первых, наличие в каждой из них своего языка модели¬ рования и, во-вторых, наличие противоречия между универ¬ сальностью и возможностями системы. Не ставя целью дать обзор ДСМ, отметим характерные особенности наиболее изве¬ стных из них. Система OPS-3 [26] имеет фортраноподобный язык, весьма гибкие средства для взаимодействия с моделью во время рабо¬ ты вплоть до изменения структуры модели без ее повторной компиляции. Недостаточные возможности OPS-3 для модели- 50
пования сколько-нибудь сложных систем ограничили ее приме¬ нение целями обучения. Приблизительно ту же область применения имеет ДСМ SIMPLE [27], язык которой использует основные идеи извест¬ ных языков моделирования SIMULA и GPSS. Более развитой является система SIMCON [28], ориентиро¬ ванная на ФОРТРАН-программы описания процессов в моде¬ ли. Эта система обладает достаточными средствами взаимодей¬ ствия пользователя с моделью, но автоматически ограничена возможностями ФОРТРАНа и имеет слабые языковые сред¬ ства. Проект системы OPS-4 [29] (развитие идей OPS-3) предпо¬ лагал реализацию практически всех возможностей диалогового режима на этапах построения, отладки и работы модели. Язык системы, базирующийся на мощном универсальном алгоритми¬ ческом языке ПЛ/1, предоставляет пользователю гибкие воз¬ можности, дополненные специальными средствами, необходи¬ мыми для описания моделей. Эта ДСМ, представляющая собой попытку объединить универсальность с широкими возможнос¬ тями и эффективной машинной реализацией, не была выполне¬ на в объеме проекта. Общей чертой упомянутых выше ДСМ является то, что использование всех возможностей этих систем требует хоро¬ шей подготовки пользователя в области программирования. Другой класс ДСМ—проблемно-ориентированные системы. При создании таких ДСМ можно построить варианты диалога, более адекватные проблеме и ориентированные на определен¬ ный круг пользователей. Для них часто удается совместить достаточные возможности и эффективную машинную реализа¬ цию с относительно небольшими затратами на их создание. Типичным примером подобной ДСМ является система модели¬ рования клеточных моделей AISSP [30], базирующаяся на проблемно-ориентированном языке имитации CSSL [31]. Объект моделирования — регулярная однородная сеть, состоя¬ щая из одинаковых компонент, каждая из которых может на¬ ходиться в одном из заранее известных состояний и влиять па соседние с ней компоненты. Разработка ДСМ такого типа по¬ зволяет решить почти все проблемы, связанные с внедрением: Диалогового режима в практику имитационного моделирования Ценой отказа от универсальности. В целом можно отметить, что внедрение, модернизация и надлежащее использование уже разработанных ДСМ, универ¬ сальных и проблемно-ориентированных, несмотря на их недо¬ статки, значительно повысили бы эффективность машинной имитации и расширили бы круг применения этого метода. Од¬ нако немаловажным, хотя и не относящимся к моделированию, аспектом данной проблемы является труднодоступность упо¬ мянутых ДСМ и в меньшей мере базирование их на разно¬ образные языки, операционные системы и ЭВМ, не всегда соот- 51
ветствующие и доступные к адаптации на машинах типа ЕС. Разработка новых ДСМ, как всегда, сталкивается со всеми проблемами, часть из которых отмечена выше. Появление оче¬ редной системы моделирования, которых и так уже насчитыва¬ ется несколько десятков, воспринимается ее потенциальными пользователями без особого энтузиазма, что обусловлено не только субъективными причинами. Часто случается, что систе¬ ма, на создание которой израсходовано немало времени и средств, используется только ее разработчиками. Поэтому при проектировании новых систем особое внимание следует уделять обеспечению широкой области ее применения, простоте освое¬ ния и удобству эксплуатации. Следует сказать несколько слов об общецелевых диалого¬ вых системах построения и отладки программ, таких, как ЛЕС [32], АПРОП [33] и т. д. Эти системы позволяют в принципе ввести диалоговый режим на этапе построения моделей и, буду¬ чи достаточно универсальными, способны ускорить этот про¬ цесс на алгоритмических языках, а приложив определенные усилия, — и на специальных языках моделирования. Это, разу¬ меется, возможно, если общесистемное математическое обеспе¬ чение этих языков совместимо с операционной системой, в рам¬ ках которой работают эти диалоговые системы. Например, нетрудно совместить диалоговый режим при построении и мо¬ дификации описания модели в системе АСИМ и запуск средств обеспечения вычислительного процесса этой системы в рамках диалогового монитора ЛЕС. 'Для систем-моделирования подобно¬ го типа такое применение диалогового режима, видимо, явля¬ ется единственно целесообразным. Так как упомянутые диало¬ говые системы не содержат специфических средств, необходи¬ мых для управления имитационным экспериментом, то их применение для целей моделирования ограничено этапом по¬ строения моделей. Касаясь перспектив введения диалогового режима в сущест¬ вующие и применяемые на практике системы моделирования, такие, как GPSS [34], НЕДИС [35], SIMULA [36], АСИМ и др., нужно отметить, что в большинстве случаев внесение существенных изменений в сложный программный комплекс обходится не дешевле, чем создание нового. Несколько иначе обстоит дело с открытыми системами и пакетами прикладных программ, такими, как GASP-PL/1 [37] и ДИСМ, которые не имеют своего языка моделирования и допускают дополнение к ним любых программных средств без изменения уже сущест¬ вующих. Использование закрытых систем моделирования, имеющих собственный язык и транслятор с него, имеет еще одну особен¬ ность. Создание всех этих систем преследовало цель повыше¬ ния эффективности машинной имитации. При этом обычно основные усилия направлялись на автоматизацию процесса непосредственного построения модели. Безотносительно к тому, 52
Рис. 10. Схема взаимодействия диалоговой системы с моделью в имитационном эксперименте насколько эта цель была достигнута в различных системах моделирования, такое положение приводит к значительному уменьшению гибкости этапа планирования и проведения ма¬ шинного эксперимента. Системы типа АСИМ, упрощая техно¬ логию построения моделей, идеально приспособлены для своего круга задач. В то же время более гибкими и точными являют¬ ся модели, написанные на универсальных языках и с исполь¬ зованием ППП, ориентированных на имитационное моделиро¬ вание. Такие модели, несмотря на обилие языков и систем моделирования, по-прежнему широко используются на практи¬ ке, так как дают возможность в полной мере применять мощ¬ ные методы понижения дисперсии, позволяющие уменьшить во много раз статистические погрешности моделирования [38], приемы контроля и управления точностью и сложностью моде¬ лей [39] с целью получения обоснованных оценок точности и Достоверности результатов. С учетом всего сказанного представляется целесообразным в сложившейся ситуации создание универсального комплекса программных средств обеспечения диалогового режима управ¬ ления имитационным экспериментом, ориентированного на ра¬ боту с моделями, написанными на одном или нескольких рас¬ 53
пространенных алгоритмических языках (возможно, с исполь¬ зованием открытых систем и пакетов типа GASP и ДИСМ). Комплекс должен быть максимально простым в освоении и применении пользователями, не имеющими специальной подго¬ товки, не должен вызывать существенных изменений в уже построенных моделях и должен реализовывать все важнейшие функции диалога человека и ЭВМ. Далее будут сформулиро¬ ваны конкретные требования и обоснованы решения, принятые при создании такого комплекса. Предлагаемый подход совер¬ шенно не исключает, а дополняет разработку новых или внед¬ рение существующих ДСМ. На рис. 10 приведена схема взаимо¬ действия исследователя, диалоговой системы, модели и блока организации имитационного эксперимента при описываемом подходе. Программная модель исследуемой системы представ¬ ляется как черный ящик, имеющий вход — вектор параметров модели PARm и выход — вектор результатов RES, общем случае зависящий от текущего модельного времени. Блок организации имитационного эксперимента может отсутствовать в самостоя¬ тельном виде. В этих случаях элементы организации экспери¬ мента реализуются в самой модели, и в вектор параметров модели могут входить и параметры плана эксперимента PARp. Диалоговая система осуществляет взаимодействие между мо¬ делью и исследователем, который может в любой момент вре¬ мени узнать текущие значения параметров и результатов, а также воздействовать на эксперимент и модель путем измене¬ ния всех или части параметров, приостановки или завершения эксперимента и т. д. Учитывая накопленный опыт [30, 40], к диалоговой системе, основанной на предложенном подходе, можно сформулировать следующие основные требования. 1. Требования к обеспечению диалогового процесса. а. Использование дисплея в качестве основного техническо¬ го средства обеспечения диалога как наиболее соответствую¬ щего требованиям оперативности и гибкости диалогового вза¬ имодействия. б. Возможность управления экспериментом (запуск, окон¬ чание, приостановка и возобновление моделирования с прерван¬ ной точки по инициативе исследователя). в. Возможность вывода всех или части параметров и резуль¬ татов, а также изменения параметров по инициативе экспери¬ ментатора. Программные прерывания, возникающие в процес¬ се работы модели из-за ошибок пользователя или сбоев аппа¬ ратуры, не должны влиять на работоспособность диалоговой системы. г. Наличие гибких средств ввода-вывода информации на дисплей, доступных в программах пользователя. д. Обработка критических ситуаций (нормальное или ава¬ рийное завершение программы, ошибки пользователя, сбой либо отказ технических средств и т. д.). Диагностика синтак- 54
сических и логических ошибок при вводе команд пользова¬ телем. е. Наличие механизма иерархии изображения на экране дисплея в случае его недостаточной емкости для отображения вновь поступивших порций информации за счет удаления уста¬ ревших. При этом должно сохраняться естественное располо¬ жение данных на экране (наиболее «старые» — сверху). ж. Возможность получения твердой копии диалога на бу¬ маге. 2. Требования к подготовке моделей и обеспечению вычисли¬ тельного процесса. а. Подготовка моделирующих программ к работе . с диало¬ говой системой не должна касаться их алгоритмической части и в то же время реализовывать их совместимость с уже разра¬ ботанными программами в рамках выбранной операционной системы и языка программирования. б. Средства обеспечения вычислительного процесса долж¬ ны максимально упрощать разработку, отладку и выполнение моделирующих программ, предоставление всех имеющихся в распоряжении пользователя средств операционной системы, а также не должны ограничивать применение произвольных имен и структур программ. в. В плане введения диалогового режима при разработке и отладке программ диалоговая система должна допускать при¬ менение без каких-либо доработок общецелевых диалоговых систем построения и отладки программ, работающих в среде выбранной операционной системы. Кроме этих требований, выбранные базовые технические и программные средства, программная реализация системы должны обеспечивать широкий круг пользователей, простоту освоения и эксплуатации системы, возможность ее наращива¬ ния и совершенствования. С учетом сформулированных требований в качестве базовых средств предлагаемой в настоящей работе диалоговой системы выбраны операционная система ОС ЕС (управляющая про¬ грамма— MVT или MFT с подзадачами), ЭВМ типа ЕС, комп¬ лекс алфавитно-цифровых дисплеев ЕС-7906. Основным языком программирования выбран ПЛ/1, а для написания ряда моду¬ лей системы, работающих с управляющими блоками операци¬ онной системы и реализующих ввод-вывод на экранный пульт, — АССЕМБЛЕР. Разработанная диалоговая система взаимодействия с моделями (ДСВМ) удовлетворяет перечис¬ ленным выше требованиям и характеризуется следующими осо¬ бенностями. Исходя из результатов исследований [41], обоб¬ щающих накопленный опыт по созданию и эксплуатации диа¬ логовых систем, в качестве 'типа диалога, оптимального для взаимодействия человека и программной модели, в ДСВМ реа¬ лизован диалог со смешанной инициативой. Во время имита¬ ционного эксперимента инициатива принадлежит человеку, ко¬ 55
торый, пользуясь возможностями диалоговой системы, управ¬ ляет ходом эксперимента, работает по своему усмотрению с параметрами и результатами модели и т. д. Инициатива пере¬ ходит к системе при возниковении критических ситуаций, тре¬ бующих от человека вполне определенных действий, выполне¬ ние которых нельзя переложить на систему. Такими критиче¬ скими ситуациями, например, являются окончание выполнения моделирующей программы вследствие прерывания, достижения конца программы или исполнения системой команды «конец эксперимента»., логическая или синтаксическая ошибка при вве¬ дении команды, требующая от системы диагностики ошибок и, возможно, указания пользователю списка его возможных отве¬ тов и т. п. В ДСВМ предусмотрена возможность работы с консолью оператора вместо дисплея. Определение устройства, реализующего диалоговый режим, можно производить как во время запуска системы, так и динамически, в процессе ее функ¬ ционирования. Диалоговая система ориентирована •на работу с ПЛ/1-программами и проблемно-ориентированными пакета¬ ми прикладных программ, базирующихся на языке ПЛ/1 (ДИСМ, СРПИ-1, GASP—PL/1), любая ПЛ/1-программа или комплекс программ могут быть запущены под контролем систе¬ мы. Для этого достаточно описать некоторым стандартным образом параметры и результаты, которые выделяются среди переменных модели. Параметры и результаты могут представ¬ лять собой произвольные агрегаты данных любого класса па¬ мяти, состоящих из переменных плавающего формата обычной точности. После подготовки программ необходимо воспользо¬ ваться средствами организации вычислительного процесса, входящими в состав ДСВМ для требуемой обработки программ (трансляции, редактирования и выполнения). Объединение пользовательских программ с модулями диалоговой системы производится на шаге редактирования. Процедуры языка управления заданиями, включенные в ДСВМ, написаны по стандарту ОС ЕС и позволяют без доработок применять диа¬ логовые системы типа JEC и АПРОП для этапов построения и отладки программ. ДСВМ можно использовать также с про¬ граммами, написанными на других языках, например ФОРТРАН, КОБОЛ, трансляторы с которых имеются в ОС ЕС, а также с программами на языке АССЕМБЛЕР. В этому слу¬ чае необходимо учитывать особенности этих языков и ПЛ/1, имеющие значение для передачи и приема параметров, разли¬ чия в типах данных и способах построения агрегатов данных различными трансляторами. В заключение данного параграфа кратко остановимся на основных блоках ДСВМ и выполняемых ими функциях. ДСВМ включает управляющую программу, монитор, блоки ввода- Еывода и средства организации вычислительного процесса. Не¬ обходимые диалоговые функции системы, возможность автома¬ тического контроля за ходом выполнения произвольной про¬ 56
граммы пользователя и вмешательства извне в процесс экс¬ перимента обеспечиваются мультизадачной структурой ДСВМ, реализованной средствами мультизадачности языка ПЛ/1. Управляющая программа обеспечивает запуск монитора, контроль за окончанием выполнения модели и обработку раз¬ личных ситуаций, возникающих вследствие этого. Монитор в ДСВМ реализует все функции по связи системы с программой пользователя, приему и исполнению команд, вво¬ димых с терминала. К этим функциям относятся запуск модели, определение адресов агрегатов данных, представляющих пара¬ метры и результаты модели, организация приема информации с экранного пульта, обработка ввода пользователя, синтакси¬ ческий и логический анализ введенных команд, исполнение ко¬ манд и диагностика ошибок, допускаемых человеком. Блок ввода-вывода осуществляет связь других модулей ДСВМ с терминалом (дисплеем или консолью оператора), а также, если это необходимо, копирует ввод и вывод, произво¬ димый через терминал, на АЦПУ. Значения ключей, определя¬ ющих выбор терминала и необходимость копирования диалога на АЦПУ, определяются в управляющей программе при запус¬ ке системы и могут изменяться в процессе эксперимента с по¬ мощью соответствующих команд монитора. Ввод и вывод информации осуществляются символьными строками перемен¬ ной длины. Для дисплея максимальная длина строки для вво¬ да и вывода равна 880 символам (И строк на экране), для консоли оператора эта длина зависит от типа устройства и со¬ ставляет от 72 (пишущая машинка «Консул») до 120 символов (матричное устройство типа ЕС-7076). При копировании диало¬ га на АЦПУ информация воспроизводится на странице в виде 80-символьных строк (в позициях с 41-й по 120-ю) и в точно¬ сти повторяет изображение на экране. Модули ввода и вывода на экранный пульт написаны на языке АССЕМБЛЕР и используют макрокоманды графического метода доступа. Они реализуют передачу данных из програм¬ мы в буфер индикатора, чтение буфера индикатора, обработку сигнала внимания и обеспечивают иерархию изображения на экране — отображение новых строк за счет удаления наиболее устаревших. В функции этих модулей входит также формирова¬ ние кода возврата, содержащего информацию об удачном или неудачном завершении соответствующей операции ввода-вы¬ вода. Блок синхронного ввода-вывода, являясь необязательным средством связи программы пользователя с терминалом, обес¬ печивает вывод информации на терминал с ожиданием ответ¬ ного ввода и передачу введенной информации в программу пользователя. Кроме того, возможен вывод данных без ожида¬ ния ответного ввода. 57
4.3. Возможности диалога и управления имитационным экспериментом ДСВМ Контроль и управление ходом имитационных экспериментов в ДСВМ обеспечиваются средствами диагностики управляющей программы и монитора, а также языком команд монитора. В начале каждого эксперимента УП выводит на АЦПУ со¬ общение ***** НАЧАЛО ЭКСПЕРИМЕНТА N * * * * * Число N является порядковым номером данного экспери¬ мента с начала сеанса работы ДСВМ. Количество эксперимен¬ тов в одном сеансе не ограничено. Как отмечалось выше, УП контролирует и обрабатывает ситуацию окончания эксперимен¬ та, т. е. завершения выполнения программы модели. При этом управление переходит к УП, которая выводит на АЦПУ сооб¬ щение ***** КОНЕЦ ЭКСПЕРИМЕНТА N * * * * * и проводит анализ причин окончания эксперимента. Такими причинами могут быть: нормальное окончание, аварийное окон¬ чание, обусловленное программным прерыванием или сбоем оборудования, и ввод с терминала команды монитора, требую¬ щей немедленного окончания текущего эксперимента. В первых двух случаях управляющая программа выводит на терминал сообщение ЭКСПЕРИМЕНТ N ЗАКОНЧЕН НОРМАЛЬНО. НАЧАТЬ НОВЫЙ — ’&В', ЗАКОНЧИТЬ СЕАНС — ’&Е’ ИЛИ ЭКСПЕРИМЕНТ N ЗАКОНЧЕН АВАРИЙНО. НАЧАТЬ НОВЫЙ — ’&Б’, ЗАКОНЧИТЬ СЕАНС — ’&Z7’ и переходит в ожидание ответа от исследователя. Инициатива в данном диалоге принадлежит системе, человек же должен выбрать один из двух возможных ответов. Форма ответов и ’&F унифицирована с соответствующими командами монитора, описание которых будет приведено далее. Любой ответ, полученный с терминала, кроме управляющей про¬ граммой интерпретируется как указание закончить сеанс. При получении ответа ’&В’ управляющая программа, возвращаясь к запуску монитора, начинает новый сеанс. Если эксперимент завершился по команде монитора, УП производит анализ этой команды. К окончанию эксперимента могут привести три команды монитора: &В, &Е и &F. При выполнении монитором команды &F управление в УП не пере¬ дается. Если выработана команда &£, после завершения под¬ задачи модели УП выдает сообщение ЭКСПЕРИМЕНТ N ЗАКОНЧЕН ПО КОМАНДЕ. НАЧАТЬ НОВЫЙ — г&В\ ЗАКОНЧИТЬ СЕАНС — ’&F’. 58
Дальнейшая обработка этой ситуации происходит аналогично случаям, описанным выше. Если причиной окончания эксперимента был ввод команды управляющая программа выдает на терминал сообщение ЭКСПЕРИМЕНТ N ЗАКОНЧЕН ПО КОМАНДЕ и, не требуя ответа, приступает к подготовительным действиям и запуску следующего N+l-го эксперимента. Весь диалог УП происходит через блок ввода-вывода. Возможности управления процессом имитационного экспе¬ римента, работа с параметрами и результатами модели в ДСВМ реализованы в виде простого языка команд монитора. Команды вводятся с помощью клавиатуры пульта ЕС-7066 или, если в качестве терминала используется консоль оператора, с помощью команды оператора REPLY. Каждая из команд мо¬ жет быть выдана в любой момент времени после запуска про¬ граммы модели в период готовности монитора к выполнению команд. Данный период определяется временем от последнего появления на терминале сообщения «МОНИТОР ГОТОВ» до нажатия кнопки «ВВ» на пульте дисплея (или соответственно клавиши «Конец текста» на консоли оператора). В этих слу¬ чаях монитор начинает анализ и соответствующую обработку введенной информации. Реакция монитора в каждом случае зависит от содержания ввода и конкретной ситуации. В период обработки монитором ввода с терминала первый не готов к приему новых команд. Любой ввод (точнее, нажатие клавиши «ВВ»), произведенный в это время с пульта дисплея, приведет к блокированию клавиатуры, которое снимается нажатием клавиши «ВСТ». В случае использования консоли оператора такой «лишний» ввод будет эквивалентен для операционной системы команде оператора REPLY, выданной без запроса, и подобная ситуация будет диагностироваться средствами са¬ мой ОС. Обработка монитором любого ввода заканчивается либо исполнением команды, либо передачей ввода пользователя в программу модели. Во всех случаях монитор, завершив обра¬ ботку, снова выдает сообщение «МОНИТОР ГОТОВ» и перехо¬ дит к готовности, кроме ситуации, когда была введена коман¬ да, требующая немедленного завершения эксперимента. При этом управление переходит к УП, которая берет инициативу в диалоге на себя, а монитор прекращает свою деятельность и, соответственно сообщение о своей готовности не выводит. Если в качестве терминала используется дисплей, послед¬ нее сообщение «МОНИТОР ГОТОВ» всегда будет появляться на экране в 11-й строке. При работе с консолью оператора (в том числе если эта консоль — дисплей) расположение сооб¬ щений монитора среди системных сообщений и команд опера¬ тора может быть произвольным. Поэтому сигналом к готовно¬ 59
сти монитора является последнее сообщение «МОНИТОР ГО¬ ТОВ», на которое не было ответа. Формат всех команд следующий: ПРИЗНАК КОД КОМАНДЫ [ПРОБЕЛ ПАРАМЕТРЫ]. Признак и код команды всегда должны быть расположены соответственно в первой и второй позициях вводимой строки. Нарушение этого условия приводит к выдаче диагностического сообщения «НЕПРАВИЛЬНАЯ КОМАНДА». Признак коман¬ ды— амперсанд (&)—введен для отличия команды от произ¬ вольной информации, вводимой человеком в программу моде¬ ли через блок синхронного ввода-вывода. Соответственно ввод пользователя не должен начинаться с амперсанда, иначе он будет воспринят как команда. За амперсандом следует одно¬ символьный мнемонический код команды. В дальнейшем текс¬ те обозначения команд будут использоваться без признака. В ДСВМ реализовано 11 команд, которые можно разделить на команды управления экспериментом (Я, В, Я, Я, А), коман¬ ды управления копированием диалога (R, N), команды измене¬ ния типа терминала (D, С) и команды, работающие с парамет¬ рами и результатами модели (Я, G). Остановимся более по¬ дробно на рассмотрении команд, действиях монитора по их выполнению, возможных ошибках при задании команд и реак¬ ции на них диалоговой системы. Команда Е — закончить эксперимент. Команда £\ не имею¬ щая параметров, вводится исследователем при необходимости по тем или иным причинам завершить текущий эксперимент с моделью. Такая ситуация может возникнуть, например, когда модель в процессе своего развития во времени прошла интере¬ сующий экспериментатора момент и дальнейшее ее функциони¬ рование не имеет смысла, или результаты, вывод которых пре¬ дусмотрен во время выполнения модели, а также результаты, выведенные на терминал по желанию пользователя командой Я, свидетельствуют о неудачных значениях параметров модели или плана эксперимента, которые желательно изменить и на¬ чать эксперимент заново и т. п. Допущенные при наборе этой команды ошибки могут привести к выдаче монитором диагно¬ стического сообщения «НЕПРАВИЛЬНАЯ КОМАНДА», после чего монитор опять готов к приему команды. Если признак и код команды набраны правильно, значения остальных симво¬ лов строки ввода (если такие имеются) могут быть произволь¬ ными. Команда В — закончить текущий эксперимент и начать но¬ вый. В отличие от рассмотренной выше команды Е действие команды В заключается в том, что сразу после окончания те¬ кущего эксперимента управляющая программа запускает но¬ вый. Применение данной команды .позволяет избежать допол¬ нительного диалога с УП перед запуском нового эксперимента. Команду В целесообразно применять в случаях, когда автома¬ та
тический запуск нового эксперимента не требует каких-либо действий с внешними устройствами по смене лент и т. п. Запрос, выдаваемый УП после ввода команды £, переводит ДСВМ в состояние ожидания, что позволяет выполнять дей¬ ствия, необходимые, например, для изменения состояния внеш¬ них устройств в случае их неисправности, запускать различные системные программы и процедуры, устанавливать другие маг¬ нитные ленты или перфокарты, которые будут читаться про¬ граммой модели. Таким образом, эти две команды позволяют реализовать гибкое и удобное управление процессом экспери¬ мента. Команда F — закончить сеанс. После ввода команды F мо¬ нитор выдает на АЦПУ сообщение ***** КОНЕЦ СЕАНСА ***** и завершает сеанс работы с диалоговой системой. Данная команда, как и рассмотренные выше, — команда без пара¬ метров. Проиллюстрируем работу управляющей программы и при¬ менение команд монитора £, В и F во время сеанса* работы с ДСВМ на примерах. В сеансе, приведенном на рис. 11, после запуска первого экс¬ перимента и появления из программы на экране сообщения * * СТАРТ МОДЕЛИ * * сделана попытка закончить эксперимент командой Е. Так как команда введена без обязательного амперсанда, а запрос на ввод со стороны проблемной программы отсутствует, данная строка интерпретирована монитором как неправильная коман¬ да, о чем и выдано сообщение. После этого с пульта индикато¬ ра введена правильная команда, и эксперимент завершен. На запрос управляющей программы экспериментатор ответил ’&В\ и УП запустила следующий, второй эксперимент. Во время вто¬ рого эксперимента введена команда £, и сеанс работы с ДСВМ окончен. Символ конца сообщения генерируется на экране аппаратурными средствами при нажатии клавиши «ВВ» и в программу не передается. Во втором примере (рис. 12) продемонстрирован сеанс, на протяжении которого проведено три эксперимента. Во время первого в модели имитировано прерывание вычислительного характера, что привело к аварийному завершению программы. На соответствующее сообщение управляющей программы (третья строка экрана) исследователем вводится ответ УП запускает второй эксперимент (строки 5 и 6), во время * Рассматриваемые сеансы проводятся с простой ПЛ/1-программой, в начале* которой с помощью обращения к блоку синхронного ввода-вывода на тер¬ минал выдается сообщение **СТАРТ МОДЕЛИ**. Выполнение программы продолжается приблизительно одну минуту, в течение этого времени обра¬ щения к терминалу не происходит. 61
Л//7/////77/7/7 000700 * *0/770/7/77 А700000 * * В/ГГ00/70Л/0007 7S0/Z0//V0// ///ZV£T/776 000//0- ’ & В, ’ 00x000007/, 00000 - '&F' &B/7 A/000/770/7 00/770/9 * * Г/77/Г/7/77 //0/70070 * * iS/7 В*'000/7000007 В J0X00 000 /70 Х0Л/0Н00 А/000070/7 2/7/77/70 * * В/77 0/7/77 /7/700/77/ * * <5/^7 7 Рис. 11. Сеанс 1 работы с ДСВМ. Тип терминала — дисплей. Изображение на экране после окончания сеанса которого введена команда В (строка 7). Второй эксперимент завершается (строка 8), запускается третий, в процессе выпол¬ нения которого вводится команда F, и сеанс работы с диало¬ говой системой завершается. На рис. 13 приводится такой же сеанс работы с ДСВМ, что и в предыдущем примере, но с использованием в качестве тер¬ минала консоли оператора. Команда Н—задержать программу модели. Не имеющая параметров команда Я позволяет остановить (прервать) вы¬ полнение текущего эксперимента без его окончания. Эта коман¬ да может быть использована, например, перед работой с пара¬ метрами и результатами модели для обеспечения соответствия их текущих значений одной точке во времени (модельном и реальном). Такая необходимость может возникнуть в связи с тем, что во время исполнения любых команд монитор не захва¬ тывает процессор в монопольное использование, а является лишь подзадачей с более высоким приоритетом, чем подзадача программы модели. Поэтому при прерываниях монитора, вы* званных ожиданием окончания операций ввода-вывода на тер¬ минал (а при включенном режиме копирования диалога, то и на АЦПУ), управление передается программе модели. 62
Рис. 12. Сеанс 2 работы с ДСВМ. Тип терминала—дисплей. Изображение на экране после окончания сеанса После ввода команды Я, как и во всех других случаях, мо¬ жет быть выдана любая команда. При повторном введении команды Я не вызывается никакого эффекта, кроме появления на экране очередного сообщения «МОНИТОР ГОТОВ», свиде¬ тельствующего о том, что команда обработана. С точки зрения: экспериментатора, реакция системы ничем не отличается о~ случая, когда программа модели выполняется. Выполнение по¬ следней может быть продолжено только после ввода описы¬ ваемой далее команды А. Отметим, что при использовании команды Я следует учитывать следующую особенность. Коман¬ да монитора может быть введена в любой момент его готов¬ ности, в том числе и тогда, когда программа модели выдала запрос на ввод с терминала. Если в этот момент вместо отве¬ та вводится правильная команда монитора, она обрабатыва¬ ется и ввод информации в проблемную программу возможен только после окончания этой обработки, т. е. после появления сообщения «МОНИТОР ГОТОВ». Если же этой командой была Я, то даже после окончания ее обработки программа модели не может ввести информацию с терминала, так как она нахо¬ дится в задержанном состоянии и не имеет права выполнить 63,
1 E F ^ 0 3 I DSWM STARTED TIME=12,23,16 P01 TEF236I ALLOC, FOR DSWM GO p01 IEF237I OOF ALLOCATED TO SYSPRINT P01 *01 МОНИТОР ГОТОВ P 01 ** СТАРТ МОДЕЛИ ** Р01 ЭКСПЕРИМЕНТ 1 ЗАКОНЧЕН АВАРИЙНО; Н А Ч А Ц Н Q ВЦй • # ^ # ЗАКОНЧИТЬ СЕАНС-'&FР 01 R 01,'&Вt *02 МОНИТОР ГОТОВ Р 01 ** СТАРТ МОДЕЛИ ** Р 01 R 0 2 , ' & В « ЭКСПЕРИМЕНТ 2 ЗАКОНЧЕН ПО К ОМА НА Е , Р О 1 *03 МОНИТОР ГОТОВ Р 01 ** СТАРТ МОДЕЛИ** РОЗ R 0 3 , ' & F ' IEF404I DSWM ENDED ТIМi=12,25 . 1 6 Р01 Рис. 13. Сеанс 3 работы с ДСВМ. Тип терминала — консоль оператора. Прото¬ кол задания ***** НАЧАЛО ЭКСПЕРИМЕНТА 1 ***** МОНИТОР готов ** МОДЕЛЬ 2.: ВВЕДИТЕ ОТВЕТ, ** & А МОНИТОР готов О Т В Е Т 1 ***** КОНЕЦ ЭКСПЕРИМЕНТА 1 ***** ЭКСПЕРИМЕНТ 1 ЗАКОНЧЕН НОРМАЛЬНО;НАЧАТЬ НОВЫй-'&В' < ЗАКОНЧИТЬ СЕАНС-'&Е' & В ***** НАЧАЛО ЭКСПЕРИМЕНТА 2 ***** МОНИТОР ГОТОВ ** МОДЕЛЬ 2 : ВВ ЕАИТ Е ОТВЕТ, ** &Н МОНИТОР готов 0 Т в Е Т 2 * ВВОД НЕВОЗМОЖЕН:ПР0ГРАММА ЗАДЕРЖАНА КОМАНДОЙ &Н МОНИТОР готов &А МОНИТОР готов 0ТВЕТ2 МОНИТОР готов ***** КОНЕЦ ЭКСПЕРИМЕНТА 2 ***** ЭКСПЕРИМЕНТ 2 ЗАКОНЧЕН Н0РМАЛЬН0;НАЧАТЬ НО ВЫй-'&В' .3 А КОНЧИТЬ CEAHC-'&F' -*♦** КОНЕЦ СЕАНСА ***** Рис. 14. Сеанс 4 работы с ДСВМ. Копия диалога, полученного на АЦПУ хотя бы одну свою команду. Подобная ситуация диагностиру¬ ется монитором, который при попытке такого ввода выдает на терминал сообщение * ВВОД НЕВОЗМОЖЕН: ПРОГРАММА ЗАДЕРЖАНА КОМАНДОЙ &Н. В таких случаях необходимо «освободить» модель командой А и повторить ввод. Команда А—освободить программу модели. Команда А не имеет параметров. Ее назначение обратно назначению коман¬ ды Я. Исполняя команду А, монитор уничтожает подзадачу, порожденную’им при выполнении команды Я, и управление после окончания обработки команды монитором возвращается •64
программе модели. Выдача команды А в ситуации, когда мо¬ дель активна, т. е. выполняется, не имеет никакого эффекта, кроме появления на терминале сообщения «МОНИТОР ГО¬ ТОВ». На рис. 14 приводится пример сеанса с ДСВМ, демонстри¬ рующий применение команд Н и А при наличии ввода-вывода (/терминала в программе пользователя. Программа, с которой проводится сеанс, содержит обращение к модулю системы ДСВМ с именем DIALOG. Этот модуль выводит на терминал сообщение ’**МОДЕЛЬ. ВВЕДИТЕ ОТВЕТ**’ и принимает с терминала введенную строку произвольного вида. Текст при¬ мера— это листинг АЦПУ, представляющий «твердую» копию диалога. Сеанс проводится при включенном режиме копирова¬ ния диалога и содержит два эксперимента с моделью. Во вре¬ мя первого — после вывода из программы на терминал сообще¬ ния, требующего ответа (строка 3), вместо последнего выдается команда А (строка 4), которая обрабатывается монитором, но не имеет никакого эффекта, так как программа была активна (хотя и ждала ответа). После сообщения монитора о своей готовности (строка 5) введена символьная строка, не являю¬ щаяся командой (строка 6). Эта строка передается в програм¬ му модулем DIALOG, после чего программа модели нормально завершается. Исследователь запускает второй эксперимент и на запрос модели (строка 13) отвечает командой Н (строка 14). После сообщения монитора о своей готовности сделана попытка ответить на запрос программы модели (строка 16). Так как модель задержана, монитор выводит соответствующее сообщение, после чего командой А модель активизируется (стро¬ ка 19). В строке 21 содержится ответ, который успешно вводит¬ ся в программу модели и второй эксперимент нормально завер¬ шается (строка 24). Сеанс завершается после ответа F на за¬ прос управляющей программы. Команда/? — установить режим копирования диалога на АЦПУ. Команда R — без параметров. Она устанавливает ре¬ жим, при котором весь последующий ввод/вывод, происходя¬ щий через терминал, печатается на АЦПУ. Печать диалога не может испортить данные, возможно выводимые в то же время на АЦПУ из программы модели, но может появиться между Двумя строками, напечатанными различными операторами вы¬ вода. Копия диалога всегда печатается в позициях 41 — 120 страницы АЦПУ и соответствует 80-символьным строкам на экране дисплея. Сверху и снизу копия отделяется от воз¬ можной печати программы модели пустыми строками. После обработки монитором команды R соответствующее сообщение «МОНИТОР ГОТОВ» уже копируется на АЦПУ. Ввод коман¬ ды R, когда режим копирования диалога уже установлен ра¬ нее выданной командой или УП при запуске системы, не имеет никакого эффекта, кроме вывода лишнего сообщения монитора. Команда N— отменить копирование диалога на АЦПУ. Эта 3 Заказ № 4411 65
команда по своему действию обратна команде R. Сразу после ввода этой команды отменяется печать диалога. Введение команды N при уже отмененном копировании не дает никакою результата. Команда С—перейти на консоль оператора и команда D — перейти на дисплей. Команды С и D, как и все описанные команды, не имеют параметров. Ввод во время сеанса команды С переводит диалог на консоль оператора, а ввод команды D — на дисплей. Выдача команды С с консоли и команды D с пуль¬ та дисплея не изменяет режима работы системы. При измене¬ нии типа терминала во время сеанса сообщение «МОНИТОР ГОТОВ» после обработки команды появляется уже на «но¬ вом» терминале, а изображение команды остается на «старом». Режим диалога, определенный командами /?, N, С и Д дей¬ ствует с момента их ввода до конца сеанса работы с системой. Команда Р—вывести на терминал параметры и (или) ре¬ зультаты. Все рассмотренные выше команды монитора относи¬ лись к управлению процессом эксперимента и режимом диало¬ га. Информационная связь между программной моделью и исследователем обеспечивается командами Р и G. Команда Р позволяет вывести на терминал текущие значе ния параметров и результатов модели. Эта команда может иметь один из трех форматов: 1) &Р' зР [список] 2) &Р\ ]R [список] 3) &Р\ зР [список], R [список] Первый из форматов позволяет вывести все или часть пара¬ метров, второй — все или часть результатов, третий — одновре* менно и параметры, и результаты. Список при Р и R опреде^ ляет индексы параметров или результатов, значения которых будут выведены на терминал. Формат списка следующий: (элемент 1, элемент 2, . . ., элемент N). Каждый элемент в списке может быть либо индексом, либо парой индексов, разделенных знаком минус. Индекс — это це лое десятичное число в интервале от 1 до 32 ООО. Отдельный индекс в списке соответствует порядковому номеру параметра (или результата) в агрегате данных в том порядке, в котором элементы этого агрегата расположены в оперативной памяти. Каждая пара индексов в списке вызывает вывод на терминал всех параметров, номера которых находятся в диапазоне, опре¬ деленном этими индексами. Отсутствие списка предполагает вывод всех данных (параметров или результатов). Ввод коман¬ ды Р без параметров вызывает передачу на терминал всех параметров и всех результатов. Длина вводимой команды ограничена 880 символами (дисплей) или 72 символами (кон¬ соль) . Примеры команды Р: &Pi_jP (1,5—15, 28, 1001—1010) &Р\ )Р (2—6), R (100, 107) &Р\—зР, R(5) 66
При вводе команды Р могут быть допущены различного рода ошибки. Поэтому монитор осуществляет диагностику этих ошибок с указанием неправильно введенного символа или группы символов. Например, при вводе строки 9,1) на терминале появится сообщение * НЕДОПУСТИМ. ИНДЕКС ИЛИ ЗНАЧЕНИЕ В СТРО¬ КЕ-9 В данном случае недопустимым является отрицательный ин¬ декс. Аналогичная реакция будет, если на месте индекса будет нецифровой символ или группа символов. Максимальное допус¬ тимое значение индекса определяется количеством параметров и результатов, которые принимаются монитором через список параметров программы модели. Если какой-либо индекс в спис¬ ке превышает определенное в данный момент в модели коли¬ чество параметров (или результатов), монитор выдает сооб¬ щение о недопустимости данного индекса. Нарушение формата команды, например ввод строки &A_J>(1),/?(1), вызывает сообщение * НЕПРАВИЛЬНАЯ КОМАНДА В целях повышения наглядности и облегчения зрительного восприятия вывод значений на терминал производится в двух форматах: фиксированном и плавающем. Для целых чисел, мо¬ дуль которых находится в интервале (1,999999), а также для нулевых значений используется фиксированный формат, а для всех остальных — плавающий. Пример вывода параметров и результатов на экран дисплея после ввода команды &РшЯ( 1—10, 1000, 501—506), R приводится на рис. 15. В программе модели, работающей в данном эксперименте, определены 2000 параметров и 12 ре¬ зультатов. Командой Р может быть определено больше данных, чем это допускают экран дисплея и строка консоли. В таких слу¬ чаях выводятся данные, соответствующие обработке команды слева направо, до достижения максимально возможного их числа, зависящего от типа терминала. На экран без потерь может выдаваться 800 символов, что соответствует 39 значе¬ ниям параметров или результатов. В 120 символах строки на консоли оператора помещается только 5 значений. Это обстоя¬ тельство необходимо учитывать при проведении имитационных экспериментов с консолью в качестве терминала. Следует от¬ метить, что для всех остальных команд монитора, кроме Ру з* 67
&Р Pfi-Щ 7000, S07 000), Ра Ра/7аш/п/7ы: Р7=700; PZ=0; PJ=7; Р4=2; P0=J; 00=4; P7-Z; Р0=0; 00= 7; Р70=0; Р7000=7. 77777003; Р004=4.000000+70; 0000=0000000+70; 0000=0.000000+70, 00=7000000-00;00=7.000000-00: 070=0; 077=0; 072=0; гЯ/7700 V Рис. 15. Изображение на экране дисплея после ввода команды &Р[^Р(\—10. 1 GOO, 501—506), R использование консоли практически не ограничивает возмож¬ ностей диалогового взаимодействия. Обработка команды Р происходит стандартным образом. После вывода определенных командой данных на терминал монитор выдает сообщение о своей готовности и переходит в ожидание следующей команды. После этого можно, например, повторить команду Р для того, чтобы вывести на дисплей дан¬ ные, не поместившиеся на экране после ввода предыдущей команды. Как уже отмечалось, для получения достоверных текущих значений параметров и результатов целесообразно вводить команду Р в момент, когда модель задержана, т. е. после команды Н. Команда (/—изменить параметры. Команда предназначе¬ на для изменения текущих значений параметров модели в ходе имитационного эксперимента. Формат команды &GU элемент 1, элемент 2, .. . Обязательным является наличие хотя бы одного элемента в списке. Команда G без параметров интерпретируется как не¬ 68
правильная. Количество элементов списка, как и в команде Р, ограничивается лишь максимальной длиной ввода (880 симво¬ лов для дисплея и 72 символа для консоли). Каждый элемент из списка может быть одной из двух конструкций: (1) (значение) (2) <индекс> = <значение> Индекс имеет такой же смысл, что и в команде Р (т. е. деся¬ тичное число из интервала от 1 до 32 000). Значение — это за¬ конная десятичная арифметическая константа в любом форма¬ те: плавающем или фиксированном, с точкой или без нее. Обработка команды G происходит следующим образом. Каждый элемент списка, имеющий конструкцию (1), интерпре¬ тируется как новое значение параметра. Порядковый номер последнего в агрегате данных, объединяющем параметры, ра¬ вен номеру места, занимаемого этим элементом списка. Эле¬ мент конструкции (2) определяет порядковый номер параметра и его новое значение. Например, команда & GI 10,0,10=5£’5,0.1 назначит нулевые значения первому и второму параметрам, значение 500 000 — десятому параметру и значение 0,1—чет¬ вертому параметру. При исполнении команды G монитор обрабатывает после¬ довательно слева направо все элементы списка. Поэтому если какой-либо номер параметра встретится в списке несколько раз, то значение этого параметра после исполнения команды будет равно значению, установленному в последнем элементе списка, относящемся к данному параметру. Например, резуль¬ татом действия команды &Gi_r 12,5=0,1 = 10 будет присвоение значения 10 первому параметру и значе¬ ния 0 — пятому параметру. Ошибки при вводе данной команды могут быть связаны с нарушением ее формата, например ввод команды G без пара¬ метров. В этом случае выдается диагностическое сообщение монитора о допущенной ошибке. Если в списке имеется хотя бы один элемент, то при любых ошибках выдается подробное сообщение с указанием ошибочной подстроки данных. Напри¬ мер, в случае ввода команды &Glj1,2,10—10 монитор выдает на терминал сообщение * НЕДОПУСТИМ. ИНДЕКС ИЛИ ЗНАЧЕНИЕ В СТРО¬ КЕ 10—10 Аналогичное сообщение появится, если значение какого-либо индекса в списке превышает количество параметров, передан¬ ное монитору программой модели. При использовании команды G следует учитывать, что обра- 69
***** НАЧАЛО ЭКСП МОНИТОР готов ** СТАРТ МОДЕЛИ ** & р р ПАРАМЕТРЫ: ЕРИМЕНТА Р1 = Р 5 = Р 9 = о; о; о; Р 2 = Р6 = Р 1 0 = О О О Рз = Р 7 = О/' О i О о МОНИТОР ГОТОВ &н монитор готов &G 2 ,71 828, 1 Е 1 0,11=-1000 * НЕДОПУСТИМ, ИНДЕКС ИЛИ ЗНАЧЕНИЕ В СТРОКЕ 11=-1000 МОНИТОР ГОТОВ • & G 10S-1000 МОНИТОР ГОТОВ 4Р Р ПАРАМЕТРЫ: P1 = 2.71 828Е + 00; Р2= 1 , 00000Е + Ю; Рз= о*’ р а= о; р 5 а о; Рб= о; Р7= о*‘ Р8= о; р 9 = о; pi о= -юоо; МОНИТОР готов 4 А МОНИТОР готов ***** KOHEL1 ЭКСПЕРИМЕНТА 1 ***** ЭКСПЕРИМЕНТ 1 ЗАКОНЧЕН НОрМАЛЬНО;НАЧАТЬ НОВЫЙ-»&В' ,3 А КОНЧИТЬ CEAHC-*&F* &F ***** К О Н Е LL СЕАНСА ***** Рис. 16. Сеанс 5 работы с ДСВМ. Копия диалога, полученного на АЦПУ ботка каждого правильного элемента списка приводит к изме¬ нению соответствующего параметра и не зависит от наличия ошибок в последующих элементах. Первый встреченный в. списке ошибочный элемент приводит к окончанию обработки всего списка и выводу диагностического сообщения. Таким об¬ разом, может оказаться, что ошибочная команда все же приве¬ дет к изменению части параметров. В таких ситуациях можно выдать команду Р с тем, чтобы выяснить, какие параметры изменились. Если в команде имеется несколько ошибочных эле¬ ментов списка, монитор диагностирует только первый. При использовании команды G, как и команды Я, целесооб¬ разно предварительно остановить выполнение модели командой Я, чтобы гарантировать одновременность изменения параметров и точность момента этого изменения, тем более что возможные ошибки при вводе команды G могут затянуть процесс изменения параметров. В примере сеанса, приведенном на рис. 16, иллюстрируется применение команд Р и G для работы с параметрами модели. В качестве модели использована программа с выводом строки на терминал, работа с которой демонстрировалась на рис. 11 — 13. В программе было определено 10 параметров. Сеанс начина¬ ется с вывода на терминал сообщения из программы модели. За¬ тем с помощью команды Р на экран выведены начальные значе¬ ния всех параметров. После задержки выполнения программы командой Я при помощи команды G части параметров присвое¬ ны новые значения. Так как команда G введена с ошибкой, мо¬ нитор отвечает соответствующим диагностическим сообщением. **СТАРТ МОДЕЛИ** 70
Ошибка вызвана тем, что индекс 11 в последнем элементе недо¬ пустим, так как в модели определено только 10 параметров. Два первых элемента списка команды G правильные, поэтому соот¬ ветствующим параметрам присваиваются новые значения. В этой связи следующая команда G содержит только индекс и новое значение одного десятого параметра. Для проверки выполненной коррекции выдана команда Р, посредством которой выведены на экран новые значения всех параметров. После этого програм¬ ма модели активизирована командой А, и эксперимент, а затем и сеанс завершены. 4.4. Связь с операционной системой и средства организации вычислительного процесса системы ДСВМ С точки зрения операционной системы (ОС) ЕС система ДСВМ представляет собой набор библиотек, содержащих про¬ граммные модули в исходном и загрузочном кодах, и ряд про¬ цедур языка управления заданиями (ЯУЗ). Последние позволя¬ ют организовать различные варианты подготовки программ пользователя к работе, связь с личными библиотеками, объеди¬ нение модулей ДСВМ и проблемных программ в единый загру¬ зочный модуль и запуск сеанса работы с ДСВМ. Для операци¬ онной системы этот сеанс является обычным заданием (или ша¬ гом задания), допускающим применение всех возможностей, предоставляемых ОС ЕС. В процедурах ЯУЗ системы ДСВМ на¬ ряду с системными обрабатывающими программами ОС ЕС (АССЕМБЛЕР, компилятор ПЛ/1, редактор связей) использу¬ ются специальные программы, значительно упрощающие про¬ цесс подготовки программ пользователя к выполнению под кон¬ тролем ДСВМ. Специальные обрабатывающие программы так¬ же находятся в библиотеках ДСВМ. Процедуры ЯУЗ системы ДСВМ сочетают простоту их использования для наиболее часто применяемых вариантов вычислительного процесса и наличие достаточно широких возможностей, позволяющих эффективно использовать ресурсы вычислительной установки. Имена шагов процедур, стандартных наборов данных, а также DD-имена сов¬ падают с соответствующими именами в стандартных процеду¬ рах ОС ЕС, что позволяет комбинировать в одном задании про¬ цедуры ДСВМ и стандартные процедуры. 4.5. Подготовка проблемных программ к работе с ДСВМ Любая ПЛ/1-программа (или комплекс программ) может быть запущена в работу под управлением ДСВМ. Подготовка программ, касающаяся только главной программы, не затраги¬ вает ее алгоритмической части и сводится к нескольким фор¬ мальным действиям. 71
* / СТРУКТУРА ПАРАМЕТРОВ */ * / **********'* ***********/ M0DEL1:PR0C(NPAR,NRES,PPAR,PRES); DCL 1 STR-PAR STATIC, 2 PARI, 2 PAR2, 2 AR.PAR3 ( 5 > , 2 AR_ PAR A ( 15 ) , ppar pointer; DCL AR_RES(NRES> С T L / PRES pointer; /* ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА И АДРЕСА ПАРАМЕТРОВ */ N Р A R = 2 2 ; ppar = addr cstr^par); /* ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА И АДРЕСА РЕЗУЛЬТАТОВ */ GET LIST (NRES> ! mllocate ar_res; pres=addr(ar_res); МАССИВ РЕЗУЛЬТАТОВ ТЕКСТ ПРОГРАММЕ; МОДЕЛИ END MODEL1; Рис. 17. Пример оформления программы для работы с ДСВМ В программу вводятся, если это необходимо, переменные, имеющие смысл параметров и результатов модели. Эти пере¬ менные могут быть как элементными (одиночными), так и объ¬ единенными в произвольные агрегаты данных. Если какие-либо из этих переменных являются неколичественными (вид закона распределения, дисциплина обслуживания), их необходимо при-' вести к количественному виду, например пронумеровать все воз¬ можные законы распределения. Далее необходимо обеспечить, чтобы все параметры и результаты были представлены в форме с плавающей точкой обычной точности. Так как любые арифме¬ тические величины допускают преобразование в плавающий фор¬ мат, подобное ограничение не является принципиальным. Затем все параметры описываются в одном агрегате данных, а результаты — в другом. Оба этих агрегата могут быть произ¬ вольными и иметь любой класс памяти. Общее количество пара¬ метров и результатов ограничено 32 ООО каждое.' Последним этапом подготовки программы является измене¬ ние оператора PROCEDURE главной программы. Изменение за¬ ключается во введении списка из четырех параметров, опреде- деляющих соответственно общее количество параметров, общее количество результатов, адрес агрегата данных, объединяющего параметры, и аналогичный адрес результатов. Имя программы может быть произвольным. Способ определения всех указанных параметров зависит от класса памяти соответствующих агрега¬ тов данных и может свободно выбираться программистом. Эти параметры могут определяться статически (в начале работы программы), а также определяться и изменяться динамически в процессе эксперимента. Необходимо только обеспечить, чтобы в момент ввода команд монитора & Р или & G все указанные па¬ раметры были определены. Описанные выше правила и возможности можно проиллюст¬ рировать на примере, приведенном на рис. 17. Допустим, что в 72
главной программе модели MODEL1 выделены два элементных параметра, а также две группы параметров, содержащих соот¬ ветственно 5 и 15 связанных по смыслу переменных. Количество результатов модели переменное и вводится через файл SYSIN. В данном примере для структуры параметров выбран класс па¬ мяти STATIC, а для массива результатов — класс памяти CONTROLLED. Использование статической памяти, распреде¬ ляемой на этапе трансляции, обеспечивает сохранение значений переменных между экспериментами, что особенно удобно, напри¬ мер, для поиска оптимальных значений параметров. Отметим, что для определения неизвестных значений в ситуациях, подоб¬ ных обсуждаемому примеру, можно использовать любой удоб¬ ный программисту источник ввода, в том числе и дисплей. В по¬ следнем случае необходимо воспользоваться блоком синхронного ввода-вывода DIALOG, входящим в состав ДСВМ. 4.6. Область применения, основные характеристики ДСВМ и требуемые средства Основным назначением системы ДСВМ, как уже обсужда¬ лось, является организация экспериментов с имитационными моделями в диалоговом режиме и обеспечение максимальной гибкости, оперативности и полноты связей между заключитель¬ ными этапами процесса имитационного моделирования. Доста¬ точная универсальность ДСВМ позволяет использовать ее для контроля и управления выполнением различных моделирующих программ, не ограниченных какой-либо концепцией моделиро¬ вания, и в достаточно широкой проблемной области. Возможно применение ДСВМ для поиска и ускорения решения сложных задач вычислительной математики, где могут эффективно комби¬ нироваться математические методы с неформальной логикой че¬ ловека. В главе 6 описана модель ССОД, для исследования ко¬ торой была использована система ДСВМ. Основные технические характеристики диалоговой системы ДСВМ следующие: время обработки ввода информации или исполнения коман¬ ды с терминала (для ЭВМ со средним быстродействием 100 ООО оп./с)— 0,05—0,5 с; устройства вывода командной информации — АЦПУ, консоль оператора, дисплей ЕС-7066; устройства ввода командной информации — консоль операто¬ ра, дисплей ЕС-7066; обмен данными с терминалами производится строками сим¬ волов следующей длины: консоль оператора — от 0 до 120 (в зависимости от типа), дисплей — от 0 до 880 (до 11 строк на экране); управление курсором автоматическое. Ввод информации с клавиатуры ЕС-7066 осуществляется без стартового символа. Для нормального функционирования системы ДСВМ необхо¬ 73
димы следующие технические средства: ЭВМ с оперативной па¬ мятью объемом не менее 256 кбайт, АЦПУ, консоль оператора. Для реализации всех возможностей диалогового режима не¬ обходим комплекс алфавитно-цифровых дисплеев ЕС-7906. ДСВМ работает под управлением операционной системы ОС ЕС версий 4.0 и выше (MFT с подзадачами или MVT). Для обес¬ печения работы с дисплеями необходимо наличие в ОС макро¬ команд и программ графического метода доступа. Минимальный объем оперативной памяти, занимаемой моду¬ лями ДСВМ, составляет около 70 кбайт. Более важная на прак¬ тике величина — дополнительный объем памяти, требуемый для работы программы под управлением ДСВМ, по сравнению с ра¬ ботой той же программы без ДСВМ — изменяется в пределах от 40 до 20 кбайт. С увеличением сложности программы этот дополнительный объем уменьшается. Модульная структура ДСВМ и использование языка высоко¬ го уровня ПЛ/1 для реализации основных модулей обеспечива¬ ют возможность развития и совершенствования системы. Глава пятая СРЕДСТВА ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА В ИМИТАЦИОННЫХ МОДЕЛЯХ 5.1. Приемы повышения эффективности процесса машинной имитации К универсальным приемам и методам, позволяющим повы¬ сить эффективность машинной имитации, можно отнести следу¬ ющие. 1. Построение наиболее простой модели, обеспечивающей за¬ данную точность. Здесь корректность модели достигается за счет выравнивания составляющих общей погрешности модели¬ рования, которые обусловлены различием модели и исходного описания, статистическими погрешностями оценок и неточностью задания параметров [39]. Использование корректных моделей позволяет сократить затраты имеющихся ресурсов и оценить влияние различных элементов погрешности моделирования на результирующую точность модели. 2. Контроль и управление точностью моделей в динамике мо¬ делирования с целью обеспечения объективной оценки точности и достоверности результатов эксперимента. Следует отметить, что наиболее частой в практике является ситуация, когда ре¬ 74
зультаты аналитических исследований или натурных испытаний моделируемой системы отсутствуют. При этом непосредственная оценка адекватности и точности модели, т. е. степени воспроиз¬ ведения моделью характеристик исследуемой системы, невоз¬ можна. Объективно оценить точность в данном случае можно лишь косвенно, анализируя сходимость результатов эксперимен¬ тов с рядом упорядоченных по точности корректных моделей од¬ ной и той же системы. 3. Применение методов понижения дисперсии (МПД). Из большого количества известных МПД, которые могут быть ис^ пользованы при имитационном моделировании, наиболее уни¬ версальными и в то же время мощными и достаточно простыми являются методы, основанные на управлении корреляцией слу¬ чайных потоков в модели в противоположность классическому принципу независимых испытаний. Это так называемые метод зависимых испытаний, или общих случайных чисел (ОСЧ), и ме¬ тод дополняющих случайных чисел (ДСЧ) [38]. Уместно сделать несколько замечаний по терминологии. Тер¬ мин «псевдослучайные числа» (ПСЧ) применяется в соответст¬ вии с [42] как более точный для обозначения чисел, которые ис¬ пользуются как случайные, но получены программным путем, а следовательно, не являются в строгом смысле независимыми и случайными. Названия методов ОСЧ и ДСЧ отражают не суть, а простейшую методику их реализации при помощи генерации потоков соответственно общих с исходными базовых ПСЧ, рав¬ номерно распределенных в интервале (0,1), и чисел, являющихся дополнениями до единицы исходных ПСЧ. Термин «метод зави¬ симых испытаний» в [42] подчеркивает отличие от метода неза¬ висимых испытаний, но относится только к использованию по¬ ложительно коррелированных потоков ПСЧ. В [39] предложены и другие способы реализации данного метода, в частности при¬ менение функционально связанных случайных величин без ис¬ пользования общих ПСЧ. Так как любые испытания, кроме не¬ зависимых (с нулевой корреляцией случайных потоков), явля¬ ются зависимыми, то название «метод зависимых испытаний» представляется неудачным, если только оно не относится сразу к обоим рассматриваемым МПД. Суть этих методов состоит в использовании для различных прогонов модели случайных пото¬ ков с соответственно максимальной положительной и отрица¬ тельной корреляцией. Подчеркнем, что коррелированными здесь являются случайные потоки, а не сами ПСЧ внутри каждого по¬ тока, которые остаются независимыми. Из изложенных выше соображений представляется более правильным применение терминов «метод положительно корре¬ лированных случайных потоков» (Г1КСП) и «метод отрицатель¬ но коррелированных случайных потоков» (ОКСП). Данные наз¬ вания используются в дальнейшем. Первый из этих методов по¬ зволяет уменьшить дисперсию оценки разности соответствующих показателей (альтернативно уменьшить затраты машинного вре¬ 7-5
мени для получения оценок с той же точностью) при сравнении различных моделей или вариантов одной модели. Понижение дисперсии по сравнению с методом независимых испытаний до¬ стигает 10 раз и более [42]. Метод ПКСП может быть использо¬ ван для исследования зависимости показателей функциониро¬ вания моделируемой системы от параметров, а также для ее оп¬ тимизации. Затраты машинного времени при этом могут быть сокращены в 2—20 раз. Применение метода ОКСП позволяет уменьшить статистическую погрешность моделирования в экспе¬ риментах с одной моделью, при этом уменьшение дисперсии со¬ ставляет от 20% до 500 раз [38]. Оба метода с некоторыми огра¬ ничениями могут быть использованы совместно. В настоящее время разрыв между теорией и практическим применением отмеченных приемов и методов остается достаточ¬ но большим. Одна из причин такого положения — ограничен¬ ные возможности программного обеспечения, которым распола¬ гает исследователь. В частности, все упомянутые выше- методы требуют для своего применения специальной организации про¬ цедур имитации случайных воздействий, входящих в состав лю¬ бой вероятностной модели или системы моделирования. Сфор¬ мулируем требования, которым должны удовлетворять эти про¬ цедуры для успешного применения отмеченных методов повы¬ шения эффективности моделирования. 1. Процедуры, имитации должны быть объединены в систему регулируемых процедур имитации (СРПИ), принципы построе¬ ния которой впервые сформулированы в [39]. Такая система не¬ обходима при создании корректных моделей и в экспериментах с управлением точностью и сложностью моделей. СРПИ должна включать в себя набор отличающихся и упорядоченных по точ¬ ности, быстродействию и объему используемой оперативной па¬ мяти генераторов ПСЧ для каждого из реализуемых законов распределения. Желательным является также наличие для каж¬ дого закона распределения процедуры, точность которой можно монотонно изменять с помощью параметра. 2. СРПИ должна быть рассчитана на применение в имитаци¬ онном эксперименте методов независимых испытаний, ПКСП, ОКСП и их комбинаций, т. е. должна обеспечивать свободную манипуляцию случайными потоками в модели. 3. Для широкого применения такой системы необходима ее совместимость с распространенными языками программирова¬ ния и современными операционными системами, в частности с ОС ЕС. 4. Язык программирования модулей СРПИ должен обеспечи¬ вать максимальную эффективность процедур. 5. Используемые в практике моделирования процедуры ими¬ тации случайных воздействий, входящие в состав языков и си¬ стем моделирования, а также общецелевых пакетов приклад¬ ных подпрограмм, например SSP [43] и ПНП—ПЛ/1 [44], пред¬ ставляют собой наборы процедур по одной для каждого закона 76
распределения и не удовлетворяют сформулированным требова¬ ниям. В большинстве случаев процедуры написаны на языках высокого уровня (ФОРТРАН, ПЛ/1). Этот пробел в общем комп¬ лексе математического обеспечения для моделирования ССОД восполняется отдельной системой регулируемых процедур СРПИ-1, реализованной в виде пакета прикладных программ. 5.2. Назначение и возможности системы регулируемых процедур имитации случайных воздействий СРПИ-1 функционирует под управлением операционных си¬ стем ОС и ДОС ЕС ЭВМ совместно с программами на языках АССЕМБЛЕР, ПЛ/1 и ФОРТРАН. Работа СРПИ-1 возможна также в рамках других операционных систем, имеющих трансля¬ тор с языка АССЕМБЛЕР и соглашения о связях между про¬ граммами, аналогичные ОС ЕС ЭВМ, например ДОС АСВТ. СРПИ-1 содержит наборы упорядоченных по быстродейст¬ вию, объему требуемой оперативной памяти и точности воспро¬ изведения соответствующей функции распределения имитирую¬ щих процедур для каждого из следующих законов распределе¬ ния: экспоненциального, нормального, Эрланга, Пуассона и гамма-распределения. Для экспоненциального и нормального законов имеется несколько регулируемых процедур. В систему включены также нерегулируемые точные процедуры для имита¬ ции равномерного распределения вещественных и целых чисел в различных интервалах, табличного и биномиального распределе¬ ний. Система СРПИ-1 является открытой для модификации и расширения набора процедур. Точные и наиболее сложные про¬ цедуры осуществляют проверку правильности задания входных параметров и позволяют диагностировать ошибки при их зада¬ нии с помощью кодов возврата. Модули системы написаны на языке АССЕМБЛЕР. Быстродействие их в 2—8 раз выше, объем занимаемой оперативной памяти в 2—5 раз меньше, чем у ана¬ логичных программ на языках высокого уровня. Методы генерации и преобразования псевдослучайных чисел, используемые в процедурах СРПИ-1, подробно описаны в [45]. Коротко отметим, что для реализации ПСЧ с различными зако¬ нами распределений использованы методы кусочно-постоянной, кусочно-линейной и полиномиальной аппроксимаций, методы, основанные на суммировании ПСЧ с различными законами рас¬ пределения, схема испытаний Бернулли и некоторые другие. В табл. 3 представлены основные характеристики процедур ими¬ тации, входящих в состав СРПИ-1. Процедуры № 1—5 объеди¬ няют два базовых генератора и процедуры генерации равномер¬ но распределенных чисел. Процедуры 6—22 реализуют экспо¬ ненциальный закон распределения. Процедуры 23—37 генери- 77
Таблица 3. Основные характеристики процедур СРПИ-1 № п /п Имя процедуры Погрешность s Быстродействие T, мне Объем памяти V', байт 1 RANDL 0 120 56 2 RANDS 0 .100 56 3 RANDR 0 120 68 4 RANDI 0 100 52 5 RANDMN 0 280 96 6 ЕХР 0 0 450 141 7 EXP 1 0,032 180 140 8 ЕХР 2 0,016 180 202 9 ЕХР 3 0,008 180 332 10 ЕХР 4 0,004 180 588 И ЕХР 5 0,002 180 1100 12 EXPL 1 0,018 260 148 13 EXPL, 2 0,009 260 180 14 EXPL 3 0,004 260 244 15 EXPL 4 0,002 260 372 16 EXPL 5 0,001 260 628 17 EXPL 6 0,0005 260 1140 18 EXPLA 1 0,01 300 196 19 EXPLA 2 0,003 340 244 20 EXPLA 3 0,001 400 316 21 EXPLA 4 0,0003 520 460 22 EXPV 0,1-0,00001 440—1020 1500 23 GAUSS 0,01 400 124 24 GAUSS 1 0,01-0,0023 480-880 196 25 GAUSS 2 0,0015—0,00006 620—1020 228 26 GAUSP 1 0,016 240 164 27 GAUSP 2 0,008 240 228 28 GAUSP 3 0,004 240 356 29 GAUSP 4 0,002 240 612 30 GAUSP 5 0,001 240 1120 31 GSLA 1 0,015 440 180 32 GSLA 2 0,005 450 188 33 GSLA 3 0,0015 460 204 34 GSLA 4 0,0005 520 300 35 GSLA 5 0,00015 580 412 36 GAUSSV 0,01—0,00006 540—Ц00 312 37 GAUSV 2 0,05—0,00005 520—820 1276 38 ERLNG 1 0,032/|/^ 300+60 к 212 39 ERLNG 2 0,008/y^ 300+60 К 490 40 ERLNG 3 0,002/ VK 300+60 К 1250 41 ERLNG 4 0,0003 710+133 К 590 42 GAMMA 1 0,032/Vk 280+60 К 212 78
Таблица 3 (окончание) № п/п *Имя процедуры Погрешность 8 Быстродействие T, mkc Объем памяти V, байт 43 GAMMA 2 0,032/j/К 280+60 К 490 44 GAMMA 3 о.т/рк 280+60 К 1250 45 GAMMA 4 0,0003 690+133 К _ 590 46 HIST — 860 200 47 HIST 1 — 820 190 48 POISS 1 0,032/V L 240+80 L 148 49 POISS 2 0,008/Vi 240+80 L 420 50 POISS 3 0,002/Vi 240+80 L 1200 51 POISS 10'7 780+85 L 330 52 BINOM 0 230+70 M 150 руют ПСЧ с нормальным законом распределения, процедуры 38—41 реализуют распределение Эрланга, процедуры 42—45— гамма-распределение. Табличный закон распределения, задавае¬ мый произвольной гистограммой, реализуют генераторы HIST и HIST1. ПСЧ, распределенные по закону Пуассона, генерируют¬ ся процедурами 48—51. Биномиальный закон распределения представлен процедурой BINOM (процедура 52). В табл. 3 использованы следующие обозначения: в — погрешность процедуры, определяемая как максимум модуля отклонения функции распределения генерируемых ПСЧ от теоретической функции распределения для данного закона; К—порядок распределения Эрланга или гамма-распределе¬ ния: L — параметр распределения Пуассона; М — объем выборки (параметр биномиального закона). Точность процедур EXPV, GAUSS 1, GAUSS2, GAUSSV, GAUSV2 регулируется параметром. Быстродействие процедур определялось на ЭВМ со средней производительностью 100 ООО оп./с. Система СРПИ-1, как уже отмечалось, предназначена в ос¬ новном для решения следующих общих (т. е. независимых от конкретной модели) задач: 1) повышения эффективности моделирования за счет вырав¬ нивания точности компонент модели и достижения компромисса между требуемой точностью модели и сложностью ее програм¬ мной реализации; 2) контроля и управления точностью моделирования в дина¬ мике путем управления точностью элементарных процедур ими¬ тации (в данном случае процедур имитации случайных воздей¬ ствий) ; 3) уменьшения статистической погрешности относительных и 79
абсолютных оценок с помощью применения МПД при организа- ции имитационного эксперимента. Кратко суть первой задачи состоит в следующем. Любая мо¬ дель должна составляться так, чтобы все аспекты имитируемой системы, особенности ее структуры, различные параметры к т. д. воспроизводились одинаково точно (или с одинаковой по¬ грешностью), а сложность модели (ее быстродействие и объем требуемой оперативной памяти) была минимальной, обеспечи¬ вающей необходимую точность. Для корректного решения этой задачи необходимо знать, как то или иное упрощение или неточ¬ ность задания некоторых параметров влияет на результирую¬ щую точность модели, т. е. на близость характеристик модели и моделируемой системы, а также зависимость между точностью и сложностью модели в целом. Чаще всего такие зависимости априори неизвестны, для их выяснения необходим специальный цикл экспериментов с моделью. Система СРПИ-1 содержит уп¬ равляемые процедуры имитации, обеспечивающие такую воз¬ можность. Развитая в [39] методика позволяет находить и экст¬ раполировать зависимость точности модели от ее сложности. Гладкость кривых Т=Т(г) и V=V(e) для процедур СРПИ-1 по¬ зволяет рассчитывать на гладкость зависимости между точно¬ стью и сложностью модели, использующей СРПИ-1. В случае невозможности или нецелесообразности проведения упомянутых экспериментов, например если модель не предназначена для многократных экспериментов, следует использовать «локальное» выравнивание точностей. В плане использования системы СРПИ-1 это означает применение в модели таких процедур ими¬ тации, точность которых соответствует точности задания пара¬ метров соответствующих распределений, а объем занимаемой памяти и быстродействие выбираются в зависимости от важно¬ сти обеспечения этих характеристик в целом для программной модели. Пусть, например, имитация ПСЧ занимает существен¬ ную часть общего времени моделирования, объем памяти некри¬ тичен, а параметры (математическое ожидание и дисперсия) за¬ даваемого нормального, распределения для одного из случайных потоков в модели равны 5,1 и 0,35. Параметры заданы с точно¬ стью 1% (две значащие десятичные цифры). При изменении па¬ раметров в пределах этого допуска соответствующее отклонение интегральной функции распределения, определяемое аналогич¬ но в, будет также порядка 1%. Следовательно, для генерации ПСЧ данного потока логично применить процедуру с погрешно¬ стью е^0,01. Учитывая необходимость максимального быстро¬ действия, выбираем процедуру GAUSP2. В этих же условиях, но когда лимитирующим фактором является объем памяти, опти¬ мальным будет выбор процедуры GAUSS. Строгая оценка влия¬ ния погрешности задания параметров распределения на по¬ грешность имитации е может потребовать дополнительных ис¬ следований. Но даже такое грубое выравнивание полезно на практике, так как позволяет упростить модель. В практических 80
исследованиях чаще всего используются точные (в^О) и соот¬ ветственно сложные процедуры имитации, в то время как по¬ грешность .задания параметров распределений достигает 10— 20%. Вторая из перечисленных задач решается путем проведения серии имитационных экспериментов на моделях с предваритель¬ но сбалансированной и монотонно изменяемой точностью. Такая организация процесса моделирования позволяет повысить и ко¬ личественно оценить надежность и достоверность получаемых результатов. Эти вопросы подробно исследованы в работах [38, 39]. Система СРПИ-1 обеспечивает необходимое в таких экспе¬ риментах монотонное изменение точности имитации случайных величин в модели (особенно удобны в этом плане регулируемые процедуры типа EXPV). Конкретное применение процедур СРПИ-1 для таких задач зависит от особенностей модели и пла¬ нирования процесса моделирования. Применение при моделировании метода ПКСП основано на следующем. Дисперсия оценки разности двух случайных вели¬ чин уменьшается при увеличении их ковариации (или соответ¬ ственно коэффициента корреляции между ними). Таким обра¬ зом, если удается обеспечить положительную корреляцию между значениями какого-либо показателя модели, соответствующими различным вариантам исследуемой системы или различным зна¬ чениям параметров, то статистическая точность такой разност¬ ной оценки будет выше, чем при независимых испытаниях тех же вариантов. Таким способом удобно сравнивать различные варианты систем, строить зависимости показателей от парамет¬ ров, соответствующие частные производные и т. д. Метод ОКСП использует тот факт, что дисперсия суммы слу¬ чайных величин уменьшается с увеличением отрицательной кор¬ реляции между ними. Допустим, что при реализации двух про¬ гонов одного и того же варианта обеспечена отрицательная кор¬ реляция между значениями какой-либо характеристики. Тогда полусумма этих значений будет обладать тем меньшей диспер¬ сией по сравнению с результатами одного прогона, чем больше отрицательная корреляция между ними. Подробное и строгое изложение этих методов, обсуждение условий и границ приме¬ нимости, а также возможностей их комбинации с методом неза¬ висимых испытаний и друг с другом выходят за рамки настоя¬ щей работы. Здесь достаточно отметить, что применение СРПИ-1 не накладывает дополнительных ограничений на эти и другие известные приемы моделирования. Возможность и удобство применения МПД при моделирова¬ нии сложных систем с использованием СРПИ-1 обеспечиваются особенностями структуры последней и принятым методом гене¬ рации базовых ПСЧ. Так, все модули СРПИ-1 используют один и тот же базовый генератор, причем генерируемое и рекуррент- но используемое им случайное число хранится во внешней обла¬ сти с именем п/, доступной всем процедурам СРПИ-1, а также 81
программе пользователя. Такое построение системы позволяет, с одной стороны, полностью контролировать случайный поток от каждого генератора ПСЧ в модели, а с другой — простейшим образом обеспечить, если это необходимо, независимость этих потоков как внутри прогона модели, так и между прогонами. Некоторые из этих приемов будут продемонстрированы ниже. Для генерации базовых ПСЧ в системе СРПИ-1 использован мультипликативный конгруэнтный метод с модулем М = 231—1 и множителем А— 1 331 814 125, исследованный и рекомендован¬ ный в (13]. Применение этого метода позволяет использовать при моделировании наиболее простой способ реализации метода ОКСП. Не останавливаясь на его обосновании, укажем только что для обеспечения корреляции двух потоков {Хг} и {Уг} базовых ПСЧ с коэффициентом корреляции R(XU У<) = — 1 достаточно выполнения условия X0+Y0 = M, где М — модуль генератора. Для обеспечения коэффициента R(XU У^) = 1, необходимого для при¬ менения метода ПКСП, требуется выполнение условия Х0=У0, причем это не является особенностью выбранного метода гене¬ рации базовых ПСЧ, а присуще любым рекуррентным методам. При функциональных преобразованиях ПСЧ, необходимых для генерации случайных чисел с различными законами распределе¬ ния, указанная корреляция может ослабевать. Этот нежелатель¬ ный эффект меньше всего проявляется при использовании мето¬ дов кусочно-линейной и кусочно-постоянной аппроксимаций, примененных в большинстве процедур СРПИ-1. Приведенные ниже примеры иллюстрируют применение про¬ цедур СРПИ-1 в моделирующих программах на языках ФОРТРАН и ПЛ/1 в наиболее часто встречающихся вариантах. На рис. 18 приведен пример простейшего способа организа¬ ции независимых экспериментов с моделирующей программой, написанной на ФОРТРАН. Оператор COMMON служит для свя¬ зи программы с внешней областью П/, в которой хранится ПСЧ базового генератора. Задание начального значения пI перед циклом прогонов модели обеспечивает новое значение и/ перед каждым прогоном и, таким образом независимость эксперимен¬ тов. Простейший способ организации ОКСП при различных про¬ гонах моделирующей ПЛ/1-программы показан на рис. 19. При¬ веденная схема позволяет провести два дополняющих прогона и понизить дисперсию статистических оценок показателей мо¬ дели. Рис. 20 иллюстрирует более реальную (и более -сложную) схему организации имитационного эксперимента с комбинацией методов ПКСП и независимых испытаний. В данном примере организуется несколько независимых экспериментов, в каждом из которых осуществляется по одному прогону с ПКСП для всех исследуемых вариантов модели. Рисунок иллюстрирует также способ разделения и синхронизации двух случайных потоков в 82
COMMON/ДI/IG I G = 1 3 С IG-НАЧАЛЬНОЕ ЧИСЛО БАЗОВОГО ГЕНЕРАТОРА DO 1 IР =1 # N P С NP-КОЛИЧЕСТВО НЕЗАВИСИМЫХ ПРОГОНОВ МОДЕЛИ С РЕАЛИЗАЦИЯ ПРОГОНА С ГЕНЕРАЦИЯ N ИНТЕРВАЛОВ X В ПОТОКЕ ЭРЛАНГА С К-ГО ПОРЯДКА С ИНТЕНСИВНОСТЬЮ Е DO 2 IЕ = 1 / N CALL ERLNG2 <Е, К, X) 2 CONTINUE 1 CONTINUE С СТАТИСТИЧЕСКАЯ ОБРАБОТКА РЕЗУЛЬТАТОВ С N Р НЕЗАВИСИМЫХ ПРОГОНОВ МОДЕЛИ Рис. 18. Схема организации независимых испытаний модели на ФОРТРАНе DCL И1 BIN F I X Е D ( 3 1 ) EXTERNAL,* DCL <11# МО DU L > BIN FIXEDC31 > : M0DUL=2147483647; / * МОДУЛЬ ГЕНЕРАТОРА=г**31-1 * / 11 = 1 з; / * НАЧАЛЬНОЕ ЧИСЛО */ / * БАЗОВОГО ГЕНЕРАТОРА * / do ai = n,M0Dui"ii; /* ОРГАНИЗАиИЯ ПАРЫ ДОПОЛНЯЮЩИХ * / / * ПРОГОНОВ модели * / / * РЕАЛИЗАЦИЯ ОДНОГО ПРОГОНА * / end; Рис. 19. Схема простейшей реализации метода ОКСП DCL П I BIN Я I X Е D < 3 1 ) EXTERNAL,' DCL ARQI(2> BIN FXXE0C31> /* МАССИВ ЗНАЧЕНИЙ Д1 */ INIT(1,2); /* НАЧАЛЬНЫЕ ЗНАЧЕНИЯ Д1 ДЛЯ */ /* СЛУЧАЙНЫХ ПОТОКОВ */ * * * DO 1=1 ТО NP; /* NP-КОЛИЧЕСТВО НЕЗАВИСИМЫХ */ /+ ЭКСПЕРИМЕНТОВ */ * * DO J = 1 то NV,' /* NV-КОЛИЧЕСТВО ВАРИАНТОВ */ /* МОДЕЛИ */ * * И1 = ARHI < 1 > ; / * ГЕНЕРАЦИЯ ПСЧ 1-ГО СЛУЧАЙНОГО ARBI(1 > = П1 ; ПОТОКА */ * * ДI=A RDI (2 ) ; / * ГЕНЕРАЦИЯ ПСЧ 2-ГО СЛУЧАЙНОГО A R Д I < 2 ) = U I ; ПОТОКА ★/ * * END ; /* СТАТИСТИЧЕСКАЯ ОБРАБОТКА ПОЛОЖИТЕЛЬНО */ /* КОРРЕЛИРОВАННЫХ ЗНАЧЕНИЙ ПОКАЗАТЕЛЕЙ ь/ /* РАЗЛИЧНЫХ ВАРИАНТОВ МОДЕЛИ */ * * * end; /* СТАТИСТИЧЕСКАЯ ОБРАБОТКА НЕЗАВИСИМЫХ */ /* ЗНАЧЕНИЙ,ПОЛУЧЕННЫХ В N Р ЭКСПЕРИМЕНТАХ */ Рис. 20. Схема комбинации методов независимых испытаний и ПКСП с разде¬ лением случайных потоков
модели. Такой прием позволяет повысить эффективность метода ПКСП при переменном объеме (т. е. количестве генерируемы ч ПСЧ) каждого случайного потока для различных вариантов мо¬ делируемой системы. Глава шестая ПРАКТИКА ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ СИСТЕМ СБОРА И ОБРАБОТКИ ДАННЫХ 6.1. Модель блока регистрации и обработки данных Назначение и режимы работы блока. Комплекс БРОД (блок регистрации и обработки данных) предназначен для сбора, об¬ работки, классификации показаний научных приборов, их запо¬ минания и передачи в телеметрическую систему. Кроме того, БРОД обеспечивает управление и синхронизирование работы отдельных научных приборов. БРОД по заданному алгоритму непрерывно ведет оценку выбранной группы величин и в случае появления заданных параметров переводит весь комплекс науч¬ ных приборов (КНА) в режим высокого временного разрешения. Такое решение комплекса БРОД принято с целью обеспечения проведения подробных измерений физических явлений, напри¬ мер на участке прохождения космического объекта через место физического события. На таком участке объем'информационно¬ го потока многократно превышает возможности штатных теле¬ метрических систем, поэтому настройка измерительного комп¬ лекса на такой режим может производиться только на необходи¬ мый промежуток времени. В течение остального времени КНА ведет ориентировочные грубые измерения, которые лишь незна¬ чительно загружают емкость запоминающего устройства (ЗУ) телеметрии. Одновременно с ориентировочным измерением идет детектирование момента события. При прохождении объекта в определенный момент через место события комплекс БРОД вы¬ дает команду на переход к усиленному измерению всех изучае¬ мых параметров. Ввиду задержки во времени, которая получа¬ ется при обнаружении события, и ввиду требований эксперимен¬ таторов получить картину физических свойств межпланетной среды непосредственно перед моментом события в течение 7\ секунд перед появлением события'идет запись и накопление замеренных значений. В ЗУ идет постоянное накопление новых значений измеряемых параметров при максимальном быстродей¬ ствии измерительной аппаратуры. Данные старше Тt секунд ав- 84
соматически заменяются новыми. При появлении события в ЗУ сохраняются данные, записанные в течение последних Т4 секунд измерения до момента события. Содержимое памяти передается в бортовую телеметрию вместе с данными, которые продолжают замеряться. Через Т2 секунд после прохождения через место со¬ бытия БРОД возвращает весь КНА в режим грубых ориентиро¬ вочных измерений. Такой рабочий режим в дальнейшем будем называть дежурным, а режим подробного измерения всех пара¬ метров, последующий после сигнала об обнаружении события,— усиленным. Тх секунд перед выработкой сигнала (признака) об¬ наружения события, которые документируются данными, накоп¬ ленными во внутренней памяти БРОД,— это предыстория собы¬ тия. Для контроля правильности функционирования всех науч¬ ных приборов и выявления отклонения параметров приборов на определенную часть каждого усиленного режима КНА коман¬ дой от комплекса БРОД переключается в режим калибровки. Организация выходных данных. Из комплекса БРОД инфор¬ мация выдается блоками (кадрами), далее называемыми КАДР ДАННЫХ (DF). Передача ведется в виде временной последо¬ вательности, состоящей из информации дежурного режима, предыстории и усиленного режима. Временные последователь¬ ности данных различают четырех типов. Исходная последова¬ тельность выдается БРОД при частоте опроса приборов Т0 Гц. Остальные отличаются от исходной увеличением соответственно в 2; 4 и 8 раз длительности предыстории и всех частей усиленно¬ го режима, а также уменьшением частот опроса. При этом частота опроса в дежурном режиме не изменяется, т. е. он рабо¬ тает через Т3 секунд. Переход от одной последовательности к другой производится по команде с Земли. КАДР ДАННЫХ (DF) определяется как массив служебной и научной информации. Основное распределение блоков следую¬ щее: КАДР СОБЫТИЯ (SDF) —для передачи информации в ре¬ жиме предыстории, в усиленном режиме и режиме калибровки; КАДР ДЕЖУРНЫЙ (QDF)—для передачи информации без сжатия в дежурном режиме; КАДР СЖАТИЯ (RDF) —для передачи сжатых данных в Дежурном режиме. Каждая из указанных форм организации выдаваемой инфор¬ мации имеет свою специфику, обусловленную задачами, которые она призвана выполнять. В массивы данных, поступающих от бортовых научных при¬ боров, системой БРОД вводится дополнительная служебная информация для выполнения дешифровки в наземных условиях. Дополнительные данные могут быть разделены на два вида: постоянные — для синхронизации и обозначения информацион¬ ных блоков и переменные — для сигнализирования о внутренних состояниях приборов КНА. До сих пор у всех телеметрических систем оставалась неиспользованной та часть, которая была вы- 85
/У//#7/7/7А/а/////7 A \ У" //ауУ///2У7 /У///р0/7МГ///У/Г A 4/tax/77\j/7/ZX777 | ftiz/Z/77 | 4 tfax/7\ /7/77 7J /7a 4J7///z/y/77 | I N ^4 1 t ♦ ♦ II! in 1 и 1 ii Hi Рис. 21. Структура блока DF делена для регистрации сигналов пришедшего в неисправность прибора. Система сбора и обработки данных БРОД вместе с массивом научной информации выдает и переменную служеб¬ ную информацию о конфигурации подключенных приборов. Для каждого из намеченных для подключения приборов выделяется 1 бит в конфигурационной группе. Кроме того, дополнительно’ передается временная информация, необходимая для привязки научных показаний к параметрам космической орбиты. В каждом блоке данных служебная информация занимает 10 байт. Фактическая же длина каждого блока задается конфи¬ гурацией подключенных в данный момент научных приборов. КАДР СОБЫТИЯ подразделяется еще на четыре различных типа: SDF1, SDF2, SDF3 и SDF4. Информация о типе'передава¬ емого блока содержит байт, который находится непосредствен¬ но перед синхрогруппой. В режиме предыстории выдаваемая ин¬ формация формируется в блоке данных SDF1, информация пер¬ вых T2i секунд усиленного режима — в SDF2, ^следующих Г22 секунд — в SDF3. В последние Г23 секунды усиленного режима выполняется калибровка, информация при этом выдается в SDF4. Длина блока DF при полном действии всех научных прибо¬ ров следующая: SDF1 —425 байт, SDF2 — 435 байт, SDF3 — 112 байт, SDF4—112 байт, QDF—139 байт, RDF—13 байт. При отключении отдельных приборов КНА длина блока соот¬ ветствующим образом уменьшается. В качестве синхрометки принята некоторая фиксированная группа битов. Внутренняя структура блока DF представлена на рис. 21. Каждый из описанных типов блоков характерен для какого- то режима работы или его этапа. Последовательность рабочих режимов во время регистрации события сказывается и в после¬ довательности типов передаваемых блоков. Схематическое изо¬ бражение типичной структуры информационного потока следую¬ щее: 86
QDF 1. RDF Дежурный режим: сжатые данные п. RDF 1. SDF1 Усиленный режим: предыстория т. SDF1 1. SDF2 k. SDF2 1. SDF3 h. SDF3 1. SDF4 калибровка p. SDF4 QDF 1. RDF Дежурный режим: сжатые данные п. RDF QDF {п, т, k, h, р — количество повторений блоков). Цель моделирования — создание имитационной модели про¬ цесса функционирования блока регистрации и обработки дан¬ ных и получение в результате машинных экспериментов после¬ довательности кадров. Сформированная при моделировании вы¬ ходная информация должна быть пригодной для ее использова¬ ния при отладке наземного математического обеспечения. В качестве инструмента для решения поставленной задачи выбран пакет прикладных программ ДИСМ, допускающий сво¬ бодную манипуляцию с данными, организацию и запись их в требуемой форме. В описанной в данном параграфе модели БРОД при имитации последовательности кадров их длина изме¬ няется в зависимости от задаваемой конфигурации включенных приборов. Кроме того, вид получаемой последовательности за¬ дается извне. Описание имитационной модели. Реализованная на базе па¬ кета прикладных программ ДИСМ модель БРОД состоит из процедур событий, отражающих динамику системы, программ, в которых выполняются различного рода вспомогательные опера¬ ции, и главного блока модели. В процедурах событий BLKi описан моделирующий алгоритм процесса функционирования комплекса БРОД. В качестве со¬ бытий, отражающих дискретную последовательность смен сос¬ тояния БРОД выделены: генерация кадра QDF при работе дежурного режима (собы¬ тия составляют первый класс, алгоритм реализуется в процеду¬ ре BLK1); 87
генерация кадра RDF при сжатии данных в дежурном ре¬ жиме (второй класс, процедура BLK2); генерация кадров SDF при работе системы (БРОД в усилен¬ ном режиме (третий класс, процедура BLK3); завершение процесса моделирования в заданный момент времени (четвертый класс, процедура BLK4). В модели БРОД принято, что интервалы времени между по¬ явлением двух последовательных кадров (для типов RDF и SDF) представляют собой случайные величины. Для кадров типа QDF интервал времени фиксирован. Каждому режиму приписан свой приоритет. Наиболее высоким обладает усиленный режим SDF (0-й приоритет), далее идут дежурный режим QDF (1-й приоритет) и режим сжатия данных RDF (2-й приоритет). Та¬ кое распределение приоритетов между событиями, отражающими генерацию соответствующих кадров, обеспечивает при наличии в модели запланированных на один и тот же момент времени двух или более событий первоочередную обработку события с высшим приоритетом. Сам принцип установления приоритетов между режимами ясен из постановки задачи. Остановимся крат¬ ко на содержании моделирующих алгоритмов, реализуемых в процедурах событий. Листинги соответствующих программ с достаточно подробными комментариями приведены в Приложе¬ нии 1. В момент наступления события первого класса, отражающе¬ го генерацию кадра QDF (процедура BLK1), необходимо сфор¬ мировать кадр этого типа и обеспечить его запись в соответст¬ вующее место памяти. Используя заданное значение интервала времени между появлением двух последовательных кадров QDF и процедуру пакета VWAIT, выполняется планирование очеред¬ ного события генерации кадра QDF. В процедуре BLK2, реализующей генерацию кадра RDF, выполняются действия, аналогичные процедуре BLK1. Исклю¬ чение составляет задание интервала времени между появления¬ ми кадров RDF, которое предварительно вычисляется. Генерация кадров при работе усиленного режима (процеду¬ ра BLK3) предусматривает последовательное формирование и запись кадров типа SDF1, SDF2, SDF3 и SDF4. Так как после завершения работы БРОД в усиленном режиме в соответствии с представленной выше структурой информационного потока должен выполняться дежурный режим QDF, а затем режим сжатия данных RDF, то запланированные ранее события гене¬ рации этих кадров должны быть отменены процедурой пакета VDELET, а вместо них запланированы новые события первого и второго классов. Далее планируется следующее событие треть¬ его класса. В процедуре завершения процесса моделирования BLK4 выполняются все необходимые действия по окончанию формиро¬ вания выходной информации, выводу на печать контрольных со¬ общений, а также освобождению при помощи процедуры паке¬ та VDESTR календаря.
В главном блоке модели (имя BRTD) подготавливаются к работе необходимые файлы для записи имитируемых кадров и вспомогательной информации; вводятся и распечатываются ис¬ ходные данные моделирования; выполняются нормирование модели, порождение событий, задающих ее начальное состояние, н завершение процесса моделирования; осуществляется вызов управляющей программы пакета, производящей запуск и конт¬ роль за ходом моделирования. Перед началом эксперимента осуществляется ввод исходных данных, таких, как время моде¬ лирования, длительность работы усиленного режима, интервал времени между появлением кадров типа QDF и др. Представление выходной информации. Результатом работы имитационной модели системы БРОД является последователь¬ ность кадров, которая записывается на магнитную ленту (с име¬ нем BRODT 1). Формируемые на ней данные организованы в блоки размером 1536 байт. Количество кадров в блоках раз¬ личное, причем начало кадра может быть записано в одном блоке, а окончание — в следующем. Для использования полу¬ чаемой в результате машинного эксперимента последователь¬ ности кадров для отладки наземного математического обеспе¬ чения одновременно с лентой BRODT1 создается дополнитель¬ ная лента PASBRD. Она служит для записи паспортов всех •сгенерированных в процессе моделирования кадров. В паспорт включается такая справочная информация, как время генера¬ ции кадра, тип кадра, конфигурация включенных приборов и длина кадра. Если к моменту завершения моделирования буфер •емкостью 1536 байт не заполнен, то его содержимое дополня¬ ется нулями и последним блоком записывается на магнитную ленту. Информация о количестве блоков выдается на печать. Кроме того, выдается сообщение о количестве байтов, записан¬ ных в последних блоках на лентах BRODT1 и PASBRD. Вспомогательные программы модели. Как отмечалось выше, модель составляют процедуры событий, главный блок и вспомо¬ гательные программы. Приведем краткие характеристики по¬ следних, так как в листингах к ним имеются обращения. Программа распечатки исходных данных PRINT вызывает¬ ся в главном блоке модели для контроля данных, вводимых с перфокарт. В зависимости от задаваемого режима и количества байтов информации, выдаваемой каждым включенным прибором, фор¬ мируются массивы показаний КНА (научная информация, представляющая собой набор нулей и единиц). Это действие выполняется процедурой STUDY. Массив значений количества байтов информации, выдаваемой каждым включенным прибо¬ ром, и конфигурация этих приборов являются исходными дан¬ ными. При заполнении буфера сгенерированной информацией на его содержимое накладываются помехи, вероятность наложения которых задается. Эту функцию выполняет процедура STIR. 89
Запись сформированных кадров и их паспортов в буфера выполняется соответственно процедурами HELP и PASSPOI^ Для записи буферов, содержащих сгенерированную в про' цессе моделирования информацию и паспорта, предназначены процедуры BAND и PASTAPE. данных 6.2. Использование комплекса АСИМ в имитационном эксперименте Для иллюстрации использования АСИМ в целях моделиро¬ вания СМО рассмотрим систему сбора и обработки (ССОД). Исследуемая ССОД (рис. 22) включает: 7///Й>/ГГ /7ЖЖ-“/ 7777 I I ////#№ „ /7&/77/7ха=2 ////Ямс : /7/7/77{7Ar/Z=/6 >—и-о / рщг) *ж /7 Ж Y&77/&7 Рис. 22. Структура системы сбора и обработки данных источники (датчики) информации; коммутатор или элемент сбора (ЭС), осуществляющий по оп¬ ределенному правилу опрос датчиков; информация с каждого из датчиков поступает на вход коммутатора; элемент управления обработкой (ЭУО)—вычислительное устройство, осуществляющее обработку информации от совокуп¬ ности источников; запоминающее устройство, сглаживающее неравномерность интервалов между очередными поступлениями сообщений в выходной канал связи. В рассматриваемой ССОД опрос датчиков может произво¬ диться по внешнему заданию номера входа либо по признаку наличия на входе информации для считывания. В первом случае опрос . входов ЭС осуществляется путем последовательного (циклического) обращения к каждому из N входов через фикси¬ рованный интервал Т. При этом наличие информации на входе приводит к передаче ее в ЭУО и подключению соответствующей данному входу программы обработки. Предполагается, что за каждым входом закреплена определенная программа, отлича¬ ющаяся от остальных программ конкретным назначением и длительностью выполнения. Во втором случае опрос входов ЭС производится по признаку наличия информации. Установка признака осуществляется в момент поступления сообщений на вход ЭУО. Каждое сообщение выставляет свой 90
запрос. В то же время поступление сообщений на свободное ЭУО приводит к немедленному считыванию информации и последую¬ щей ее обработке. Асинхронное поступление сообщений от ис¬ точников может привести к одновременному появлению инфор¬ мации на нескольких входах. Выбор сообщений на обработку в этих случаях производится согласно установленному приоритету. Вновь поступающие сообщения могут вытеснять предшествую¬ щие, ожидающие считывания и обработки. Тем самым предпо¬ лагается возможность потери сообщений. После обработки в ЭУО сообщение поступает в ЗУ, функ¬ ционирующее в стартстопном режиме. ЗУ производит предвари¬ тельное накопление сообщений, и после достижения в нем опре¬ деленного числа сообщений осуществляется автоматический опрос (передача по каналам связи) с постоянной скоростью на¬ копленной информации. Одновременно со сбросом может проис¬ ходить пополнение ЗУ очередными поступающими сообщения¬ ми. Вследствие ограниченной емкости ЗУ возможны потери со¬ общений. После передачи всех сообщений ЗУ отключается до очередного наступления состояния заполненности. Приведенное выше общее описание ССОД позволяет перейти непосредственно к процессу построения имитационной модели на языке АСИМ. Однако перед составлением описания модели необходимо прежде всего представить структурные компоненты ССОД в виде сети СМО и уточнить ряд входных параметров. Представление в виде сети предполагает отождествление элемен¬ тов ССОД в терминах и понятиях, используемых в задачах мас¬ сового обслуживания. Так, в нашем случае датчики информации можно трактовать как внесистемные источники требований. По условию в данной ССОД имеется 16 датчиков, каждому из них приписан порядковый номер, соответствующий значению индек¬ са потока. Интервалы между поступлениями требований от ис¬ точников с нечетными номерами имеют экспоненциальное рас¬ пределение со следующими параметрами: 0,05; 0,05; 0,04; 0,05; 0,05; 0,02; 0,05; 0,01. Интервалы между поступлениями требова¬ ний от остальных датчиков распределены по закону Эрланга второго и третьего порядков. Интенсивности входящих потоков принимают следующие значения: 0,05; 0,04; 0,04; 0,05; 0,05; 0,03; 0,05; 0,01. Сообщения от каждого из источников поступают к устройст¬ ву (ЭУО,1) и устанавливаются к нему в очередь. В данном слу¬ чае очереди выполняют функции буферов для хранения посту¬ пившей информации. Причем емкость всех очередей ограниченна, что позволяет хранить в них только по одному сообщению. Остальные сообщения, поступающие в заполненную очередь, те¬ ряются. После считывания сообщений из очереди производится подключение обрабатывающих программ. При этом время об¬ служивания на устройстве (ЭУО,1), характеризующее задерж¬ ку сообщения, идентично по смыслу процессу выполнения про¬ граммы обработки. Предположим, что в нашем случае время 91
обслуживания на устройстве (ЭУО,1) для всех источников под- чинено нормальному закону со средним, равным 0,5, и средне квадратичным отклонением, равным 0,15, а интервал времени t между опросом двух соседних датчиков равен 1. Обработанные сообщения поступают во второй узел, идентифицирующий рабо¬ ту ЗУ. Стартстопное ЗУ состоит из буфера (очереди) емкостью на 50 сообщений и узла с идентификаторами (ЗУ, 1). Обслужи¬ вание сообщений в узле (ЗУ, 1) идентично процессу передачи сообщения по каналу связи. Скорость передачи сообщений от всех источников одинакова и равна 0,95 единиц времени. Вклю¬ чение устройства (ЗУ, 1) производится автоматически при на¬ коплении в очереди определенного числа сообщений. Установ¬ ленное количество заявок соответствует по смыслу «порогу вклю¬ чения» ЗУ. В данном варианте модели «порог включения» со¬ впадает со значением максимально возможной длины очереди. При проведении машинных экспериментов с моделью ССОД, построенной с помощью системы АСИМ, могут быть решены следующие задачи. 1. Определение важнейших характеристик моделируемой сис¬ темы, к которым относятся: вероятности потери сообщения на обеих фазах обслуживания; среднее время задержки сообщения в системе; коэффициенты загрузки устройств ЭУО и ЗУ; коли¬ чество включений ЗУ за интервал моделирования; средняя дли¬ на цикла записи ЗУ. 2. Исследование зависимостей перечисленных характеристик от следующих параметров моделируемой системы: количества датчиков на элементе сбора; вида и параметров законов распре¬ делений между интервалами поступления сообщений на каж¬ дый вход; вида и параметров закона распределения времени об¬ служивания (обработки) сообщений на ЭУО; емкости буферно¬ го ЗУ; порога включения ЗУ; времени считывания одного сооб- .щ'ения в ЗУ. Описанные исследования могут быть проведены для двух описанных выше вариантов организации опроса датчиков: цик¬ лического и по признаку наличия сообщения. Изменение всех отмеченных выше параметров, а также переход к другому ва¬ рианту организации опроса датчиков осуществляются заменой или добавлением нескольких предложений в описании модели на входном языке. Например, переход к исследованию ССОД с организацией опроса датчиков по признаку наличия сообщений сводится к тому, что в предложении, описывающем очередь,, удаляется конструкция ОПРОС ЦИКЛИЧЕСКИЙ (ПОСТОЯННОЕ (1)) Кроме того, комплекс АСИМ предоставляет также возможность уточнения абсолютных оценок результатов моделирования с по¬ мощью исследования поведения модели в стационарном режи¬ ме, позволяющем исключить влияние переходного процесса на точность статистических оценок. 92
Приведенный в Приложении 2 пример модели ССОД на язы- ке АСИМ иллюстрирует простоту и наглядность ее описания, а также удобство изменения вариантов и параметров системы в. имитационном эксперименте. 6.3. Исследование моделей в диалоговом режиме Рассмотрим применение диалоговой системы ДСВМ, описан¬ ной в главе 4, при исследовании имитационной модели ССОД. Для этой цели используется модель устройства согласования с предварительным накоплением сообщений, общая структура и описание которой приведены в главе 2. Выбор данного объекта моделирования обусловлен следующими соображениями. 1. Сравнительная несложность исследуемой системы позво¬ ляет сосредоточить внимание на аспектах планирования имита¬ ционных экспериментов и эффективного применения диалогово¬ го режима. 2. Результаты аналитического исследования математической модели устройства согласования с предварительным накопле¬ нием, полученные для ряда ее возможных параметров [12], дают возможность проверки имитационной модели и объектив¬ ной оценки ее точности в различных режимах моделирования. 3. Небольшое число параметров модели, допускающих всевоз¬ можные сочетания, позволяет выявить эффективность и гиб¬ кость диалогового режима при организации машинных экспе¬ риментов по сравнению с жесткими планами. В рассматриваемом варианте модели в качестве входного потока сообщений принят поток Эрланга /(-го порядка, частным случаем которого (при /(=1) является пуассоновский поток. Параметрами моделируемой системы являются: интенсив¬ ность входного потока % и порядок К (параметры распределения Эрланга); емкость буфера N\ порог включения S; частота счи¬ тывания сообщений в ЗУ f—l/T (Т — время записи сообщения). Для целей моделирования, очевидно, можно объединить пер¬ вый и последний параметры и в дальнейшем исследовании ис¬ пользовать коэффициент загрузки р=X/f. Для описываемой системы представляют интерес следующие характеристики: вероятность потери сообщений Рп, время за¬ держки сообщений в системе Г3, средняя длина цикла записи ЗУ Lcp, отношение LCV/(TS). Выделение классов событий в моделируемой системе, необ¬ ходимое для построения имитационной модели с помощью па¬ кета ДИСМ, а также описание алгоритмов функционирования процедур событий BLK\i приведены в главе 2. Главный блок модели, имя которого заменено с SYSTEM на SSOD1, осуществляет ввод исходных данных, подготовку и за¬ пуск процесса моделирования, обработку и вывод полученных результатов. Так как диалоговая система взаимодействия ДСВМ позволяет использовать любые моделирующие ПЛ/1-программы 93
без внесения в них каких-либо принципиальных изменений, от¬ ладка модели.SSOD1 осуществлялась в автономном режиме без использования ДСВМ. Особенности организации ввода исход¬ ных данных и вывода результатов, связанные с работой модели SSOD1 в диалоговом режиме, отмечены далее. После определе¬ ния исходных данных в главном блоке (главной программе) SSOD1 производится подготовка модели к работе с помощью функций пакета ДИСМ. Затем планируются события, иниции¬ рующие и завершающие процесс моделирования («поступление сообщения на вход БЗУ» и «окончание моделирования»). Затем вызывается управляющая программа пакета ДИСМ, реализую¬ щая процесс моделирования. После окончания этого процесса производятся обработка и вывод на печать результатов. Постановка задачи при организации диалогового экспери¬ мента с имитационной моделью может быть значительно шире, чем просто получение результатов моделирования при несколь¬ ких наборах исходных данных. В частности, при организации экспериментов с моделью SSOD1 с использованием системы ДСВМ были поставлены следующие задачи. 1. Исследовать устойчивость результатов моделирования при изменении интервала моделирования и количества прогонов мо¬ дели и установить оптимальные значения этих параметров, ми¬ нимизирующие затраты машинного времени при обеспечении требуемой точности результатов моделирования. 2. Исследовать зависимости выделенных выше характеристик модели от параметров р, /С, N, 5 при различных сочетаниях этих параметров. При этом наибольшее внимание следует уделить «интересным» сочетаниям параметров с учетом того, что сама область интересующих исследователя параметров определяется полученными результатами. 3. Оценить возможность и целесообразность оперативного контроля и управления процессом имитационного моделирования с помощью диалоговой системы ДСВМ, а также эффективного использования опыта человека при диалоговом взаимодействии с моделью. После отладки и проверки работоспособности программы модель SSOD1 была подготовлена к работе с системой ДСВМ согласно правилам, приведенным в главе 4. Первым действием на этом этапе явилось выделение в модели всех переменных, представляющих параметры и результаты. В обсуждаемой мо¬ дели было выделено 9 следующих элементных параметров. Пер¬ вые 4 — интенсивность входного потока LAMBDA, порядок вход¬ ного потока KFLOW, длина буфера БЗУ LBUF и порог вклю¬ чения SLBUF — являются параметрами модели и пояснений не требуют. Остальные относятся к плану эксперимента и плану вывода результатов. Ключ вывода результатов на терминал и АЦПУ KEYST позволяет оперативно управлять объемом инфор¬ мации, выводимой на АЦПУ и терминал, и реализовать следую¬ щие варианты вывода: 94
1) вывод только средних значений всех результатов на тер¬ минал; 2) действия, отмеченные в предыдущем пункте, плюс вывод средних и дисперсий результатов на АЦПУ; 3) вывод средних значений на терминал, а также средних, дисперсий и гистограмм всех результатов на АЦПУ. Манипуляция значением параметра KEYST дает возможность человеку, проводящему диалоговый эксперимент, быстро оце¬ нить наиболее важные характеристики модели, полученные в данном эксперименте, и с максимальной оперативностью осу¬ ществлять направленный поиск интересных комбинаций пара¬ метров. Следует заметить, что в варианте 1 обходятся обраще¬ ния из процедур модели к блоку статистики пакета ДИСМ, что повышает быстродействие модели почти в 2 раза. Установка ре¬ жимов 2 и 3 позволяет получить более полную информацию о характеристиках модели. Параметр INITRG устанавливает начальное число для базо¬ вого генератора псевдослучайных чисел, используемого при ге¬ нерации случайного входного потока в модели SSOD1. Этот параметр определяет всю случайную последовательность, выра¬ батываемую базовым генератором. Устанавливая одно и то же число при прогоне нескольких вариантов модели, отличающих¬ ся параметрами, которые не касаются параметров входного по¬ тока, можно получить более высокую точность сравнительных оценок данных вариантов. Такой прием является простейшим способом реализации метода положительно коррелированных случайных потоков, упоминавшегося в главе 5. При изменении параметров входного потока изменяется длина используемой последовательности базовых ПСЧ, и без применения специаль¬ ных средств сохранить корреляцию в этом случае невозможно. Прогон одного и того же варианта модели при разных значениях параметра INITRG позволяет получить независимые реализа¬ ции и соответственно уточнить оценки результатов моделирова¬ ния. Параметр NPROGON устанавливает количество независимых прогонов модели в одном имитационном эксперименте. Увели¬ чение этого параметра позволяет улучшить точность абсолютных оценок результатов моделирования. Параметр TSIMUL определяет интервал моделирования (&. реальных единицах времени). Изменение этого параметра, так же как и предыдущего, позволяет найти оптимальный компро¬ мисс между точностью результатов и быстродействием модели. Последний параметр MAS, выделенный в модели SSOD1,. определяет масштаб системного времени, т. е. количество еди¬ ниц системного времени, содержащееся в единице реального- времени. Изменение этого параметра влияет на ошибку дискре¬ тизации модели, вызванную переходом от непрерывного реаль¬ ного времени к дискретно изменяющемуся системному и, таким 95»
образом, позволяет оценить границы применимости модели с дискретными событиями для имитации реальных систем. Аналогичным образом в модели SSOD1 были выделены сле¬ дующие переменные, представляющие собой результаты функ¬ ционирования модели: вероятность потери сообщения #(1); среднее время задержки сообщения Н(2): средняя длина цикла записи ЗУ #(3); количество включений ЗУ за интервал модели¬ рования STSP; отношение YY=LCV/(fS), упоминавшееся выше. Время считывания одного сообщения в ЗУ принято равным единице реального времени. Таким образом, коэффициент за¬ грузки системы p=X/f=X. Естественно, все временные харак¬ теристики в модели выражаются в выбранных единицах. В це¬ лях удобства сбора статистических результатов первые три ре¬ зультата объединены в массив Н. Требование представления всех параметров и результатов в формате с плавающей точкой не накладывает никаких ограничений на рассматриваемую мо¬ дель, так как все дискретные параметры и результаты (порядок входного потока, длина буфера, порог включения ЗУ, ключ вы¬ вода результатов, количество включений ЗУ и т. д.) допускают точное представление в плавающем формате. Все параметры модели объединены в структуру параметров PAR, а все результаты — в структуру результатов RES. Выбор класса памяти и сферы действия этих структур определяется следующими соображениями. 1. Количество параметров и результатов не изменяется ни в процессе эксперимента, ни между различными экспериментами. 2. Значения параметров должны быть известны как в глав¬ ной программе модели, так и подпрограммах BLKi. 3. Значения результатов также определяются в главной про¬ грамме и в подпрограммах. 4. Для удобства проведения диалогового эксперимента в со¬ ответствии с приведенной выше постановкой задачи желательно иметь параметры статического класса памяти. Это позволяет сохранять для очередного эксперимента значения параметров, определенные в предыдущем эксперименте, и сосредоточить вни¬ мание экспериментатора на изменяемых параметрах. На основе этих соображений для обеих структур выбраны класс памяти STATIC и атрибут сферы действия EXTERNAL. Необходимые для связи с ДСВМ величины (количества пара¬ метров и результатов и их адреса) определяются один раз в на¬ чале работы главной программы модели SSOD1. Затем в глав¬ ной программе, как уже отмечалось, производятся установка начальных значений необходимых переменных, ввод параметров модели, инициализация и запуск процесса моделирования и вы¬ вод определенных параметром KEYST характеристик результа¬ тов на терминал и АЦПУ. Для ввода параметров используются блок синхронного ввода-вывода DIALOG, входящий в состав мо¬ дулей системы ДСВМ, и команды монитора. При обращении к модулю DIALOG на терминал выводятся имена всех парамет¬ ре
ров и соответствующие текущие значения. Так как после вывода информации модуль DIALOG ожидает ответного ввода, в это вре¬ мя можно изменить все или часть параметров модели, используя команду монитора &С. После ввода новых значений можно убедиться в правильности значений параметров с помощью ко¬ манды &Р, а затем ввести произвольный символ в качестве от¬ вета программе модели. - Затем главная программа запускает процесс моделирования, в течение которого можно, используя команды монитора, контролировать эксперимент, прерывать его, начать новый, если в этом возникла'необходимость, и т. д. По завершении моделирования с помощью обращения к модулю ДСВМ DOUT производится вывод результатов на терминал, а затем печать необходимых характеристик на АЦПУ. После вы¬ вода результатов выполнение модели SSOD1 завершается. Фор¬ мат сообщений, выводимых на терминал, выбран так, что при работе с дисплеем (этот вариант является основным при исполь¬ зовании системы ДСВМ) после завершения эксперимента на экране одновременно отображаются текущие параметры модели и результаты моделирования, полученные при этих параметрах. Изменения, введенные в главную программу SSOD1 для ра¬ боты модели с ДСВМ, представлены в Приложении 3. Подготов¬ ленная таким образом программа с помощью процедур языка управления заданий, входящих в состав системы ДСВМ, транс¬ лируется, объединяется на шаге редактирования с модулями ДСВМ, модулями подпрограмм ВЬКд, а также с модулями паке¬ та ДИСМ и в готовом к выполнению виде заносится в библио¬ теку моделей. Оттуда модель SSOD1 может быть вызвана для проведения имитационных экспериментов одним предложением языка управления заданиями ЕХЕС или командой оператора START, выданной с консоли. В соответствии с поставленными задачами были спланирова¬ ны следующие серии имитационных диалоговых экспериментов. В первой серии предполагается исследовать устойчивость ре¬ зультатов моделирования в зависимости от интервала модели¬ рования TSIMUL и количества прогонов NPROGON, а также от масштаба MAS и определить значения этих параметров, обес¬ печивающих приемлемую точность оценок при минимальных за¬ тратах машинного времени на проведение одного эксперимента. Все остальные эксперименты предполагается проводить при найденных значениях этих параметров. Параметр KEYST в дан¬ ной серии устанавливает минимальный объем выводимой ин¬ формации с целью повышения быстродействия модели. Пара¬ метры LAMBDA, LBLJF и SLBUF должны определять вариант системы, который будет исследоваться чаще других. Значения этих параметров выбираются равными соответственно 0,9; 64 и 56. Входной поток устанавливается пуассоновским (KFLOW=l). Параметр INITRG, определяющий начальное значение для ба¬ зового генератора ПСЧ, может быть произвольным. 4 Заказ № 4411 97
Вторая серия экспериментов планируется для исследования зависимости основных результатов модели: вероятности потерь, среднего времени задержки сообщения и средней длины цикла записи ЗУ от ^параметров LAMBDA, KFLOW, LBUF и SLBUF. Конкретные значения параметров будут установлены непосред¬ ственно при проведении экспериментов. Предварительно об¬ ласть значений параметров определяется следующими возмож¬ ными значениями: 0,3<LAMBDA<1,0; KFLOW = 1, 2, 3, 4, 5; LBUF=40, 48, 56, 64; SLBUF = 40, 48, 56, 64. Решение третьей задачи, поставленной в качестве цели диа¬ логовых экспериментов с моделью SSOD1, выяснится в процес¬ се решения двух первых\задач. В процессе проведения первой серии . экспериментов было установлено, что минимальные значения параметров TSIMUL и NPROGON, достаточные для проведения- дальнейших экспери¬ ментов с моделью, равны соответственно 104 и 1. Уменьшение TSIMUL до 5000 единиц вызывает увеличение разброса значений результатов иногда до 100%. Увеличение TSIMUL до 20 000 еди¬ ниц повышает точность оценок на 10—15%, но увеличивает время работы модели вдвое. Увеличение количества прогонов при той же величине TSIMUL также.пропорционально ухудша¬ ет быстродействие модели, но оказывает меньшее влияние на повышение точности результатов, чем увеличение TSIMUL. Так как при TSIMUL=10 000 и не слишком малой загрузке системы через последнюю проходит порядка 9000 сообщений, можно считать полученные результаты в достаточной мере обоснован¬ ными. Влияние масштаба MAS на характеристики модели ока¬ залось очень незначительным. При изменении его в пределах от 102 до 105 результаты практически не изменялись. Так как на быстродействие модели этот параметр влияния не оказывает, то его значение можно выбирать исходя только из соображений гарантии от переполнения фиксированного формата системного времени и некоторых других, специфичных для конкретной си¬ стемы моделирования. Исследование второй задачи было начато с исследования зависимости результатов от LBUF и SLBUF при KFLOW=l и LAMBDA=0,3. Однако было выяснено, что потерь заявок при такой малой загрузке не происходит практически при любых значениях LBUF и SLBUF и более целесообразно исследовать указанные зависимости при высокой загрузке (LAMBDA^ ^0,9—0,95). Все эти решения принимались непосредственно за пультом дисплея и позволили существенно сократить затраты времени ЭВМ, необходимые для правильных выводов о харак¬ теристиках модели. Подобным способом исследовались и осталь¬ ные зависимости, интересовавшие экспериментатора. Исследуе¬ мая модель УС с предварительным накоплением сообщений под- 98
S0J -7 J /0^/0 ^ Jr Jr /0 - 00 qj 00 t0k Рис. 23. Зависимости вероятности потерь Рп, среднего времени задержки сооб¬ щения Г3 и средней длины цикла записи Lcp от интенсивности входного истока X дается (непосредственно или при некоторых ограничениях) аналитическому исследованию. Поэтому данный раздел посвя¬ щен не столько непосредственным результатам моделирования, сколько методике их получения с помощью средств диалогового взаимодействия с имитационной моделью. В процессе экспери¬ ментирования с моделью SSOD1 было выяснено, что наиболь¬ шее влияние на все ее характеристики имеет интенсивность вход¬ ного потока, причем наиболее интересными являются значения LAMBDA порядка 0,9—1,0. На рис. 23 приведены графики зави¬ симостей основных характеристик модели: вероятности потерь Рп, среднего времени задержки сообщения Т3 и средней длины цикла записи ЗУ Lcp — от интенсивности пуассоновского вход¬ ного потока при длине буфера LBUF=64 и пороге включения SLBUF = 56. Наблюдается также весьма сильная зависимость характери¬ стик модели от порядка потока Эрланга. Такая зависимость также представляет интерес, так как работу моделируемой си¬ стемы при эрланговском потоке порядка К можно интерпрети¬ ровать как параллельную работу К подобных систем при пуас- соновском потоке с интенсивностью ХК и при условии, что сооб¬ щения поступают по очереди на все БЗУ (точнее, сообщение i из входного потока попадает на устройство /, где j=imod(K-{-\)). Описываемая зависимость иллюстрируется табл. 4. Из нее видно, что при потоке Эрланга уже второго порядка вероят¬ ность потери сообщения значительно уменьшается ‘по сравнению с пуассоновским потоком, а при потоке третьего порядка пада¬ ет до величины, по крайней мере меньшей'5* 10-5. 4* 99
Таблица 4. Зависимость основных характеристик модели SS0D1 от порядка входного потока Эрланга при интенсивности Я, = 0,96, длине буфера L = 64 и пороге включения 5 = 56 Порядок потока срланга Вероятность потери сообщения* Среднее время задерж¬ ки сообщения* Средняя длина цик¬ ла записи ЗУ * 1 0,0032 33,1 900 2 0,0005 32,2 970 3 0,0000 31,1 930 4 0,0000 30,6 940 * Величины в единицах системного времени. В результате проведенного цикла диалоговых экспериментов с моделью SSOD1 можно сделать вывод о том, что применение системы ДСВМ для организации имитационных экспериментов е диалоговом режиме оправдало себя и позволило значительно сократить затраты машинного времени по сравнению с исследо¬ ванием такого типа, проводимым в пакетном режиме. Экономия времени объясняется тем, что по мере продвижения в исследо¬ вании модели и оперативного получения информации о пара¬ метрах и результатах в сжатой и наглядной форме эксперимен¬ татор правильно и быстро выбирает самые существенные пара¬ метры и определяет их значения, необходимые для получения наиболее интересных результатов. Тем самым процесс исследо¬ вания модели быстро направляется в нужную сторону. При диа¬ логовом взаимодействии с моделью практически исключены «хо¬ лостые эксперименты», характерные для пакетного режима, когда при нечетком планировании экспериментов модель попа¬ дает в область неинтересных (а иногда и недопустимых) значе¬ ний параметров и напрасно занимает ресурсы ЭВМ или моде* лирование заканчивается аварийно. Все эти ситуации при рабо те с ДСВМ менее опасны. Аварийно закончившийся эксперимент можно повторить, изменив параметры. Дополнительная потребность в оперативной памяти, вызван¬ ная применением ДСВМ, для данной модели составила около 30—34 кбайт. Объем памяти, занимаемой автономным вариан¬ том SSOD1 (без системы ДСВМ), составляет 120 кбайт. Весь цикл экспериментов, описанный выше, потребовал 30 мин машинного времени, в то время как исследования модели в пакетном режиме, при которых был получен меньший объем результатов, заняли несколько часов. 100
Глава седьмая О СИСТЕМНОМ ПОДХОДЕ К МАШИННОМУ МОДЕЛИРОВАНИЮ КОСМИЧЕСКИХ ЭКСПЕРИМЕНТОВ 7.1. Моделирование космического эксперимента в целом Научный эксперимент в космической физике . как деятель¬ ность, направленная на достижение фундаментальных знаний средствами ракетно-космической техники, является сложной системой [46], и, рассматривая его в таком качестве, правомер¬ но поставить вопрос о машинном моделировании этой большой целеустремленной системы. Здесь не имеется в виду исследова¬ ние средствами имитационного моделирования ‘творческой, по¬ знавательной деятельности ученых или моделирование процес¬ са принятия решения инженером-проектировщиком, хотя заме¬ тим, что в упомянутых проблемах существуют определенные достижения. Речь идет о таком развитии машинного моделиро¬ вания, которое ставит своей конечной целью создание целостной организации в вычислительной системе многоаспектной инфор¬ мации, ориентированной на определенные классы космических экспериментов, связанной с определенными предметными об¬ ластями исследований. При таком подходе информационная система научного кос¬ мического эксперимента, схематически изображенная на рис. 1, могла бы рассматриваться не только как система потоков дан¬ ных, открытая со стороны приборов и со стороны потребителей, но как система потоков семантически и прагматически опреде¬ ленных сообщений, замкнутая через модель исследуемой пред¬ метной области, известную каждому потребителю информации, исследователю, экспериментатору, а также вычислительной си¬ стеме и изменяющуюся после каждого удачного эксперимента. Таким образом, развитие машинного моделирования ССОД в направлении целостного семиотического моделирования, остав¬ ляя в руках разработчиков информационно-измерительных си¬ стем средства имитационного моделирования, развитию и при¬ менению которых посвящена настоящая монография, могло бы дать разработчикам математического обеспечения средство ав¬ томатизации программирования на базе унифицированных про¬ граммных модулей обработки информации приборов, принадле¬ жащих одному или близким классам. Такое развитие дало бы исследователям, анализирующим экспериментальную информа¬ цию, средство прямого доступа к ней, средство общения с си¬ стемой на языке, близком к языку общения их друг с другом. Оно могло бы дать в высокой степени связанную с внутренней 101
логикой предметной области исследования структуру организа¬ ции банков измерительной и другой моделирующей информа¬ ции. Рассмотрим, какими могли бы быть дополнительные струк¬ турные составляющие обсуждаемой системы моделирования, необходимые для реализации упомянутого целостного подхода и предполагаемых его возможностей. Развивая систему моделирования ССОД как систему потоков данных и их пребразований, прежде всего необходимо создать средства формального описания источников эксперименталь¬ ной, физически содержательной информации: .измерительных приборов и комплексов научной аппаратуры космического экс¬ перимента. Модель любого научного прибора как преобразова¬ теля сигналов или источников данных может быть описана и исследована средствами ДИСМ. Диалоговый режим, как пока¬ зано в главе 5, позволяет сократить длительность исследования модели, выполняемого системным аналитиком, владеющим программированием на языке ПЛ/1. Сужение класса задач мо¬ делирования позволяет использовать систему АСИМ, что расши¬ ряет круг пользователей за счет снижения требований к их специальной квалификации в программировании. В главе 3 об¬ основана необходимость описательного подхода к построению имитационных моделей. Рассматривая этот подход в аспекте целостного моделирования ССОД, можно констатировать необ¬ ходимость построения формальных моделей научных приборов, которые явились бы основой для соответствующего инструмен¬ тального языка. Именно в связи с этим возникает идея интер¬ претировать измерительный прибор в качестве источника или преобразователя не только сигналов, но и сообщений, т. е. се¬ мантически и прагматически содержательных данных, позволяю¬ щих идентифицировать моделируемый объект среди множества других известных вычислительной системе. Вместе с этим изме¬ рительные приборы, комплексы научной аппаратуры и другие структурные компоненты космического эксперимента могут клас¬ сифицироваться по их функциональным свойствам вне связи с семантикой генерируемых ими сообщений как системы, находя¬ щиеся во взаимодействии с окружающей средой и между собой. Такая классификация устанавливает уровни сложности моделей и в конечном счете определяет необходимые ресурсы вычисли¬ тельной системы. Второй узловой компонент целостной системы могут составить средства машинного моделирования предметных областей в кос¬ мических исследованиях. В качестве таких средств в настоящее время получили определенное развитие аппарат «семантиче¬ ских сетей», реляционные иерархические базы данных и методы теории фреймов [47]. Одну из важных предметных областей, моделирование кото¬ рой часто определяет успех всего проекта, представляет область знаний об условиях проведения эксперимента: это данные и траектории космического аппарата, его ориентации, сведения о 102
динамике влияния внешней среды, о параметрах внутренней среды. Некоторые данные не могут быть получены заранее, и модель условий проведения эксперимента окончательно форми¬ руется часто в ходе его проведения. Для выделения предметных областей, их структурирования с соблюдением терминологической однозначности можно вос¬ пользоваться методами или результатами информатики. Для многих сфер знаний, имеющих отношение к научным исследова¬ ниям космоса, разработаны обширные тезаурусы, которые мо¬ гут быть приняты за основу при построении моделей предмет¬ ных областей. В то же время для конструирования семантических сетей на нижних уровнях иерархии понятий некоторой предметной об¬ ласти более перспективным может оказаться использование фор¬ мализмов теории целеустремленных систем [46]. В этой теории вводится непротиворечивая замкнутая система понятий, охва¬ тывающая широкие аспекты познавательной деятельности. Че¬ рез понятия геометрического, механического, физического клас¬ сов определяется понятие структуры. Посредством процедуры «временного сечения» вводятся причинно-следственные связи. Основным видом отношений между понятиями и объектами вы¬ ступает отношение «продуцент—продукт». Определяется важное для целей моделирования понятие «события» как изменение по крайней мере одного, структурного свойства объекта, системы, их окружения или связи между ними в течение промежутка вре¬ мени определенной продолжительности. Вводится понятие «функциональный класс» как множество структурно различных объектов, систем или событий, каждый элемент которого может продуцировать элементы определенного структурного или функ¬ ционального класса. Это позволяет провести полную классифи¬ кацию систем по их структурным и функциональным свойствам и свойствам их окружения в терминах их действий и результа¬ тов этих действий. В сочетании с конструктивным аппаратом структурного про¬ граммирования [48] использование такого обобщенного, концеп¬ туального подхода намечает путь к созданию целостной органи¬ зации в вычислительной системе данных и алгоритмов их преоб¬ разований. 7.2. Формализация моделей научной аппаратуры Исследуя возможности формализации описания приборов и комплексов научной аппаратуры космического эксперимента для целей моделирования, необходимо прежде всего разрабо¬ тать методику и аппарат их классификации. Семиотическое моделирование предметных областей исследо¬ вания космоса открывает один из путей проведения такой клас¬ сификации. Другая возможность, которая, видимо, наиболее продуктивна для создания языков описания приборов, отнесен¬ 103
ных к одному классу,— это рассмотрение прибора как интер¬ претирующего автомата [49]. Реализация такого описания не¬ посредственно по формальным правилам может определять язык программирования. Вместе с тем представляется перспективным рассмотрение измерительных приборных комплексов в терминах теории целе¬ устремленных систем. Здесь возникает возможность формулиро¬ вания модели обобщенного прибора в рамках общезначимых понятий и проведения классификации по самым общим свойст¬ вам взаимодействия прибора с исследуемой средой и системой сбора и обработки данных. Остановимся более подробно на этом подходе. Будем рас¬ сматривать измерительный прибор как искусственный объект или систему в качестве инструмента. Инструмент всегда пред¬ назначен для сопровождения действия человека, причем само это содействие инициируется человеком. Результатом этих со¬ вместных действий является измерение. В сущности измерение (рассматриваемое как процесс) есть использование созданных человеком знаковых систем для пред¬ ставления событий, которые связаны между собой так же, как связаны используемые знаки. Таким образом, для выполнения своей функции инструмента измерительный прибор должен про¬ изводить, генерировать знаки. В продуцировании знаков состоит главная функция измерительного прибора. Поскольку прибор есть искусственный объект, используемый человеком, постольку продуцируемое множество знаков будет представлять сообщение, т. е. это множество предназначено вызывать некоторый отклик в каком-либо элементе системы или в самом человеке, производящем измерения. Естественно считать, что конструктор прибора предопреде¬ ляет продуцирование прибором знаков в соответствии с тем, как по его априорному убеждению происходят события в измеряе¬ мой среде и в приборе, т. е. конструктор отражает посредством знаков ожидаемые, возможные изменения структурных свойств прибора. Поэтому мы можем рассматривать прибор в качестве источника сообщений о некоторых событиях, происходящих в нем самом. Этот важный вывод может существенно помочь кон¬ струированию языков моделирования приборных комплексов. Классификация функциональных объектов или систем может быть установлена на основе классификации структурных свойств действий этих систем и функциональных характеристик резуль¬ татов этих действий. Прибор действует в структурно различных окружениях. Его действия состоят в продуцировании сообщений о происходящих в нем событиях. В структурно различных окружениях множест¬ во действий прибора могут составлять или структурно различные, или структурно эквивалентные классы, т. е. события, происходя¬ щие в приборе при различных внешних условиях, могут состо¬ 104
ять в изменении различных или одинаковых структурных свойств прибора. Множества результатов действий прибора, рассматриваемые как организованные множества знаков, могут обладать в зави¬ симости от структур окружения различными или одинаковыми структурными свойствами. В силу их знаковой природы они поэтому будут иметь одинаковое или различное значение, т. е. выполнять одинаковые или различные семантические функции. Таким образом, множества продуцируемых прибором знаков могут образовывать как эквивалентные, так и различные функциональные классы. Отюда следует, что результаты дейст¬ вия прибора могут составлять как различные, так и эквивалент¬ ные функциональные классы. Таким образом, мы получаем воз¬ можность классифицировать структуры действий приборов и функции их сообщений (результатов этих действий) относитель¬ но структурных и функциональных свойств окружения прибора, его среды. Смысл проведения подобной классификации состоит в том, что она позволит далее при рассмотрении прибора как системы провести структурно-функциональную классификацию его эле¬ ментов и определить структуры сообщений и функции откликов для модели прибора в терминах машинных процедур, т. е. по¬ строить язык для описания широких классов приборов, форми¬ ровать их модели. В иерархии функциональных объектов естественно начать рассмотрение с простейшего типа. Такими являются объекты или системы, которые для различных структур окружения могут осуществлять действия только одного структурного класса и для всех окружений множество результатов' этих действий составит единственный функциональный класс. Такой пассивный прибор продуцирует сообщения, семантика которых не зависит от структур окружения. Это означает, что структура множества знаков, на котором определено сообщение, образует единственный класс и все сообщения прибора опреде¬ лены на этом множестве знаков. Пассивные приборы обладают важным для его описания свой¬ ством. Достаточно идентифицировать прибор как пассивный функциональный объект, и машине «становится ясно», что все сообщения этого прибора будут определены на единственном мно¬ жестве знаков и будут вызывать отклик одного определенного функционального класса, это значит, что осуществляется един¬ ственный фиксированный алгоритм преобразования входных воздействий. Следующий по сложности — это пассивный многофункцио¬ нальный прибор. Для него при любой структуре окружения до¬ ступен единственный класс действий, но результаты могут при¬ надлежать различным функциональным классам, причем каж¬ дому классу окружения соответствует один функциональный класс результатов. 105
Указание машине на принадлежность прибора к этому типу означает, что в машинной модели должен присутствовать алго¬ ритм индивидуализации класса результатов, а в множестве зна¬ ков, продуцируемых прибором, должен существовать указатель смысла сообщений, разносящий их по функциональным классам. Для измерительных приборов содержательным является рас¬ смотрение реагирующих однофункциональных систем. Такие приборы в различных классах окружений измеряют что-то одно (т. е. результат принадлежит единственному функциональному классу), но различными способами (доступны различные структурные классы действий), причем для каждого класса окружения применяется единственный способ измерения. Для моделей таких приборов в машинной структуре данных (в базе данных) должны быть определены различные для каж¬ дого способа измерений индивидуальные алгоритмы, результат действия которых определен на общем для всех их множестве знаков. Эти «измерительные модули» не могут меняться в про¬ цессе моделирования, но могут переключаться, т. е. алгоритм преобразования может изменять свою структуру в зависимости от структуры среды с определенными ограничениями. Реагирующие приборы проявляют структурно различные виды поведения в различных окружениях, но только один вид в любом фиксированном окружении. Они реагируют на окружение заранее предопределенным образом, в частности они могут адаптироваться. Модели таких приборов должны уметь разли¬ чать структурные классы среды. Следовательно, описание среды является составной частью моделей приборов этого класса. Пассивные и реагирующие объекты и системы представляют очень широкий класс измерительных приборов и вспомогатель¬ ных систем, используемых при исследовании космоса. Из приведенного рассмотрения наглядно следует, что конкре¬ тизация абстрактной, чисто концептуальной модели измеритель¬ ного прибора, выполненная даже в столь беглом виде, непосред¬ ственно конкретизирует структуры и назначения некоторых мо¬ дулей при организации данных и алгоритмов для модели. 7.3. Универсальные диалоговые информационно¬ логические системы как средство целостного машинного моделирования Реальным средством, способным обеспечить организацию в вычислительной системе всех компонентов целостного модели¬ рования космического эксперимента, являются универсальные диалоговые информационно-логические системы [50]. При решении конкретных задач моделирования эти системы предоставляют человеку возможность создавать модели раз¬ личных предметных областей. При этом взаимоотношение моде¬ лей, их модификация регулируются множеством так называемых 106
порождающих правил и закономерностей, составляющих проце¬ дурную часть «базы знаний модели». Ключевую роль в этих си¬ стемах играет формальное представление знаний модели пред¬ метной области, на которых базируются все остальные процессы, поддерживаемые вычислительной системой. Формальный аппарат для моделирования знаний о внешнем мире и исследуемых предметных областях должен удовлетворять следующим требованиям: язык системы должен обеспечивать формирование, модифи¬ кацию и анализ различных моделей исследуемых ССОД, описа¬ ние моделей внешнего мира, запоминание и накопление данных, фактов, ответов на вопросы пользователя, запуск вычислитель¬ ных прикладных программ, обращение к базам данных; система должна обрабатывать запросы пользователя, сфор¬ мулированные на подмножестве естественного языка, причем семантическая интерпретация этих запасов должна приводить к однозначным результатам, соответствующим смыслу запроса; система должна быть реализована на вычислительных сред¬ ствах, используемых в практике обработки данных космических исследований. В последние годы разработан ряд подобных си¬ стем, использование которых представляется перспективным для создания целостных моделей космического эксперимента, например такой аппарат разработан в системе ДИЛОС [50]. В основе этой системы лежат три компонента: 1) концептуальные семантические сети, вершины которых соответствуют обобщенным описаниям понятий, классов физи¬ ческих объектов, совокупностей процессов и т. п., а дуги — уни¬ версальным отношениям, таким, как «быть подклассом», «быть частью» или чем-то другим, характерным для конкретных пред¬ метных областей; 2) терминальные семантические сети, вершинам которых со¬ ответствуют наименования определенного, конкретного объекта, либо текст, либо число; 3) закономерности, определяющие формирование терминаль¬ ных семантических сетей, их взаимосвязей со стандартными ба¬ зами данных, а также условия и порядок включения приклад¬ ных программ. Свои функции ДИЛОС выполняет посредством нескольких процессорных программ, уделяющих большую часть своих воз¬ можностей интерпретации запросов пользователей, сформули¬ рованных на естественном языке. Адаптация этой системы к конкретным задачам моделиро¬ вания космических экспериментов связана с тщательным ана¬ лизом концептуальной базы предметных областей, подлежащих моделированию, выявлению и формализации закономерностей, состава лексики общения пользователя с вычислительной си¬ стемой. Изложенные в разд. 7.1 и 7.2 подходы к этой работе позволяют надеяться на возможность выполнения значительной ее части средствами подобной диалоговой системы. 107
ЗАКЛЮЧЕНИЕ В отличие от ряда имеющихся книг по моделированию для конкретных приложений в монографии была сделана попытка описать возможности использования достаточно различающихся по своей структуре систем моделирования. Объединяющим фак¬ тором для этих систем является их использование в информа¬ ционной подготовке научных космических экспериментов. Тер¬ мин этот, введенный и подробно расшифрованный в [1], описы¬ вает обширную и многостороннюю область практической деятельности в космических исследованиях большого числа спе¬ циалистов. Разнообразие встречающихся в информационной подготовке задач требует наличия соответствующих мощных инструментов их решения, какими и являются некоторые систе¬ мы имитационного моделирования. Следует отметить незавер¬ шенность описаний конкретных систем моделирования, которая выражается в отсутствии подробных инструкций по способам построения с их помощью различных по сложности моделей. Ав¬ торы убеждены в необходимости появления содержащих такие инструкции учебников по каждой из описанных в монографии систем моделирования. Возможно, такой способ помог бы более широкому распространению разработанных в нашей стране и использующихся отдельными организациями универсальных и специализированных систем имитационного моделирования. Вторым способом привлечения интереса к имеющимся ориги¬ нальным системам и их распространению является предпринятая в этой книге попытка описать не только возможности, но и раз¬ нообразные способы использования моделирования. Авторы на¬ деются, что им удалось показать настоятельную необходимость для специалистов по информационным системам космических экспериментов овладеть еще одним достаточно сложным инстру¬ ментом исследования и разработки бортовых и наземных систем. По мнению авторов, которое они хотели довести до читателя, упомянутое выше новое лежит в том факте, что даже при рабо¬ те в одной области необходимо свободно владеть разнообраз¬ ными средствами моделирования. Только разнообразие применя¬ емых методов обеспечит эффективное получение новых и инте¬ ресных практических результатов. Следует специально еще раз подчеркнуть различие в требова¬ ниях к специалистам, использующим системы моделирования ДИСМ и АСИМ. Применение АСИМ достаточно ясно для инже¬ нера и не требует глубоких знаний программирования, хотя для пуска программы на ЭВМ необходимо все же знать элементы 108
языка управления заданиями операционной системы и способы оформления программы. Система ДИСМ может быть использо¬ вана лишь специалистом, хорошо владеющим программирова¬ нием на языке ПЛ/1 для ОС ЕС ЭВМ. В то же время, пытаясь построить модели в ряде случаев и надеясь на АСИМ, приходит¬ ся иногда констатировать, что конкретная модель может быть создана лишь на основе ДИСМ. Поэтому в любом случае нужно стремиться к свободному владению таким мощным и универ¬ сальным средством, каким является Г1ПП ДИСМ. Система ДИСМ обладает еще таким большим достоинством, не исполь¬ зованным в моделях этой книги, как возможность подключения подпрограмм на языках на ПЛ/1 или АССЕМБЛЕР. Это свойст¬ во позволяет строить сложные модели и исследовать смешанные непрерывно-дискретные системы. Современные тенденции в развитии моделирования отражены в той части монографии, которая посвящена диалоговому режи¬ му проведения машинных экспериментов. Дальнейшая разработ¬ ка этих методов позволит ускорить получение результатов моде¬ лирования, расширить сферу его применения, приблизить его к пользователю. Отметим ряд особенностей описанных в шестой главе моде¬ лей. Первая из моделей кажется по своей идее достаточно про¬ стой. Действительно, в процессе ее создания использована толь¬ ко одна возможность, предоставляемая ППП ДИСМ,— построе¬ ние календаря событий. Для получения модели выходного пото¬ ка сообщений оказываются ненужными мощные средства пакета по генерации входных воздействий и статистической обработке результатов моделирования. Тем не менее эта модель хорошо ил¬ люстрирует основную особенность дискретных моделей — их раз¬ витие во времени по наступлению дискретных событий. Коммутатор и устройство управления, модель которых по¬ строена с помощью АСИМ, являются в действительности частью более сложной системы, состоящей из группы элементов сбора и элементов управления и обработки, соединенных в иерархи¬ ческую информационную систему. Обе рассмотренные модели хорошо отражают многообразие и нетривиальность задач, реше¬ ние которых может быть получено с помощью имитационного моделирования. В завершение авторы выражают надежду, что эта книга по¬ может привлечению специалистов к использованию интересных и разнообразных возможностей исследования информационных -систем, предоставляемых развивающимися наукой и искусством имитационного моделирования на ЭВМ.
Приложение 1 Главный блок модели BRTD BRTD: PROCEDURE ОРТIОNS<МА I N) ГЛАВНЫЙ БЛОК МОДЕЛИ ИНФОРМАЦИОННОГО БЛОКА РЕГИСТРАЦИИ И ОБРАБОТКИ ДАННЫХ(БРОД) ОБОЗНАЧЕНИЯ в. МОДЕЛИ BRTD ********** МОДУЛИ ПАКЕТА ДИСМ VCREAT ПРОЦЕДУРА ПОРОЖДЕНИЯ СОБЫТИЯ, ИСПОЛЬЗУЕТСЯ В В L К 3 И ГЛАВНОМ БЛОКЕ МОДЕЛИ В R Т D VWА IТ ПРОЦЕДУРА ПЛАНИРОВАНИЯ СОБЫТИЯ. ИСПОЛЬЗУЕТСЯ В В L К 1 , В L К 2 И BLK3 ST1ME ПРОЦЕДУРА ВЫДАЧИ СИСТЕМНОГО ВРЕМЕНИ, ИСПОЛЬЗУЕТСЯ В В L К 1 , В L К 2 И В L К 3 SINIT ПРОЦЕДУРА НОРМИРОВАНИЯ МОДЕЛИ, ИСПОЛЬЗУЕТСЯ В ГЛАВНОМ БЛОКЕ МОДЕЛИ CHECK УПРАВЛЯЮЩАЯ ПРОГРАММА ПА КЕТА,И СПОЛЬ3 УЕТС Я В ГЛАВНОМ БЛОКЕ МОДЕЛИ VDEL9T ПРОЦЕДУРА ОТМЕНЫ РАНЕЕ ЗАПЛАНИРОВАННОГО СОБЫТИЯ, ИСПОЛЬЗУЕТСЯ В В LK 3 QRANDR ПРОЦЕДУРА ИМИТАЦИИ РАВНОМЕРНО РАСПРЕДЕЛЕННЫХ ВЕИ1Е СТВЕННЫХ ЧИСЕЛ, ИСПОЛЬЗУЕТСЯ В В L К 2 И В L КЗ VDESTR ПРОЦЕДУРА УНИЧТОЖЕНИЯ КАЛЕНДАРЯ, ИСПОЛЬЗУЕТСЯ В L К ******** ВСПОМОГАТЕЛЬНЫЕ ПРОГРАММЫ МОДЕЛИ **********, HELP ПРОГРАММА ЗАПИСИ КАДРОВ В В СПОМОГОТЕЛЬНЫЯ БУФЕР, ИСПОЛЬЗУЕТСЯ В В L К 1 , BLK2 И В L К 3 , STUDY ПРОГРАММА ФОРМИРОВАНИЯ ИНФОРМАЦИОННОЙ ЧАСТИ КАДРА ИСПОЛЬЗУЕТСЯ В ГЛАВНОМ БЛОКЕ МОДЕЛИ STIR ПРОГРАММА НАЛОЖЕНИЯ ПОМЕХ, ИСПОЛЬЗУЕТСЯ Б ПРОГРАМ¬ МЕ HELP BAND ПРОГРАММА ЗАПИСИ НА МАГНИТНУЮ ЛЕНТУ БУФЕРА С КАДРАМИ, ИСПОЛЬЗУЕТСЯ В ПРОГРАММЕ S Т IR PASSPOR ПРОГРАММА ЗАПИСИ ПАСПОРТА КАДРА В БУФЕР, ИСПОЛЬЗУ¬ ЕТСЯ В В LК 1 , BLK2 И BLK3 PASTAPE ПРОГРАММА ЗАПИСИ НА МАГНИТНУЮ ЛЕНТУ БУФЕРА С ПАС¬ ПОРТАМИ КАДРОВ, ИСПОЛЬЗУЕТСЯ В ПРОГРАММЕ PASSPOR PRINT ПРОГРАММА АЛЯ РАСПЕЧАТКИ ИСХОДНЫХ ДАННЫХ ПО
у **************** * в МОДЕЛИ /* TIME ВРЕМЯ СОЗДАНИЯ КАДРА * / /* HIND ВЕРОЯТНОСТЬ ПОЯВЛЕНИЯ ПОМЕХ * j / * RUN РЕЖИМ РАБОТЫ УПРАВЛЯЮЩЕЙ ПРОГРАММЫ ПАКЕТА * / /* LP ТЕКУЩАЯ ДЛИНА БУФЕРА С ПАСПОРТАМИ * у /* I D0 ТЕКУЩАЯ ДЛИНА БУФЕРА С КАДРАМИ * / J * TM ХАРАКТЕРИСТИКА ВРЕМЕННОЙ ПО С ЛЕАО В АТЕЛЬНО СТИ КАДРОВ*/ /* PAS ПАСПОРТ КАДРА * / /* REGIME РЕЖИМ РАБОТЫ СИСТЕМЫ БРОД # / /* SXM СИНХРОМЕТКА * / /* CONFDAT КОНФИГУРАЦИЯ ВКЛЮЧЕННЫХ ДАТЧИКОВ ★ у /* GINFOR НАУЧНАЯ ИНФОРМАЦИЯ В КАДРЕ* ДЕЖУРНЫЙ. РЕЖИМ * / /* TYPQ ТИП КАДРА * _ * / / * ОТIME ИНТЕРВАЛ ВРЕМЕНИ МЕЖДУ * * у / * ДВУМЯ ПОСЛЕДОВАТЕЛЬНЫМИ * * / / * КАДРАМИ * * / /* GDF БИТОВАЯ СТРОКА, СОДЕРЖАЩАЯ* ★ у / * СФОРМИРОВАННЫЙ КАДР * * у /* rinfor НАУЧНАЯ ИНФОРМАЦИЯ В КАДрЕ* РЕЖИМ СЖАТИЯ ДАННЫХ * / /★ TYPR ТИП КАДРА * * / /* RDF БИТОВАЯ СТРОКА, СОДЕРЖАЩАЯ* * / / * СФОРМИРОВАННЫЙ КАДР * * / / * UPPERR ВЕРХНЯЯ ГРАНИЦА ИНТЕРВАЛА * * / /* LOUR НИЖНЯЯ ГРАНИЦА ИНТЕРВАЛА * * / /* TIMER ИНТЕРВАЛ ВРЕМЕНИ МЕЖДУ * * у / * ДВУМЯ ПОСЛЕДОВАТЕЛЬНЫМИ * * / / * КАДРАМИ * * / /♦ SIN FOR НАУЧНАЯ ИНФОРМАЦИЯ В КАДРЕ* УСИЛЕННЫЙ РЕЖИМ SDF1 */ /* TYP1 ТИП КАДРА * 1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 • /* SUM 1 ДЛИТЕЛЬНОСТЬ ПЕРЕДАЧИ * * у / * КАДРОВ * ★ у / * UINFOR НАУЧНАЯ ИНФОРМАЦИЯ В КАДРЕ* УСИЛЕННЫЙ РЕЖИМ SDF2 */ /* T Y P2 ТИП КАДРА * 1 1 1 1 1 » 1 1 1 1 1 1 1 1 1 1 *) / * S U M 2 ДЛИТЕЛЬНОСТЬ ПЕРЕДАЧИ * * / / ♦ КАДРОВ * * / /* WlNFOR НАУЧНАЯ ИНФОРМАЦИЯ В КАДРЕ* УСИЛЕННЫЙ РЕЖИМ SDF3 */ /* T Y P3 ТИП КАДРА * 1 1 ( 1 1 1 1 1 1 1 1 1 1 1 1 1 /* s и м 3 ДЛИТЕЛЬНОСТЬ ПЕРЕДАЧИ * * / / * КАДРОВ * * / /* einfor НАУЧНАЯ ИНФОРМАЦИЯ В КАДРЕ* УСИЛЕННЫЙ РЕЖИМ S D F 4 * / / * T Y P 4 ТИП КАДРА * 1 1 1 1 1 1 1 1 ■ 1 1 1 1 1 1 1 * 1 / * S и M 4 ДЛИТЕЛЬНОСТЬ ПЕРЕДАЧИ * * j / * КАДРОВ * ★ / /* TIMES ИНТЕРВАЛ ВРЕМЕНИ МЕЖДУ * * / / * ДВУМЯ ПОСЛЕДОВАТЕЛЬНЫМИ * * / / * КАДРАМИ * * / / * UPPERS ВЕРХНЯЯ ГРАНИЦА ИНТЕРВАЛА * * / /* LOWS НИЖНЯЯ ГРАНИЦА ИНТЕРВАЛА * * / /♦ SDF БИТОВАЯ СТРОКА,СОДЕРЖАЩАЯ СФОРМИРОВАННЫЙ КАДР ПРИ */ / * РЕЖИМАХ SDF1, SDF2, SDF3 И SDF4 ★ у /* CADR КОЛИЧЕСТВО ЗАПИСАННЫХ БЛОКОВ НА МЛ С КАДРАМИ * / ************************/ Ill
осl р pointer; DC L VCREAT RETURNS<BIN FIXED(31)> ENTRY(BIN FXXE0(31 )fBIN F I X E D (1 5 ) , В I N FIXED(15),F uCL SXM BIT(32) INIKM 1 1 111110001 1011 1010100001001010(B) ALIGNED D С L (TYPQ,TYPR,TYP1,TYP2,TYP3,TYPA) CHAR<1> EXT; DC L (SUM1,SUM2,SUM3,SUM4) BIN FI X E D M 5) EXT; DCL QTIME BIN FIXEDC31) EXT; OCL (UPPERR , LOWR) BIN FIXEDC31) EXT; DCL (UPPERS,LOWS) BIN FIXED(31) EXT; DCL TAPE FILE RECORD OUTPUT; DCL IDD BIN FIXEDM5) EXT; DCL LP BIN FIXEDC15) EXT; DCL CONFPAT BIT(16) ALIGNED EXT,' DCL CBLOK BIN FIXE0(15) EXT; DCL LBLOK BIN FIXEDM5) EXT; DCL CPRINT BIN F I X E D < 31 ) EXT; DCL (MQDFMA),MRDF(3)) BIN FIXED<15> EXT; DCL (MSDF1<13),MSDF2<13>) BIN F I X E D ( 15) EXT; DCL (MSDF3(13),MSDFA(13)) BIN FI X E D <15 > EXT; DCL CONF(H) В I T ( 1 ) EXT; DCL TAPE2 FILE RECORD OUTPUT,’ DCL REGIME CHARM),* DCL TM BIN FIXEDC15) EXT,* DCL HIND BIN FIXEDM5) EXT; DCL RUN CHARM),’ DCL TSIMUL DEC FLOAT,* DCL LTIME BIN FI X E D ( 3 1 ) ; DCL DRANDR RETURNS (FLOAT),* GET LIST(TYP0,TYPR,TYPbTYP2?TYp3,TYPA)f* GET LIST(SUM1,SUM2,SUM3,SUMA),* GET LISTCOTIME),* GET LIST(RUN),* GET LIST(TSIMUL); GET LIST(UPPERR, LOWR); GET LIST (UPPERS, LOWS) ,* GET LIST (HIND) GET LIST (TM) ,* GET LIST(MQDF); GET LIST(MRDF>; GET LIST(MSDF1>; GET LIST (MSDF20 ,* GET LIST(MSDF3); GET LIST (MSDFA)i GET LIST(CPRINT),* GET LIST (WER) ,* GET LIST (CBLOK) ,* LBLOK = 0,* CONFDAT= (16)M'8; DO J=1 TO 14; CONF (J) = SUBSTR(CONFDAT,J, 1); end;
R E G I М Е = ' Q ' ; CALL STUDY(REGIME) REGIME='R '; CALL STUDY(REGIME); REGIME='S'; CALL STUDY(REGIME); REGIME*'U'; CALL STUDY(REGIME); REGIMEs'U' ; CALL STUDY (PEGIME) ,* REGIMEs'E',* CALL STUDY (REGIME) CBLOK=CPRINT *192! PUT SKIP DATA (MAS , S I NXM , T YPQ , T YPR , TYPbT Yp2 , TYP3 , T YpA. PUT SKIP DATA(QTIME,SUM1/SUM2,SUM3,SUM4); PUT SKIP DATACTSIMUL,PUN),* CLOSE FILECTAPE) f FILE CTAPE2) ; idd=o; lp=o; /a**********#*****************************/ / * НОРМИРОВАНИЕ МОДЕЛИ */ /*****************************************/' CALL SI N IT; /★ ПОРОЖДЕНИЯ СОБЫТИЙ, ЗАДАЮЩИХ НАЧАЛЬНОЕ*/ /★ СОСТОЯНИЕ МОДЕЛИ И МОМЕНТ ЗАВЕРШЕНИЯ * / /* ПРОЦЕССА МОДЕЛИРОВАНИЯ */ /********************************+********/ К VsVCREAT ( О, 1 , 1 ,Р) ; KVsVCREAT(1,2,2,Р); KVsVCREAT(2,0,3,P); KV=VCREAT(TSIMUL,3,4,P>; /* ВЫЗОВ УПРАВЛЯЮЩЕЙ ПРОГРАММЫ ПАКЕТА */ /*****************************************/ CALL CHECK(RUN); OPEN FILE(TAPE)iFILE(TAPE2); end brtd;
Листинг модели блока регистрации и обработки данных Листинг процедуры событий blki в l к 1: р r о с с р ); /ft******************************************/ /* ПРОЦЕДУРА ФОРМИРОВАНИЯ ДАННЫХ ПРИ РАБОТЕ*/ /* СИСТЕМЫ БРОД В ДЕЖУРНОМ РЕЖИМЕ */ у***************************************»***/ DCL Р POINTER/ DCL STIME RETURNS С В I N FIXEDC31)); DCL VWAIT RETURNS(BIN FIXED(31)) ENTRY (BIN F I- X E D ( 3 1 ) / BIN F I X E D ( 1 5 ) , BIN FIXED(15)/P0INTER); DCL SXM BIT (32) ALIGNED EXT.; DCL DTIME В I T <31 ) ; DCL TIME В I T ( 2 4 ) ; DCL TQ ВIT С 8); DCL TYPQ CHARC1) EXT; DCL CONFDAT В I T(16) ALIGNED EXT; DCL QINFOR BIT (1112) VAR ALIGNED EXT; DCL LPAS В IT (16) ; DCL IPAS BIN FI X E D < 31 ) ; dcl mpas вi т <з 1); ,0 С L PAS BITC64); dcl qdf bit (1192) var; DCL QTIME BIN F I XE D < 3 1 ) dtime=stime; /* ФОРМИРОВАНИЕ КАДРА ТИПА /*★★******★*****★*★**★★***★ TlME=SUBSTR(DTIME/8); TQ=.UNSPEC(TYPQ); QDF = QINFOR! ! CONFDAT! ! TIME! ! у********************************* /* ЗАПИСЬ КАДРА QDF В БУФЕР /♦★♦★★a*************************** CALL HELP(QDF); У* ФОРМИРОВАНИЕ ПАСПОРТА КАДРА QDF У444***444444444444444444*444***** IPAS= LENGTH(QINFOR), MPAS=IPAS; LPAS=SUBSTR(MPAS PAS = TIME! ! T Q! ! CONFDAT! ! LPAS CALL PASSPOR (PAS ) ; /★ ПЛАНИРОВАНИЕ СЛЕДУЮЩЕГО СОБЫТИЯ /* 1-ГО КЛАССА KV = VWAIT(Q ТIМ Е/ 1 # 1 , Р) ; END В L К 1 ; EXT; * */ qdf */ * ****** * * / Q ! ! s х м; *4/ * / * * / * * / */ **/ 16); * * / */ */ **/ 114
Листинг процедуры событий вь?;2 в l к 2 : proc(p>; /♦★*****************************************/ /* ПРОЦЕДУРА ФОРМИРОВАНИЯ ДАННЫХ ПРИ РАБОТЕ*/ /★ СИСТЕМЫ БРОД В РЕЖИМЕ СЖАТИЯ ДАННЫХ */ у*******************************************/- DCL р pointer; DCL STIME RETURNSCBIN F I X E D ( 3 1 ) ) ,* DCL VWAIT RETURNSCBIN FI X E D(31 ) ) ENTRY(BIN FIXEDC31 ) / BIN F I X E D ( 1 5 ) , . BIN FIXEDC15) / POINTER) #' DCL BRAN DR RETURN S. (FLO AT); DCL SXM.BITC32) ALIGNED EXT; DCL CONFDAT BIT (16) ALIGNED EXT; DCL TYPR CHARM) EXT; DCL (UPPERR, LOWR) BIN FI X E D(31 ) EXT; DCL TR В I T ( 8 ) ,' DCL TIME BIT (24) , DTIME В I T ( 31 > ; DCL TIMER BIN F I X E D ( 3 1 > ; DCL MPAS BIT (31); DCL IPAS BIN F I X E D ( 3 1 ) ,* DCL LPAS BIT (16) ; DCL RINFOR BITC104) VAR ALIGNED EXT; DCL RDF BIT(184) VAR,’ DCL PAS BIT(64); dtime=stime; /★A********************************** /★ ФОРМИРОВАНИЕ КАДРА ТИПА RDF * TIME = SUBST.R(DTIME, 8) ; TR=UNSPEC(TYPR>; RDF = RINFOR! I CONFDAT! ! TIME! ! T R! /****★**★************************★*** /* ЗАПИСЬ КАДРА RDF В БУФЕР * у************************************ CALL HELP(RDF); IPAS^LENGTHCRINFOR); MPAS=IPAS; LPAS=SUBSTR(MPAS,16); /★ ФОРМИРОВАНИЕ ПАСПОРТА КАДРА RDF */ P A S = T I M E ! ! T R J ! CONFDAT!!LPAS; CALL PASSPOR(PAS); timer=lowr+(upperr-lowr)*orandr; /★★a*********************************/ /* ПЛАНИРОВАНИЕ СЛЕДУЮЩЕГО СОБЫТИЯ */ / * 2-ГО КЛАССА * / /********************************♦***/ KV = VWAIT (TIMER/2#2/P)/‘ END В L К 2; / / / ! sxm; / , / /
Листинг процедуры событий BLK3 В L К 3 : Р R О С ( Р ) ; у ******************** * **********************/ /* ПРОЦЕДУРА ФОРМИРОВАНИЯ ДАННЫХ ПРИ РАБОТЕ*/ ./* СИСТЕМЫ БРОД 0 УСИЛЕННОМ РЕЖИМЕ */ DCL Р POINTER-; О С L VDELET RETURNS < Б I N FIXED<15)) ENTRY (BIN FIXEDM5),POINTER)»* DCL VCREAT RETURNS(BIN FIXED<31>> ENTRY (BIN FIXED (3 1), BIN F I X E D ( 1 5 ) , BIN FIXEDM5) , POINTER) J DCL V W A I T RETURNS(BIN FI X E D(31 ) > ENTRY (BIN FIXED(31 ) , BIN FIXEDM5) , BIN FIXED(15) ,POINTER) ; DCL STIME RETURNS (BIN FIXED(3D); DCL DRANDR RETURNS(FLOAT); DCL PAS В I T ( 6 4 > ; DCL SDF 8 I T ( 3 4 6 0 ) VAR; DCL TM BIN F I X E D(15) EXT; DCL TIMES BIN F I X E D(31 ) ; DCL SXM В L T(32) ALIGNED EXT; DCL LPAS В I T <16) ; DCL MPAS В I T(31 ) ; DCL IPAS BIN FIXED(31>; DCL SINFOR BIT (2600 ) VAR ALIGNED EXT; DCL UINFOR BIT (3480) VAR ALIGNED EXT; О С L WINFOR BIT(896) VAR ALIGNED EXT,' DCL EINFOR BIT (896) VAR ALIGNED EXT,* DCL CONFDAT BIT(16) ALIGNED EXT; DCL (UPPERS, LOWS) BIN FIXED(31) EXT,’ DCL LTIME BIN F I X E D ( 3 1 ) ; DCL TS В I T ( 8 ) ; DCL (TYP1,TYp2,TYP3,TYP4) CHARd) EXT,* DCL TIME В I T ( 2 4 ) ; DCL ( SUM1 ,SUM2,SUM3,SUM4) BIN FIXEDC15) EXT DCL D T I M E BIT (31); DCL SUM BIN F I X E D ( 3 1 ) ,* dtime=stime; ltime=stime; put skip edit(> начало работы усиленного 'РЕЖИМА',L?IME)(X(10),A<26),A(6),F<9)>; sum = o ; у********★********★***************★*★/ /★ формирование кадра ТИПА SDF1 */ и***********»************************/ .p OR 1 : TIME = SUBSTR(DTIME,8); TS = UNSPEC(TYP1),‘ SDF = SINFOR! ! С 0 N F D A T ! ! TIME! !T S ! ! SXM/
/♦a*******************************#**/ /* ЗАПИСЬ КАДРА SDF1 В БУФЕР */ /*****************«*★****************/ CALL HELP(SDF)/ /* ФОРМИРОВАНИЕ ПАСПОРТА КАДРА SDF1 */ у************************************/ ipas=length<sinfor>; MPAS=IPAS; LPAS=SUBSTR(MPASf16); PAS = TIME! ITS! ICONFDAT! ILPAS#’ CALL PASSPOR(PA-S) ; sumssum+i; dtime=dtime+tm; IF SUM^SUMI THEN GO to FOR1,* s и м = о; /**★***★********★**★****★★*★★****★*★★/ /* ФОРМИРОВАНИЕ КАДРА ТИПА S D F 2 */ /*★**********★****★*★***★***★**★★★★★*/ FOR2: TIME=SUBSTR(DTIME,8); TS=UNSPEC(TYP2>; SDF = UINFOR! ICONFDAT! I TIME! ITS I ISXMJ /****★*★*★*★★**★*★*★***★*★*★*******★*/ /* ЗАПИСЬ КАДРА s D F 2 В БУФЕР */ /а******#****************************/ CALL HELP(SDF); /****+*★***★++****★****★★**★***★*+***/ /♦ ФОРМИРОВАНИЕ ПАСПОРТА КАДРА SDF2 */ у***********-******************** ★★***/ IPAS=LENGTHCUINFOR); MPAS=IPAS; LPAS = SUJBSTR(MPAS,16); PAS=TIME! ITS! ICONFDAT! ! LPAS,’ CALL PA.SSPOR(PAS); sum=sum+i; dtime=dtime+tm; IF SUM'1 = SUM2 THEN GO TO FOR2,* sum=o; У************************************/ /★ ФОРМИРОВАНИЕ К ААР А ТИПА S D F 3 */ /**★★*★**★★*****★★***★*****★**★*****★/ FOR3: TIME=SUBSTR<DTlME/8); TS = UNSPEC(TYP3 ) ; SDF = WINFOR! ICONFDAT1 !TIM E! ITS! !S XM ? /+*******★*******★★★****+★★**★**★★***/ /* ЗАПИСЬ КАДРА SDF3 В БУФЕР */ /**★******★****★****★***************★/ CALL HELP(SDF ) ; ./«г**********************************/ /♦ ФОРМИРОВАНИЕ ПАСПОРТ.А КАДРА S D F 3 *■/ /*★★★*******★★***★*******************/
IPAS=LENGTH<WINFOR) I MPAS=IPAS; LPAS=SUBSTR<MpASf16); pas=time!its!iconfdatiilpas; call PASSPOR(PAS); sum=sum + i; dtime=dtime+tm; IF SUM“=SUM3 THEN GO TO F0R3,’ sum=o; /***>***£****************************/ /* ФОРМИРОВАНИЕ К ААРА ТИПА S D F А * / FORA: TIME=SUBSTR(DTIME#8>; ts=unspec<tvpa>; SDF = EINF0R! ICONFDATI I T I M EI ITS! ISXM /♦A*********************** ******£★+**/ /* ЗАПИСЬ КАДРА SDFA В БУФЕР */ /♦a***********************************/ CALL HELP(SDF); /♦•♦a********************************/ /* ФОРМИРОВАНИЕ ПАСПОРТА КАДРА S D F А */ /******** IPAS=LENGTH(EINFOR>; MPAS=IPAS; LPAS=SUBSTR<MPAS,16); PAS = TIME! ITS! ICONFDATI I L P A S/ CALL PASSPOR(PAS); sum = sum«m ; dtime=dtime*tm; if sum-» = sum4 then go to fora; /* ОТМЕНА РАНЕЕ ЗАПЛАНИРОВАННЫХ */ /* СОБЫТИЙ 1-ГО И 2-ГО КЛАССОВ */ kv=vdelet(i,p>; kv=vdelet<2,p>; /****************☆**★***★*★*****★****/ /* планирование СЛЕДУЮЩЕГО события */ /* 1-ГО КЛАССА */ /ft***********************************/ LTlME = SUM1«fSUM2>SUM3 + SUMA; KV=VCREAT (LTIMEr 1# ъ р); /г***********************************/ /* ПЛАНИРОВАНИЕ СЛЕДУЮЩЕГО СОБЫТИЯ */ /* 2-ГО КЛАССА */ /************************************/ ltime=ltime+tm; KV=VCREAT(LTIME,2,2,P); /****♦****«**************************/ /★ ПЛАНИРОВАНИЕ СЛЕДУЮЩЕГО СОБЫТИЯ */ /* 3-ГО КЛАССА */ /***********★★*★*****★*********★*****/ times=lows+<uppers-lows)*qrandr; ltime=ltime*times; К V = V U А I Т < L Т I М Е » о» 3 ГР ); END В L К 3;
Листинг процедуры событий BLK4 В L к А : PROC(P); /* ПР;ЦЕДУРА ЗАВЕРШЕНИЯ МОДЕЛИРОВАНИЯ НА */ о с l р pointer; DCL VDESTR RETURNS(BIN F I X E D <15 ) ); DCL LP BIN FIXEDC15) EXT,* DCL IDD BIN F I X E D <15 ) EXT; DCL STRPAS BIT (12288) ALIGNED VAR EXT; DCL STRCADR BIT (12288) ALIGNED VAR EXT; DCL PASPOR BIN F I X E D ( 1 5 > EXT,' DCL CADR BIN FIX ED (15) EXT,' DCL MAS BIT (12288),’ MAS='0 tВ; IF I D D n = О THEN DO,* STRCADR = STRCADR! ! M A s; CALL STIR(STRCADR); end; PUT SKIP<3) EDIT('B ПОСЛЕДНЕМ », ЯБЛОКЕ НА МЛ С КАДРАМИ ЗАПИСАНО IDD, 'БАЙТОВ ' ) <X(10,A(12),A(30),F(5),X(2),A(7)); PUT SKIP EDIT С »НА МЛ С КАДРАМИ ЗАПИСАНО», С ADR, 'БЛОКОВ' ) <X(10),A(25>,F<8),X(2),A(7)>; IF L Р "* = О THEN DO,* STRPAS=STRPAS!!MAS; CALL PASTAPE (STRPAS) end; k=lp/6a; PUT SKTP(3) EDIT(f В ПОСЛЕДНЕМ БЛОКЕ НА ». »МЛ С ПАСПОРТАМИ 3 АПИ С АН0' ,К, IПА СПОРТОВ» ) (X(10),A(21>,A(24),F(3),x<2),A<9)>; PUT SKIP EDIT('HА МЛ С ПАСПОРТАМИ ЗАПИСАНО» PASPOR, fБЛОКОВ» ) (X(10),A(30),F(6),X(2),A(7)>; kv=vdestr; /* ЗАДАННЫЙ8МОМЕНТ ВРЕМЕНИ */ * / END blka;
Листинг модели на языке доИМ r\Jf\jr\Jf\IK\r\JCVJf\J I 1Л Ift »- ООО 0 о < < 1 L_ X X < <с с: ч; Cl Cl <n m ООО <с <с < t I— I— х: х: х <4 < < ч; ч; а а а <Т> ГГ) ГГ) ООО с с < 1—1— I— ххх < < < ч: ч; ч: а а о. ГП СП ГГ) (NJ^'OOOOMsTO с < < X. х ъс 'ООО • ООО с: с с ' \ х ^ ш ш d с£ X X X S <4 <4 < XXX XXX < < < и: ^ ООО »— *— I— ООО с с с <3 < «3 XXX s s s «■> II II II ~ < < < «- X X X ^ S S S ш ч: ч: ч: О < ч ч II II II II II < < < < < х х х х х S S S S S ч: ^ ч; ч: ч: ч ч ч ч ч ОМЧ'ОЮОМЧ'О-. О О I- I- о о < < X X. О О 1 I о о tz с о о о ил X 'х уу ^ ^ •*. X. оооооооо >чХ>ч>»>ч>,>ч>, сп гп сп сп гп сг> сп сг> оооооооо •5 is is IS IS is >S IS оооооооо йааааййа (M J1 о oo о м -го II II II П II II II II <<<<<<<< уу у: у: v: ^ v: оооооооо I— I— I— I— I— I— )— оооооооо ClCCCCCC оооооооо оооооооо хххххххх Х)-СХ)_ОХ)_С-ОХ) ч:сс;ч:ч;сч'Чч; << < с < <<< хххххххх оззоззхгз хх хххххх сС <4 х I S S ct с* X X X X оооооооо XXXXX>N>.>v о гг) гг) гп гп о сп гп X С <- Г- т- со а; х х х •• о о * С С Ооо h- УС УС о гп m I с XXX ООО С С С ооо ххх ООО с с с х х X X ч; ч: =4 -Ч X X ч ч <4 ci и и < 4 X X X X ч ч • <4 с( О СЕ X Ц о к • - •- с о о • • аз о • - 1Г> (X •• о ^ и х сх с о < х х •• о х с х ос о X CD UJ X «" IS IS iS IS IS О О О О О CL CL CL CL CL М 1Л Ч X у- г- О ж <D * О Ч К О-, С 3 *4 < tt X У ЧОО <4 с* X X х х и и н < < < v у; V ООО Ч <4 «Ч ххх XXX < < < у: )с у ООО х •• и со jO < X cl кг X LU О < CL h- X ш О Ш х с X О П 1Л N O' 4 С X УО О о < с ус ус : О О < X II II II 3 < < «4 4 4 4 4 4 у )<: у у: у О О О О О •• Г X) со ■Ч X X X 2 < се 4ms ус X х <4 * «4 О >- £Е С ч о о а х JJ х со о ч <ч «ч <ч XXX XXX ус )с Ч <4 X X X X о о о о о у v у у: у ш ш ш ш OJ Ч Ч Ч Ч Ч X X X X X X X X X X Ч Ч Ч Ч Ч X X X X X X X X X X
Фрагмент листинга результатов машинного эксперимента it — rt 1 — 1 — и II 1 1 1 1 Ii II II о о О О 1 *— 1 о 1 о О 1 «- 1 О 1! II о <M о 1 fO 1 о 1 о 00 1 ■о 1 о II < II о 1Л CM 1 Гх 1 о 1 о 00 1 о <\J 1 о II II о oo OJ r- 1 fx 1 о 1 о ГМ 1 ю •o 1 о и ж и - - ► 1 1 - 1 - ii и го о о 1 О 1 ОО 1 г- О 1 1 о о 1 1Л II X II 45 CKI IX 1 1 <\| 1 1 1 г- 1 Т— II II CM Гх 1 1 1 1 1 II LU II 1 1 1 1 1 II II 1 1 < 1 1 1 1 II =J II 1 1 1 1 1 1 II II 1 1 1 1 1 1 II О II 1 1 1 1 1 1 ♦ * II II 1 1 1 1 1 ■¥ II II 1 1 1 1 1 II II 1 1 1 1 1 1 се; * * II II 1 1 1 ¥ II -• II 1 — 1 — X * II II 1 т- 1 '1 1 1 ч 1 ¥ II II 1 1 1 1 1 4 1 х * II II 1 1 1 1 1 1 * О II X N 1 X 1 1 1 1 1 < * О II II 1 ■з 1 1 1 X * о и ж II 1 1 LU II 1 1 • <3 m * о ii ii 1 1 CL < 1 1 1 1 1 LU « - ii X II 1 1 UJ VL 1 1 1 1 X 1 Q. о * о О II и 1 X О 1 1 1 1 <3 1 UJ « о X n i- ii 1 1 о ►— 1 1 1 1 LU 1 X о. * о m и и 1 1 о 1 X 1 1 а. 1 О ¥ «- II U II 1 1 1 1 UJC 1 <3 1 1 1 LU 1 S -* II II 1 1 1 X 1 UJ 1 1 1 X 1 Ж о II X И 1 1 1 1 ■ а. 1 1 О 1 X ^ * II II 1 1 1 1 1 1 £> X 1 UJ 1 1 X ¥ CD II CL II 1 1 1 1 «- 1 1 X ш 1 X 1 1 1 • ^ Ш * II II 1 1 1 1 1 1 со<з. 1 о 1 ) СП 1 <3 ¥ t— II UJ II 1 1 1 1 1 < X 1 1 1 1 "3 * II II 1 1 1 1 1 Cl X 1 1 1 < ¥ о II ►“ II 1 1 1 1 1 1 Ю • со 1 1 1 ОС 1 X О ♦ о: II II 1 1 1 1 X 1 1 О 1 1 1 1 X 1 X rs И Ж II 1 1 1 <31 1 1 -- 1 1 1 1 X 1 IX X ♦ X II II rs. 1 1 UJ 1 1 IX** 1 ж 1 1 <с 1 X ¥ < о II < II X 1 1 а. 1 1 XX 1 X 1 1 со 1 X ¥ CD II II X 1 1 1 Ш 1 1 X*: 1 з 1 1 1 о 1 UI j5 ■* О Q- II CL II < 1 1 X 1 1 <о 1 со 1 1 lO 1 X ♦ а II II СП 1 1 1 О 1 CD 1— 1 «I 1 1 LU 1 X Н- « X ►— II <C II о 1 1 1 1 1 оо 1 со 1 1 1 CL 1 X * с: II II i£> 1 1 1 LOC 1 ъ 1 1 t— 1 < < « LU <_> II x II UJ 1 1 1 1 UJ 1 i£> 1 X 1 1 1 CL ¥ «3 II II CL 1 1 1 CL LU 1 о 1 «3 1 1— ►— * О >s II II ►— 1 1 1 >— 1 с 1 ш 1 1 ОС 1 О * X II UJ II 1 1 1 X 1 1 CL 1 X 1 X» * •* II II 1 1 1 sr 1 1 UJ 1 X CL 1 < ¥ II X II X 1 1 1 UJ 1 ~ 1 X X 1 < X 1 со ^ * ос II II jE> 1 1 1 oi- 1 S 1 О «3 1 CO X 1 1 •К X II X II X 1 X 1 1 »—«_» • X 1 LU 1 ъ < 1 со X ¥ UJ II II X 1 X 1 1 ск О X 1 X 1 CL 1 lO «3 1 X ¥ CL II < II UJ 1 со 1 1 о c<-> 1 < 1 < LU 1 UJ X 1 СО ■* CD ») II * 1 >4 1 1 и- UJ 1 со 1 X X 1 CL * 1 со * II CO II >4 1 CL 1 1 о X 1 о 1 X о 1 (Z о 1 о II II 1 l_ 1 1 о CO Г иО 1 с: 1 1 со ¥ II О II <_> 1 < 1 1 CL 1 UJ I <з 1 1 < CL * II II uQ 1 CO (X 1 1 с 1 а. 1 < 1 ex о; 1 ж ¥ II X II О 1 -O о I 1 1 1- 1 X 1 z z 11- ¥ II II 1 *— i- i 1 1 1 ос X 1 UJ UI 1 О ¥ ¥ II UJ II 1 О t— O 1 1 *- 1 1 < 1 CL CL 1 II II О 1 X О 1 X 1 О 1 X «3 1 CD GO » О II X II СО 1 < UJ CL 1 UJ 1 со 1 X 1 1 CD II II ►— 1 CL X С I 1 X 1 1- 1 е; 1 1 h- II X II CJ 1 rJ | П 1 о 1 < ОС 1 UJ UJ 1 О II II UJ 1 X 1 X 1 LU 1 z ОС 1 UJ UJ 1 UJ II С II X 1 ОС e ОС 1 в 1 X 1 X X 1 X X 1 X II II X 1 X X 1 | -е 1 X 1 о ■3 1 E3 <3 1 X II X II 1 Ш <T> UJ 1 1 <т> I с: 1 ж UI 1 UJ UJ 1 ^ II II О 1 CL о CL 1 о 1 о 1 с а. 1 CL Q. 1 о II II \c 1 CD X СО 1 ъе. 1 ж. 1 Z и 1 CJ 1 ж II II 1 1 1 1 1 1 II II 1 1 1 1 — 1 1 1 '
II II о 1 Ш <М 1 СО 1 00 1 1 О ( ! О 1 1 о 0 О 1 1 4 1 «- 1 1 4 И II о 1 О г»п 1 О 1 Ч» 1 1 О 1 1 О- 1 ! О 3 О 1 1 О I 1 4 1 1 го II 4 II О 1 О Ю 1 О 1 О 1 1 О 1 I m в 1 О 9 О 1 1 00 9 СМ 1 1 о II II О 1 1 «- 4 1 СО 1 Ш 1 1 О 1 1 -о е ■ О 1 О 1 1 П- 1 О 1 1 го II LC И • 1 - • 1 • 1 • 1 • i о 5 1 • 1 - II tl 4> 1 1 т О 1 Ч> 1 О ! 1 Ш 1 1 ч> в 5 СО i о 1 1 ГО 1 1 *- 1 1 «- II X II 1П 1 1 ю 1 О 1 1 1 1 1 00 1 S _1Л 1 1Л ! 1 <\| t ! Ш | 1 СП II II 4 1 1 4 1 1Л 1 1 1 1 1 1 i 4 1 1 1 1 1 1 ! 11~ II I I II I I II I I II -IS I I < II S I I II X I I CL || 4 I I II CD I I < II О I I II Ш I I Ж II Ш I I II CL I I II I- I J II I I I I I I ООО >4 X >» <T> rT) <T> iiouu ISIS ШО О О О. CL О. О. I s. I ; i a « I U I <t I X «- СП I =f i I 2 I f- I >4 I I CO I I 4 I I CL M II II I I lfi4 «X 4 I XI I О^жж: 4 1 -ООО I ш | I П. I XOOO I ш I XC CC 1X14 l о I ccuuo i i о ^ ^ v I I «ОШШШ Ш4 44 ooooooooooooo ХХ>ч>»>»>ч>ч>ч>ч>ч>ч>ч>ч rn ОФ m m mm mmm m mm о ou <. IS IS IS IS is IS IS IS IS IS IS IS is о oooooooooooo aa.CLCLCLCLCLa.an.a.CLCL -СО О O f\J ГП 4 1Л -О II II II II II II II II II II II II II ooooooooooooo Ш Ш LU LXJ Ш UJ qj yj ixi 4 < X XX X X X X 3 i i i i I X • I 4 I I uj I I CL I I UJ I I X I • О I I l I I I X I » X J I X I I 4 I I CD I I o « I lO I I UJ I i a I i I x » il4l : i ш i I CL II II 1 1 1 1 X 1 СП 1 XX 1 1 UJ 1 1 X 1 ОС II X II Ж 1 1 1 1 с • 1 ж 4 1 1 X 1 X 1 4 • X II II ъ 1 1 1 1 4 1 1 ОО 1 IS 1 о Г 4 в m 1 X !l X II X 1 S 1 1 1 СП 1 4 1 *~ь~ 1 X 1 1 UJ I ъ 1 4 II II X 1 Ж 1 1 ОС 1 1 с: 1 ОО 1 X 1 1 a 1 Ю 1 4 II 4 II Ш 1 СП 1 1 О 1 1 4 1 CIZ 1 4 1 4 1 UJ 1 LU 1 X II II ЭЕ 1 >ч 1 1 1- 1 CD 1 X • 1 CD 1 X 1 X 1 О. 1 X II CD || >s 1 CL 1 1 о 1 О 1 =J 1 LU 1 О 1 X » о » с. 1 О и и 4 1 1- 1 1 О 1 С 1 1 ~ъ 1 iO | 4 i 1 1 il О II <j 1 4 1 1 CL I 34 1 1 X 1 UJ 1 4 i 1 1 II II i£ 1 СП 1 ОС 1 с • X 1 ОС 1 X 1 CL 1 1 4 1 ос 1 ОС II X II О 1 2 1 О 1 1 Z3 1 X » LU 1 Ь 1 1 X 1 X 1 X II II 1 1- 1 с- 1 1 1 UJ 1 ►— 1 1 ос 1 X 1 ш 1 ш II UJ п 1 о *- 1 l_> 1 1- 1 • a 1 «_> 1 1 4 1 4 1 CL 1 CL II II О 1 во X 1 О 1 X 1 О 1 00 1 X 1 О 1 X » 4 1 CD 1 CD и z: и cd 1 4 LU | а. I Ш 1 m 1 1 и 1 CD 1 X) 1 1 1 II II 1- 1 a X 1 С 1 X 1 *- 1 1 X 1 н- 1 ^ 1 1 1 II S II и 1 =f 1 1 и» и 1 Ш 1 CL 1 О 1 4 1 ОС 1 UJ 1 UJ И II Ш I X 1 1 X 1 Ш 1 Ш 1 ►- I ш 1 X 1 ОС 1 UJ 1 UJ II 4 И X 1 ск е 1 ос » d 1 X 1 X ( X 1 X 1 X 1 X 1 X 1 X II II X • X е 1 X 1 е 1 X 1 41 X 1 X 1 (4 • 414 • 4 ii x и с: 1 UJ m 1 Ш 1 m 1 4 1 ш 1 CD i 1 4 1 ш 1 ш 1 UJ II и о 1 о. О 1 О. 1 О 1 О 1 CL 1 1 о 1 4 1 IX 1 CL • a II II * 1 CD зс 1 m 1 * 1 ^ • О 1 1 U 1 X 1 о 1 О i u II II 1 1 1 1 • • 1 1 1 1 i II II 1 1 » 1 1 « 1 1 1 1 i 11 — и — 1 -- 1 -- 1 — 1 — • 122 КОЛИЧЕСТВО ТРЕБОВАНИЙ, НАХОДЯЩИХСЯ В' ОЧЕРЕДИ ! 7.0000
I I о I «- I О I r * О I r loir I О I с I о I - I N- n 1 • 1 X d 1 i 1 S 1 i d UJ II 1 i • d « 1 UJ a < 1 i 1 UJ 1 • а Ш Ж 1 s i a i l о XO 1 1 d I LU • 1 l о *— 1 1 LU 1 ~T 1 X 1 1 -■ о 1 X 1 CL 1 О 1 S 1 i •ajtz 1 d 1 1 LU I 1 X 1 I s 1 UJ 1 1 1 1 1 x 1 Ж 1 < 1 1 О ^lj 1 Cl 1 1 о 1 X 1 CO 1 1 CD Q'* 1 UJ I 1 1 1 i 1 S 1 О 1 1 1— Ж Ш 1 X 1 1 1 1 i 1 d 1 lO t 1 LJ со cl 1 О I 1 1 1 1 CD » d • UJ 1 1 LU <t X 1 1 1 1 1 t i i a i 1 X a x 1 1 1 1 I 1 1 4 1 H I 1 s lо 1 CD 1 • ex » X 1 1 1 d о 1 1 1 1 1 1 s 1 1 1 1 о 1 1 I 1 1 X i rz i 1 • ж ts •• 1 Ж ' 1 1 1 с • S 1 UJ 1 1 S 3. 1 s 1 1 1 1 CD 1 X 1 Ъ • 1 X w » Э 1 1 1 1 1 О 1 UJ 1 X 1 1 - <o i m i 1 UD 1 X 1 X 1 • mi- 1 с 1 1 UJ 1 S 1 LU 1 1 о о 1 CD 1 1 1 1 1 CL 1 X 1 36 1 1 ►— me • Zb 1 1 1 1- 1 < 1 Ж 1 1 UJ Ш 1 Ю 1 1 X 1 1 • a i d i 1 r— CL UJ I О i 1 d 1 1 1 i (_ i O 1 1 S >— ъ i e i 1 LL) 1 1 1 (X 1 O 1 LO 1 i а X i 1 CL 1 1 1 X i i О 1 1 о з: z i i 1 LU 1 1 • X X i < i 1 1 s Ж UJ • - i 1 X 1 1 s 1 <t s 1 ГО 1 i а Qi- » >S 1 1 О 1 1 d I CD X 1 1 1 i С 1— <_> 1 S 1 1 1 1 Ш I Zb <t l го I 4 OS 1 X 1 1 1 1 CL 1 lO d 1 S I 1 c <-> 1 < 1 1 < 1 1 LU 1 LU s. 1 i 1 -• LU 1 00 1 1 X 1 1 x »а * 1 CD 1 t X i О 1 1 s 1 1 о • с О • О • 1 CD 1 lO 1 d 1 1 i 1 CO 1 » <W> 1 UJ 1 d 1 1 » 1 4 1 1 LJ 1 CL 1 i i 1 <t I X X I Ж • 1 < 1 K- i i 1 X 1 z z 1 b- I 1 d 1 1 (X 1 1 s 1 LU LU • о > 1 Ж 1 1 < 1 1 d i а а 1 1 1 1 О 1 x 1 1 d 1 CD CD 1 О 1 1 1 CD 1 X) 1 i 1 1 CD 1 1 -- 1 1- 1 d i 1 1 1— 1 1 1 lj 1 < 1 X 1 UJ UJ 1 О 1 1 1 UJ 1 Z 1 IX 1 LU LU 1 UJ 1 1 LJ 1 T 1 s 1 X 1 X X 1 X 1 1 Ж 1 s 1 <_> i d • d d I S 1 1 EU i d 1 ж 1 UJ 1 LU UJ 1 d 1 i d I о • < i а I а а 1 О 1 1 X 1 ж 1 1 z 1 о I i <_> i <_> 1 Ж 1 1 1 1 s 1 1 J — 1 i I 1 1 1 1 —
Приложение 3 Фрагмент главной программы $$01)1 , реализующий связь модели с ДСВМ SSOD1 :PROC(NPAR»NRES,PPAR,PRES) ,* /* ГЛАВНАЯ ПРОГРАММА МОДЕЛИ УСтРОиСТВА СОГЛАСОВАНИЯ /* С ПРЕДВАРИТЕЛЬНЫМ НАКОПЛЕНИЕМ СООБЩЕНИЙ у************************* DCL 1 PAR Е Ж ТERNAL, 2 LAMBDA FLOAT, 2 К F LOW FLOAT, 2 L В U F FLOAT, 2 S LBUF F ЮАТ , 2 KEYST FLOAT, 2 INITRG FLOAT, 2 NPROGON FLOAT, 2 TSIMUL FLOAT, 2 MAS float; DCL 1 RES EXTERNAL, 2. H ( 3 ) FLOAT, 2 STSP FLOAT , 2 Y Y FLOAT; OCL PPAR pointer; DCL PRES POINTER; npar=9; N R E S = 5 ; ppar = addr<par) ; PRESrADDR(RES); >♦** СТРУКТУРА ПАРАМЕТРОВ **** ИНТЕНСИВНОСТЬ ВХОДНОГО ПОТОКА порядок входного ПОТОКА ЕМКОСТЬ БУФЕРА ПОРОГ ВКЛЮЧЕНИЯ 3 У КЛЮЧ ВЫВОДА РЕЗУЛЬТАТОВ статистики; KEYST = 0- BblBOA СРЕДНИХ KEYST=1-ВЫВОД СРЕДНИХ и ДИСПЕРСИЙ KEYST = 2- ВЫВ0Д СРЕДНИХ,диСПЕРСИй И ГИС ТОГРАММ НАЧАЛЬНОЕ ЧИСЛО БАЗОВОГО гЕЙЕРАТОРА КОЛИЧЕСТВО ПРОГОНОВ МОДЕЛИ ИНТЕРВАЛ МОДЕЛИРОВАНИЯ МАСШТАБ СИСТЕМНОГО ВРЕМЕНИ *** СТРУКТУРА РЕЗУЛЬТАТОВ •***. МАССИВ РЕЗУЛЬТАТОВ: Н(1>-ВЕРОЯТНОСТЬ ПОТЕРИ СООБЩЕНИЯ Н(2)-СРЕДНЯЯ ВРЕМЯ ЗАДЕРЖКИ С О О Б Щ . Н(3)-СРЕДНЯЯ ДЛИНА ЦИКЛА з А П У С И КОЛИЧЕСТВО ВКЛЮЧЕНИЙ ЗУ YY=h<3)/FREQ/SLBUF ,гае freo-время Счит, в ЗУ ОДНОГО с о О Б щ, АДРЕС ПАРАМЕТРОВ АДРЕС РЕЗУЛЬТАТОВ КОЛИЧЕСТВО ПАРАМЕТРОВ КОЛИЧЕСТВО РЕЗУЛЬТАТОВ ОПРЕДЕЛЕНИЕ АДРЕСА ПАРАМЕТРОВ определение адреса результатов
ЛИТЕРАТУРА 1. Евдокимов В. П., Покрас В. М. Методы обработки данных в научных косми¬ ческих экспериментах. М.: Наука, 1977. 2. Нейлор Т. Машинные имитационные эксперименты с моделями экономиче¬ ских систем. М.: Мир, 1973. 500 с. 3. Шабанов Л. В., Шакин В. ИДаминов В. М. Об одном- подходе к построе¬ нию программных имитационных моделей систем передачи и обработки ин¬ формации.— В кн.: Современные методы управления радиоэлектронными системами: Тр. Радиотехн. ин-та АН СССР. М.: Радиотехн. ин-т АН СССР, 1977, № 29, с. 149—156. 4. Голованов О. В., Дуванов С. Г., Смирнов В. Н. Моделирование сложных, дискретных систем на ЭВМ третьего поколения: (Опыт применения GPSS). М.: Энергия, 1978. 160 с. 5. Калиниченко Л. А., Москаленко В. М. Модель системы организации базы данных в режиме коллективного доступа.— В кн.: Моделирование вычис¬ лительных систем. (Системное моделирование-3): Сб. науч. тр. Новоси¬ бирск: ВЦ СО АН СССР, 1975, с. 89—102. 6. Заманский Л. Я., Малиновская В. Б., Сахнюк М. А. Имитационная модель сети передачи данных с коммутацией сообщений.— В кн.: Вопросы модели¬ рования сложных систем. Киев: Ин-т кибернетики АН УССР, 1978, с. 47— 58. 7. Шеннон Р. Имитационное моделирование систем — искусство и наука. М.: Мир, 1978. 418 с. 8. Мановицкий В. М., Сурков Е. М. Система имитационного моделирования дискретных процессов (ДИСМ). Киев: Вища школа, 1981. 96 с. 9. Гусев В. В. Языки моделирования и некоторые тенденции их развития: Пре¬ принт Ип-та кибернетики АН УССР, № 72-34. Киев, 1972. 32 с. 10. Дал У.-И. Языки для моделирования систем с дискретными событиями.— В кн.: Языки программирования/Под ред. Ф. Женюи. М.: Мир, 1972, с. 344—403. И. Макдугал М. Моделирование на уровне системы.— В кн.: Автоматизация; проектирования вычислительных систем: Языки, моделирование и базы дан- ных/Под ред. М. Брейера. М.: Мир, 1979, с. И—139. 12. Калашников И. Д., Степанов В. С., Чуркин А. В. Адаптивные системы сбо¬ ра и передачи информации. М.: Энергия, 1975, с. 92—96. 13. Дризо В. Е., Мановицкий В. П., Стогнийчук А. Н. К вопросу о выборе базо¬ вого генератора псевдослучайных чисел для решения задач моделирования на ЕС ЭВМ.— В кн.: Вопросы моделирования сложных систем. Киев: Ин-т кибернетики АН УССР, 1978, с. 20—29. 14. Дризо В. Е., Семишин Ю. А., Стогнийчук А. Н. Структура и организация блока статистической обработки в пакете прикладных программ дискретно¬ го моделирования.—'В кн.: Системное моделирование и использование ЭВМ в экономических исследованиях: Тематический сборник. Киев: Ин-т эконо¬ мики АН УССР, 1976, с. 123—133. 15. Бусленко В. Н. Автоматизация имитационного моделирования сложных си¬ стем. М.: Наука, 1977. 140 с. 16. Мановицкий В. М., Семишин Ю. А., Евдокимов В. П. Возможности системы имитационного моделирования АСИМ для программирования моделей си¬ стем сбора и обработки данных: Препринт Ин-та космических исследований АН СССР № Пр-516. М., 1979. 17 с. 17. Входной язык автоматизированной системы имитационного моделирования/ Ю. А. Семишин. ВЦ Одесского отд-ния Ин-та экономики АН УССР. М., 1978. Рукопись деп. в ВИНИТИ, 1978, № 3655-78 Деп. 26 с. 125
18. Кокс ДСмит У. Теория очередей. М.: Мир, 1966. 218 с. 19. Соловьев Г. М., Никитин В. Д. Операционные системы цифровых вычисли¬ тельных машин. М.: Машиностроение, 1977. 112 с. 20. Джейсуол Н. К. Очереди с приоритетами. М.: Мир, 1973. 279 с. 21. Климова Е. 3. Исследование однолинейной системы обслуживания с «разо¬ гревом».—Изв. АН СССР. ТК, 1968, № 1, с. 91—97. 22. Рыжиков 10. И. Расчет системы массового обслуживания с «порогом вклю¬ чения» и «разогревом».—Изв. АН СССР. ТК, 1974, № 6, с. 125—131. 23. Броди С. М., Погосян И. А. Вложенные стохастические процессы в теории массового обслуживания. Киев: Наук, думка, 1973. 127 с. .24. Даниэлян Э. А. Об одной системе массового обслуживания с ненадежным прибором и приоритетом.— В кн.: Вычислительные методы и программиро¬ вание. М.: Изд-во МГУ, 1972, вып. 18, с. 31—54. 25. Емельянов Г. В. Системы массового обслуживания с приборами, которые могут выходить из строя и восстанавливаться.— Проблемы передачи ин¬ формации, 1967, № 3, с. 59—63. 26. Greenberger М., Jones М. М. On-line simulation in the OPS System.— In: Proc. 21st Nat. Conf. of the ACM. Wash. (D. C.), 1966, p. 131—138. :27 Donovan J. J., Aisop J. W., Jones М. M. A graphical facility for an Interactive Simulation System.— In: Proc. IFIP Cong., 1968. Amsterdam: North-Holland P. A., 1969, p. C90—C95. 28. Hillbom R. A control system for FORTRAN simulation programming.— Simu¬ lation, 1973, vol. 20, N 5, p. 172—175. v29. Greenberger М., Jones М. M. On-line simulation.— Proc. IFIP Working Conf. on Simulation Programming Languages. Amsterdam: North-Holland P. A., 1968, p. 13—32. 30. Sohnle R. C., Tartar J., Sampson J. R. Requirements for interactive simulation system.— Simulation, 1973, vol. 20, N 5, p. 145—152. 31. Frantz D. R.} Brender R. F. The CSSL programming language.— In.: Techni¬ cal Report Departament of Computer and Communication Science. University of Michigan Ann Arbor, 1972. '32. Дейкало Г. Ф., Новиков Б. А. Программа редактирования текстов с по¬ мощью дисплея ЕС-7066.— В кн.: Вопросы судостроения. Сер. «Мат. мето¬ ды программир. и эксплуатации ЭВМ». Л.: Изд-во ЛГУ, 1977, вып. 13. 33. Лаврищева Е. М., Моренцев Е. И. Принципы построения мониторов для си¬ стем диалогового типа на базе ОС ЕС ЭВМ.— В кн.: Вопросы построения систем программирования. Киев: Ин-т кибернетики АН УССР, 1978, с. 41— 50. 34. Шрайбер Т. Дж. Моделирование на GPSS: Пер. с англ. М.: Машинострое¬ ние, 1980. 592 с. 35. Глушков В. М. и др. Программные средства моделирования непрерывно¬ дискретных систем. Киев: Наук, думка, 1975. 152 с. 36. Дал О. И., Нигард К. СИМУЛА — Язык для программирования и описания систем с дискретными событиями.— В кн.: Алгоритмы и алгоритмические языки. М.: ВЦ АН СССР, 1967, вып. 2. 72 с. 37. Simulation with GASP PL/l/A. Alan, В. Pritsker, R. E. Young. L.: John Wiley & Sons. Inc. 1975. 335 p. .38. Клейнен Дж. Статистические методы в имитационном моделировании. М.: Статистика, 1978, вып. 1. 222 с. 39. Важенин В. И., Воронцов Ю. В., Герман В. А. и др. Методы моделирования сложных систем на ЭВМ.— В кн.: Системотехника и математическое моде¬ лирование: Тр. Радиотехн. ин-та АН СССР. М.: Радиотехн. ин-т АН СССР, 1973, № 12, с. 3—244. 40. Родионов А. С. Системы взаимодействия с имитационными моделями: (Краткий обзор).— В кн.: Системный анализ и исследование операций. Но¬ восибирск: ВЦ СО АН СССР, 1977, с. 15—31. 41. Johnson С. I. Principles of interactive system.— IBM System J., 1968, vol. 7, N 3/4, p. 147. 42. Полляк Ю. Г. Вероятностное моделирование на электронных вычислитель¬ ных машинах. М.: Сов. радио, 1971. 400 с. .126
43. Сборник научных программ на ФОРТРАНе. Вып. 1. Статистика/Пер. с англ. С. Я. Виленкина. М.: Статистика, 1974. 316 с. 44. Математическое обеспечение ЕС ЭВМ. Вып.- 14. Пакет научных подпро¬ грамм на ПЛ/1: Руководство программиста. Минск: Ин-т кибернетики АН БССР, 1978. 329 с. 45. Система регулируемых процедур имитации случайных воздействий для ЕС ЭВМ/В. Е. Дризо, В. И. Мановицкий. ВЦ Одесского отд-ния Ин-та эконо¬ мики АН УССР, Рукопись деп. ВИНИТИ. М., 1980, № 1682-80 Деп. 36 с. 46. Акофф Р., Эмери Ф. Целеустремленные системы. М.: Мир, 1975, 320 с. 47. Шенк Р. Обработка концептуальной информации. М.: Энергия, 1980. 360 с. 48. Дал У., Дейкстра Э., Хоор К. Структурное программирование. М.: Мир,. 1975. 247 с. 49. Оллонгрен А. Определение языков программирования интерпретирующими- автоматами. М.: Мир, 1977. 287 с. 50. Брябрин В. М. Диалоговая информационно-логическая система.— В кн.г Семиотика и информатика. М.: ВИНИТИ, 1977. Вып. 9.
ОГЛАВЛЕНИЕ Введение 3 Глава первая Имитационное моделирование в исследовании и проектировании систем сбора и обработки данных 7 1.1. Научный космический эксперимент как большая информа¬ ционная система 7 1.2. Задачи анализа бортовых и наземных информационных си¬ стем, решаемые с помощью моделирования 11 1.3. Средства автоматизации построения имитационных моделей и проведения машинных экспериментов 15 Глава вторая Система моделирования ДИСМ на базе языка высокого уровня ПЛ/1 21 2.1. Схема описания дискретных систем и структура моделирую¬ щей программы 21 2.2. Процедурные средства машинной имитации . . 27 2.3. Пример моделирования устройства согласования с предвари¬ тельным накоплением сообщений 33 Глава третья Автоматизация имитационного моделирования систем массового обслуживания 36 3.1. Трудности, возникающие при создании моделей 36 ■3.2. Описательный подход к построению имитационных моделей сетей СМО 37 3.3. Назначение и возможности отдельных конструкций входного языка АСИМ 41 Глава четвертая Диалоговый режим проведения машинных экспериментов и про¬ граммные средства его реализации 49 4.1. Необходимость диалога в моделировании 49 4.2. Пути введения диалогового режима в практику имитационно¬ го моделирования 50 4.3. Возможности диалога и управления имитационным экспери¬ ментом ДСВМ 58 4.4. Связь с операционной системой и средства организации вы¬ числительного процесса системы ДСВМ 71 4.5. Подготовка проблемных программ к работе с ДСВМ ... 71 4.6. Область применения, основные характеристики ДСВМ и тре¬ буемые средства 73 128
Глава пятая Средства повышения эффективности вычислительного процесса в имитационных моделях 5.1. Приемы повышения эффективности процесса машинной ими¬ тации , * . . 5.2. Назначение и возможности системы регулируемых процедур имитации случайных воздействий Глава шестая Практика имитационного моделирования систем сбора и обработ¬ ки данных 6.1. Модель блока регистрации и обработки данных . . . . . 6.2. Использование комплекса АСИМ в имитационном экспери¬ менте ' 6.3. Исследование моделей в диалоговом режиме Глава седьмая О системном подходе к машинному моделированию космических экспериментов 7.1. Моделирование космического эксперимента в целом . . . . 7.2. Формализация моделей научной аппаратуры 7.3. Универсальные диалоговые информационно-логические систе¬ мы как средство целостного машинного моделирования . . Заключение . Приложение 1 Приложение 2 Приложение 3 Литература 74 74 77 84 84 90 93 101 101 103 106 108 110 120 124 125