Текст
                    Б.Я.СОВЕТОВ.С.А. ЯКОВЛЕВ
Моделирование
систем
л
° I
а
курсовое
проектирование


Б. Я. COBFTOB, С. А. ЯКОВЛЕВ Моделирование систем курсовое проектирование Допущено Министерством высшего и среднего специального образования СССР в качестве учебного пособия для студентов вузов, обучающихся по специальности «Автоматизированные системы управления» МОСКВА «ВЫСШАЯ ШКОЛА» 1988
ББК 32.965 С56 УДК 62.529 Рецензенты: кафедра автоматизированных систем управления Московского инженерно-физического института (зав. кафедрой — д-р техн, наук, проф. Я. А. Хетагуров), В. Н. Четвериков — проф., засл, дея- тель науки и техники РСФСР (Московское высшее техническое училище им Н. Э. Баумана) Советов Б. Я , Яковлев С. А. С56 Моделирование систем: Курсовое проектирование: Учеб, пособие для вузов по спец. АСУ.— М.: Высш, шк., 1988.— 135 с.: ил. ISBN 5-06-000041-9 В пособим, являющемся частью комплексного учебника «Моделирование сис- тем», рассматриваются вопросы организации: моделирования систем на ЕС ЭВМ, лаются рекомендации по методике, основным этапам и технологии машинного моделирования Существенное место занимают вопросы практической реализация моделей процессов функционирования систем с использованием пакета моделиро- вания дискретных систем ПМДС 2.0 и алгоритмического языка ПЛ/1 в среде сис- темы виртуальных машин СВМ ЕС. 1592000000(4309000000) — 098 оо С -------------------------------- 36= оо 001(01) —88 ББК 32.965 6Ф6.5 ISBN 5-06-000041-9 © Издательство «Высшая школя», 1988
ПРЕДИСЛОВИЕ В материалах XXVII съезда КПСС в качестве основных за- дач ускорения научно-технического прогресса и развития нау- ки определены внедрение систем информатики и автоматиза- ции в различные сферы производства, и в первую очередь в проектирование, управление оборудованием и технологически- ми процессами; повышение темпов наращивания масштабов применения современных высокопроизводительных ЭВМ всех классов [1]. Для реализации этих задач требуется интенсифика- ция подготовки специалистов-системотехников по специальности АСУ, владеющих методикой исследования и проектирования сложных автоматизированных систем на базе новейших науч- ных достижений и практических способов использования про- граммно-технических ресурсов современных ЭВМ В настоящее время полное и всестороннее исследование АСУ на всех этапах разработки, начиная с составления технического задания на проектирование по результатам обследования объекта управ- ления и кончая внедрением спроектированной АСУ в эксплуа- тацию, невозможно без использования методов моделирования на ЭВМ. Данное учебное пособие, являясь частью комплексного учеб- ника «Моделирование систем» [20], детально знакомит буду- щих инженеров-системотехников с практическими возможностя- ми использования метода моделирования на высокопроизводи- тельных ЭВ/М при проектировании и эксплуатации АСУ В качестве технических средств реализации машинных мо- делей выбраны ЕС ЭВМ, так как большинство задач моделиро- вания таких сложных объектов, как АСУ различных уровней, может быть решено только с помощью мощных компьютеров третьего поколения. Вопрос о выборе объектов моделирования в курсовой работе решается с учетом знаний студентами реаль- ных систем и математических методов их описания на основе уже прочитанных дисциплин, лабораторных и практических занятий типового учебного плана специальности АСУ. Приво- димые в пособии варианты заданий на курсовую работу и при- меры моделирования носят учебный характер и в ряде случаев могли бы быть реализованы с помощью менее производите пь- ных ЭВМ (например, СМ ЭВМ) [20]. Ориентация на подготовленность студентов в области про- граммирования и на особенности использования полученных 3
знаний и навыков моделирования в их дальнейшей практиче- ской деятельности инженеров системотехников в научно-прэиз- воде гвенных объединениях и предопределил выбор конкретных программных средств: пакет моделирования дискретных систем ПМДС (версия 2.0) на базе системы имитационного моделиро- вания GPSSV. Последний позволяет автоматизировать при мо- делировании процесс программирования моделей и алгоритми- ческий язык общего назначения ПЛ/1 [15, 22] который дает возможность на его основе реализовать машинную модель, естественно, с большей трудоемкостью ее разработки, при от- сутствии в вычислительном центре вуза пакета ПМДС. Пред- полагается, что раздел учебного пособия, посвященный ПМДС, позволит освоить его практическое использование без примене- ния документации сопровождения [9, 10, 11] и переводной лите- ратуры [12 24]. Следует подчеркнуть, что основной целью вы- полнения курсовой работы является не изучение ПМДС (или любого другого языка моделирования), а освоение практиче- ских методов и современной технологии машинного моде иро- вания сложных систем. Материал учебного пособия соответствует программе дис- циплины «Моделирование систем» типового учебного плана Мин- вуза СССР по специальности АСУ. При написании учебного пособия использованы опыт и методические материалы авторов при проведении курсового проектирования в Ленинградском ордена Ленина и ордена Октябрьской Революции электротехни- ческом институте имени В. И. Ульянова (Ленина), учтены по- желания, высказанные в ходе обсуждения материалов пособия на заседаниях научно-методической комиссии по АСУ Минвуза СССР, а также обобщен опыт организации выполнения курсо- вой работы по моделированию систем в ведущих вузах страны по специальности АСУ. Авторы благодарны рецензентам—засл, деятелю науки и техники РСФСР д ру техн, наук, проф В. 11. Четверикову и сотрудникам кафедры Московского ордена Трудового Красного Знамени инженерно-физического института (зав. кафедрой — д-р техн, наук, проф. Я- А. Хетагуров) за ценные замечания, сделанные при рецензировании учебного пособия, а также со- трудникам кафедры автоматизированных систем обработки информации и управления ЛЭТИ А. В. Садовникову, А. В Соч- неву и С. Ю. Шацкому за помощь при по хготовке рукописи, отладке программного обеспечения и тестирования вариантов заданий на курсовую работу. Замечания по содержанию книги просим направлять по ад- ресу: 101430, Москва, ГСП-4, Неглинная ул., 29/14, издательст- во «Высшая школа». Авторы
ВВЕДЕНИЕ Курсовая работа предназначена для практического усвоения студентами основных разделов дисциплины «Моделирование систем», «Основы теории систем», «Программирование», «Ве роятпостные процессы в АСУ», «Исследование операций», «Ос- новы построения АСУ», «Операционные системы» типового учеб- ного плана специальности АСУ, закрепления знаний по матема- тическим и программным средствам системного моделирования, развития, практических навыков комплексного решения задач исследования и проектирования систем на базе современных ЭВМ. В задачи курсовой работы по дисциплине «Моделирование систем» входят: развитие у студентов навыка научно-исследо- вательской и проектно-конструкторской работы в области ис- следования и разработки сложных систем; постановка и прове- дение имитационных экспериментов с моделями процессов функционирования систем на базе современных ЭВМ для оцен- ки вероятностно-временных характеристик процессов функцио- нирования систем, как наиболее характерного для системного исследования и проектирования АСУ; принятие экономически и технитески обоснованных инженерных решений; анализ на- учно-технической литературы в области системного моделиро- вания, а также использования стандартов, справочников, тех нической документации по математическому и программному обеспечению ЭВМ и т. д. При выполнении курсовой работы еле дует руководствоваться общими указаниями по организации и методике проведения курсового проектирования в вузе и мето дическими материалами по курсовому проектированию на ЕС ЭВМ [14, 19] В предлагаемом пособии с единых методологических пози- ций системного машинного моделирования рассматриваются вопросы организации выполнения курсовых работ на базе ЕС ЭВМ, даются конкретные указания по выполнению основ- ных этапов моделирования: построение концептуальной модели исследуемой системы и ее формализация, алгоритмизация и машинная реализация модели, получение и интерпретация ре- зультатов моделирования. Существенное место в учебном посо- бии занимают важные вопросы практической реализации моде- лей с использованием пакета прикладных программ моделиро- вания дискретных систем (ПМДС) и алгоритмического языка а
общего назначения ПЛ/1 в среде системы виртуальных машин (СВМ) ЕС. В качестве средств программной реализации моде- лей в курсовой работе применен язык GPSSV (General Purpose System Simulator Virtual), так как в настоящее время оь явля- ется одним из наиболее эффективных и распространенных про- граммных средств моделирования сложных дискрьтных систем на ЕС ЭВМ и успешно используется для моделирования систем, формализуемых в виде схем массового обслуживания, с по- мощью которых описываются многие объекты, рассматривае- мые при подготовке специалистов по АСУ (5, 13, 20, 25] В пособии приведены варианты типовых заданий объектов мо- делирования, отражающие специфику подготовки инженеров- системотехников по АСУ, которые могут быть выбраны в каче- стве основы при организации выполнения курсовых работ. Для лучшего усвоения материала приведены примеры выно. шния конкретных вариантов курсовых работ. Особое внимание уде- лено задачам стандартизации при оформлении прогр; ммной документации, используемой для реализации моделей на ЕС ЭВМ [8]. В результате выполнения курсовой работы по «Моделиро ванию систем» студент должен научиться работать с нач -шо- гехнической и справочной литературой в области машинного моделирования, решать отдельные прикладные задачи модели- рования, готовить и проводить эксперименты с моделями систем на ЭВМ, работать в рамках современных технологий машинной имитации, оформлять программную документацию в соответст- вии с требованиями ЕСПД, выступать перед аудиторией с целью защиты результатов своей работы. Курсовая работа готовит студента к решению более сложной задачи, завершающей обучение.— дипломному проектированию на базе использования метода моделирования на ЭВМ для принятия обоснованных проектных решений.
ГЛАВА 1. ОРГАНИЗАЦИЯ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ НА ЕС ЭВМ § 1.1. Указания и правила выполнения курсовой работы Так как проведение курсовой работы ориентировано на ин- тенсивное использование ЭВМ, необходимо обеспечить учебный процесс машинным временем (желательно в интерактивном ре- жиме) для аудиторных занятий и самостоятельной работы, учи- тывая режимы автоматизации обучения на базе терминальных классов, реализованных с применением современных технологий использования вычислительных ресурсов (например, системы виртуальных машин (СВМ) ЕС ЭВМ) [8, 25]. В ходе выполне- ния курсовой работы кафедра назначает руководителя, кото- рый следит за ее выполнением, проводит консультации, состав- ляет задание на курсовую работу по типовой форме (см. приложение 1) и намечает график ее выполнения, помогает студенту решать принципиальные вопросы формализации и ис- следования объекта моделирования, разработки машинной мо- дели, проверяет готовность студента к использованию про- грам чно-технических средств моделирования и помогает сту- денту подготовиться к защите курсовой работы. Для выполнения курсовой работы каждому студенту выда- ется задание, утвержденное заведующим кафедрой, содержащее текстовое описание объекта моделирования (системы S) и чис- ленные данные о переменных и параметрах объекта моделиро- вания и воздействиях внешней среды Е, характеристики про- цесса функционирования объекта, которые необходимо оценить в ходе моделирования. Студент, заканчивая очередной этап работы (согласно гра- фику выполнения курсовой работы), представляет готовый ма- териал (описания, схемы алгоритмов и программ, машинные распечатки, карты машинной отладки и т. п.) для проверки пра- вильности полученных промежуточных результатов и направле- ния хода дальнейших работ по моделированию процесса функ- ционирования конкретной системы S ]20]. В ходе выполнения курсовой работы студент должен выпол- нить формализацию описания объекта моделирования в терми- 7
нах типовых математических схем, построить обобщенную и детальную схемы объекта моделирования, разработать алгорит- мическое описание работы модели (с учетом специфики вы- бранного математического обеспечения: для пакета моделиро- вания ПМДС — на уровне диаграмм, для уиизерсального языка НЛ/1—на уровне блок схем алгоритмов и программ), задание (инструкцию) по перфорации на машинном носителе. Кроме того, по указанию преподавателя необходимо провести качест- венную и количественную аналитические оценки исследуемых характеристик моде ируемого объекта для сравнения с резуль- татами имитационного эксперимента, используя литературу по конкретной предметной области исследуемой системы S. После ряда прогонов полученной модели на ЭВМ и получе- ния результатов машинного эксперимента с требуемой точ- ностью необходимо провести их интерпретацию и анализ в тер минах объекта моделирования, а затем оформить пояснитель- ную записку и графическую часть курсовой работы. Текстовое описание объекта моделирования с числовыми данными, приведенными в задании, следует рассматривать как концептуальную модель, получаемую в результате некоторых допущений и упрощений реального объекта и постановки цели моделирования. Концептуальную модель следует проверить на непрот иворечивэсть и полноту описания, для чего надо убедить- ся, что задание содержит всю необходимую качественную и ко личественную информацию об объекте. Далее модель проверя- ют на отсутствие неформализуемых или нереализуемых описа- ний, ситуаций, соотношений. Затем необходимо провести (согласно заданию) качественную и количественную оценки характеристик процесса функционирования системы. Сюда должны входить режим работы системы (загрузки элементов системы), необходимое время моделирования для получения представительной статистики, определение предельных значений для статистических оценок (гистограмм, таблиц) и т. д. В качестве аппарата формализации процессов функциони- рования объектов моделирования в курсовой работе использу- ются типовые математические схемы (в денном учебном посо- бии применяются Q-схемы — системы массового обслуживания, рассматриваемые в [20]). Сначала необхотимо формализовать объект моделирования в виде структурного представления с использованием стандарт ных обозначений элементов Q схемы (накопителей, обслуживаю- щих каналов, переключателей и т. д.). Такая схема дает на- глядное представление о структуре моделируемой системы S, составе входящих в нее элементов, связях между ними, воздей- ствиях внешней среды Е. Следующим этапом является алгоритмизация процесса функционирования объекта моделирования, представлены ко в виде типовой математической схемы (Q-схемы). При этом в за- 8
висимости от используемых в вузе средств математического обеспечения ЕС ЭВМ возможны два варианта: применение па- кета имитационного моделирования ПМДС [9 -11] и алгоритми- ческого языка общего назначения ПЛ/1 [15, 22] Специальные средства ПМДС позволяют получить форма- лизацию описания системы S, промежуточную между графиче- ской и программной моделями. Построение блок-диаграммы ПМДС позволяет облегчить разработку программной модели, а также упростить контроль правильности логической структу- ры модели. Далее осуществляется формальный! переход к тек- сту программ и «насыщение» его числовыми значениями. Мо- дель записывается на бланках специального формата, после чего ее можно вводить в ЭВМ, используя дисплей или предва- рительную перЛорацию. При использовании тля моделирования системы S алгорит- мического языка ПЛ I необходимо сначала построить укруп- ненную схему моделируемого алгоритма, а затем разработать детальную схему программы моделирования, выполнить про- граммирование и отладку на ЭВМ. Исходя из сложности тех реальных объектов, с исследова- нием и проектированием которых на базе машинного моделиро- вания придется столкнуться специалистам по АСУ, рационально для моделирования использовать ЕС ЭВМ. Наиболее эффектив- но применение CBj'A ЕС, так как в этом случае проявляются преимущества интерактивного режима при автоматизации мо делировання. Итоги курсовой работы — техническая документация в виде разработанных алгоритмического и программного обеспечения моделирования системы, результаты машинного эксперимента с моделью системы, включая выводы и рекомендации по их ис- пользованию при исследовании и разработке реальной системы, пояснительная записка, содержащая документацию по алгорит- мам и программам моделирования. § 1.2. Основные этапы машинного моделирования при выполнении курсовой работы Этапы выполнения курсовой работы те же. что и при моде- лировании на ЭВМ реальных больших систем в ходе их иссле- дования и проектирования [20]. Сущность машинного моделирования системы S состоит в проведении на ЭВМ эксперимента с моделью этой системы, которая представляет собой некоторый программный комплекс, описывающий поведение элементов системы S в процессе ее функционирования во внешней среде Е Следует отметить, что при машинном моделировании системы S характеристики про- 9
цесса функционирования определяются на основе машинной модели Мм, построенной на основе имеющейся исходной инфор- мации об объекте моделирования. При получении новой инфор- мации об объекте моделирования (в том числе и непосредствен- но в ходе моделирования) его модель Мн должна пересматри- ваться и уточняться с учетом новой информации, т. е. процесс моделирования в целом, включая разработку и машинную реа- лизацию модели, является итерационным. Итерационный про- цесс продолжается до тех пор, пока не будет получена машин- ная модель Мм, которую можно считать адекватной конкретной системе S. В основу методики машинного моделирования положены об- щие принципы, которые могут быть сформулированы даже в том случае, когда конкретные способы моделирования отличаются друг от друга и имеются различные модификации моделей, на- пример, в области выбора математических схем и языков моде- лирования. Такую методику удобно представить в виде совокуп- ности этапов и подэтапов моделирования [20]. К основным этапам моделирования сложных систем, взаи- мосвязь которых показана на рис. 1 1, относятся: 1 — построение концептуальной модели Мк системы S и ее формализация (1.1 —1.11); 2 — алгоритмизация модели системы S и ее машинная реа- лизация Ми (2.1 2.10); 3—получение и интерпретация результатов моделирования системы S (3.1—3.8). Таким образом, процесс моделирования системы в ходе вы- полнения курсовой работы сводится к выполнению подэтапов, сгруппированных в виде трех этапов. На первом этапе построе- ния концептуальной модели Мк и ее формализации проводится исследование моделируемого объекта с целью выделения основ ных составляющих процесса его функционирования, определя- ются необходимые аппроксимации и получается обобщенная схема модели, которая на втором этапе моделирования преоб- разуется в машинную модель Мм путем последовательной алго- ритмизации и программирования модели. Последний, третий, этап моделирования сводится к проведению рабочих расчетов на ЭВМ с выбранным (или заданным) математическим обеспе- чением, получению и интерпретации результатов моделирова- ния системы. Детальное рассмотрение особенностей выполнения каждого из подэтапов моделирования проводится в гл. 3, в которой после ознакомления с пакетом ПМДС (гл. 2) содержимое этапов бу- дет иллюстрироваться моделированием конкретной системы. 17ри этом надо учитывать, что при выполнении студентами кур- совой работы нельзя полностью охватить все перечисленные подэтапы моделирования, имеющие место в реальных ситуа- циях при моделировании сложных систем. 10


§ 1.3. Сроки контроля и представления курсовой работы к защи ге В соответствии с рассмотренными в§ 1.2 этапами моделирова- ния систем преподавателю рекомендуется проверять ход выпол- нения курсовой работы студентами, что позволяет обеспечить равномерную загрузку их в ходе курсового проектирования и возможность вмешательства в случае появления ошибок. В ка- честве средств реализации модели, разрабатываемой в курсо- вой работе, используется ЕС ЭВМ, поэтому необходимо четко придерживаться соответствующего графика работ в терминаль- ном классе вычислительного центра (лаборатории) института. Руководитель указывает сроки проведения проверок в зада- нии па курсовую работу, а цель проверок объясняет при выдаче заданий, оформленных в соответствии с приложением 1. Реко мендуется делать проверки, ориентируясь на следующие этапы выполнения курсовой работы. Подготовительный этап (1—3-я недели). Студент должен по- нять поставленную задачу моделирования процесса функциони- рования конкретной системы S, ознакомиться с соответствую- щими разделами учебника [20] и рекомендованной литературой и подготовить обзор. Следует ясно представить цели решаемой задачи моделирования и внимательно анализировать требова- ния, предъявленные к разработке концептуальной модели Мк, и ограничения по ресурсам ЭВМ. Существенное внимание должно уделяться вопросам поиска подходов к описанию про- цесса функционирования системы S. возможностей использова- ния типовых математических схем Целью проверки является оценка степени теоретической и практической подготовленно»ти студентов, правильности понимания ими поставленной за хачи моделирования системы S, ущовня изучения научно-технической литературы, правильности намеченных путей моделирования на ЭВМ и умения проводить системный анализ различных вариан- тов Проектный этап (4—8-я недели). На этом этапе студент дол- жен рассмотреть различные пути решения поставленной задачи моделирования системы S, предложить критерий оценки эффек- тивности полученных результатов моделирования и оценить с его помощью различные варианты. Необходимо обращать осо- бое внимание на возможность опенки экономической эффект яв- ности принятых решений. Студент должен уметь производить расчеты, связанные с определением затрат на машинную реа- лизацию модели, разработку и отладку программ моде шрова- ния. На этом этапе разрабатывается алгоритмическое и про- граммное обеспечение моделирования. Причем при использова- нии пакета ПМДС этот этап требует меньших затрат времени студента, чем при использовании алгооитмического языка об- щего назначения но при этом требуется предварительное 12
изучение и освоение пакета ПМДС (см. гл. 2). Целью проверки является оценка правильности выбранных алгоритмических ре- шений и возможностей программной реализации модели на ЕС ЭВМ. Реализационный этап (9—12-я недели). В начале этого этапа стхдент должен выбрать наиболее рациональное решение по машинной реализации модели системы и составить график дальнейшей работы, в ходе которой необходимо провести пла- нирование машинного эксперимента, выполнить окончательную отладку программного обеспечения (на языке ПМДС или ПЛ/1), получить результаты моделирования на ЕС ЭВМ и проанализировать их. Следует обратить внимание на полноту, прави. гьност ь и аккурат ность ведения документации в ходе выполнения курсовой работы, на зыбор методики машинного эксперимента с моделью системы, на полноту проверки правиль- ности работы программы моделирования. Особое внимание должно быть уделено соблюдению требований стандартов при оформлении программной документации [8]. Целью проверки являются контроль правильности разработанного программного обеспечения моделирования и оценка корректности полученных результатов моделирования системы S с привлечением соответ- ствующих статистических методов. Оформительский этап (13-я неделя). Студент обязан офор- мить пояснительную записку и графический материал в соот- ветствии с требованиями к оформлению технической документа- ции, регламентируемыми ЕСПД (см. гл. 5). Целью проверки является контроль знаний по оформлению пояснительной за- писки и подготовленности студента к защите курсовой работы. Заключительный этап (14-я неделя). На этом этапе прово- дится защита курсовых работ. Студент обязан представить ру- ководителю окончательно оформленную пояснительную записку к курсовой работе не позже чем за два дня до защиты. На за- ключительном этапе проводятся подготовка доклада и заши-а курсовой работы перед комиссией. Доклад должен сопровож- даться демонстрацией иллюстративного материала в виде ли- стов. Для доклада студенту отводится 5—7 мин, в связи с чем необходимо тщательно продумать его содержание, а также со- ставить тезисы выступления и согласовать их с руководителем. В докладе в сжатой и четкой форме следует представить по- ставленную задачу, основное содержание курсовой работы, ил- люстрируя принципиальные положения |рафическим материа- лом. Не следует давать подробные объяснения принципа дейст- вия моделируемой системы S, взаимодействия элементов схемы алгоритма моделирования и т. д При необходимости более подробных сведений члены комиссии будут задавать соответст - вующие вопросы. При подголовке доклада основное внимание необходимо об- ратить на последовательность изложения: 13
I. Тема курсозой работы. 2. Постановка задачи моделирования системы. 3. Краткий анализ состояния изучаемого вопроса. Обоснова- ние и принятие решения по машинному моделированию. 4. Анализ полученных результатов моделирования. В курсовой работе необходимо дать схемы разработанных моделирующих алгоритмов (блок-диаграмм) и распечатки про- грамм, проанализировать этапы отладки и характеристики мо- делирования системы на ЕС ЭВМ. ГЛАВА 2. ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ ПАКЕТА МОДЕЛИРОВАНИЯ ДИСКРЕТНЫХ СИСТЕМ ПМДС § 2.1. Принцип функционирования ПМДС Более подробное рассмотрение данного пакета объясняется недостаточностью в отечественной литературе учебного мате- риала для изучения языков моделирования вообще и языка ими рационного моделирования GPSS в частности [5], а также чрезмерно большим объемом и практической невозможностью использования для целей обучения переводной книги из-за ма- лого тиража [24]. Кроме того, все перечисленные книги ориент и- рованы на старую версию языка моделирования GPSS и не рассматривают возможностей более совершенной версии этого языка, на основе которого реализован и поставляется пользова- телям пакет моделирования дискретных систем ПМДС 2.0 [9-И]. Пакет ПМДС построен в предположении, что моделью с юж- ной дискретной системы является описание ее элементов и ло гических правил их взаимодействия в процессе функционирова- ния моделируемой системы Далее предполагается, что для оп ределенного класса моделируемых систем можно выделить небольшой набор абстрактных элементов, называемых объек- тами. Причем набор логических правил также ограничен и мо- жет быть описан небольшим числом стандартных операций. Комплекс программ, описывающих функционирование объектов и выполняющих логические операции, является основой для создания программной модели системы данного класса. Эта идея и была реализована при разработке ПМДС. Объекты ПМДС подразделяются на 7 категорий и 14 типов (табл. 2.1) и позволяют, с одной стороны, описать их взаимо- действие сравнительно несложными наборами операций, с дру- гой— достаточно просто и наглядно представить процесс функ- ционирования исследуемой системы S, формализуемой в виде Q-схемы ]20[. Для облегчения пользователю процесса построения модели в ПМДС разработан так называемый язык блок-диаграмм (см. 14
приложение 2, где блоки приведены в порядке латинского алфа- вита), позволяющий упростить переход от алгоритма к програм- ме модели системы S. Каждый блок ПМДС имеет свой графи- ческий аналог, с помощью которых отображается пространст- венная конструкция модели, упрощая дальнейшую линеариза- цию программы модели. Таблица 21 Категории ПМДС Типы объектов ПМДС Динамическая Транзакты Операционная Блоки Аппаратная Устройства Памяти Ключи Вычислительная Переменные: арифметические, булевские Функции Статистическая Очереди Таблицы Запоминающая Матрицы ячеек Ячейки Группирующая Списки пользователя Группы Основой ПМДС являются программы, описывающие функ- ционирование выделенного конечного набора объектов, и спе- циальная диспетчеризирующая программа — симулятор, кото- рый выполняет следующие функции, обеспечения заданных программистом маршрутов продвижения динамических объек- тов, называемых далее транзактами (сообщениями); планиро- вания событий, происходящих в модели, путем регистрации времени наступления каждого события и выполнения их в на- растающей временной последовательности; регистрация стати- стической информации о функционировании модели; продвиже- ния модельного времени в процессе моделирования системы. Основные сокращения и обозначения, используемые симуля- тором ПМДС на этапе системного ввода, приведены в прило- жении 3. Динамическими объектами являются транзакты (сообще- ния), которые представляют собой единицы исследуемых пото- 15
ков и производят ряд определенных действий, продвигаясь по фиксированной структуре, представляющей собой совокупность объектов других категорий. Операционные объекты, т. е. блоки, задают по ику функци > пирования модели системы и определяют пути движения транзактов между объектами аппаратной категории. Объекты аппаратной категории — это абстрактные элементы (устройства памяти и логические ключи), на которые может быть декомпозировано оборудование реальной системы Воз- действуя на эти объекты, транзакты могут изменять их состоя- ние и влиять на движение других транзакгив. Вычислительная категория служит для описания таких си- туаций в процессе моделирования, когда связи между компо- нентами моделирхемой системы S наиболее просто и компактно вь лажаются в виде математических (аналитических и логиче- ских) соотношений. Для этих целей в качестве объектов вычис- лительной категории введены арифметические и булевские пе- ременные и функции. К стати'тическим объектам относятся очереди и таблицы, вводимые для оценки характеристик поведения системы. В процессе моделирования системы одни объекты взаимо- действуют с другими, в результате чего происходят изменения атрибутов и преобразование арифметических или логических значений их. Такие преобразования называются событиями. Транзакты моделируют прохождение по системе соответст- вующих единиц исследуемого потока. Такое движение может быть разбито на цепь элементарных событий, происходящих в определенные моменты времени. Основной задачей симулятора ПМДС яз 'яется определение моментов наступления этих собы- тий, расположение их в правильной временной последователь- ности и выполнение соответствующих действий при наступлении каждого события. Чтобы обеспечить правильную последователь- ность обработки событий во времени, в симуляторе ПМДС име- ются «системные часы», храпящие значения абсолютного време- ни модели. Все отрезки времени описываются целыми числами. Поэтому перед составлением модели необходимо провести вре- менное масштабирование для всех временных параметров и ха- рактеристик модели системы. Каждому объекту соответствуют атрибуты, описывающие его состояние в данный момент времени. Значения а грибутов могут быть арифметическими или логическими. Большая часть атрибутов недоступна для программистов. Атрибуты, которые надо адресовать называются стандартными числовыми атрибу- тами (СЧА) (табл. 2.2). Следующие СЧА не связаны только с одним отдельным объ- ектом, а использрстся моделью в целом; С1 — текущее значе- ние относительного времени с начала процесса моделирования; Кп или п — положительная константа: RNX — одно из восьми 16
Таблица 2.2 Типы объектов Символиче- ское обо- значение Диапазон изменения Описание Транзак- ты PF PH РВ PL PR Ml MP ±(23>- 1) ± (2*s-1) ±(27 1) ± (22<-1) 0... 127 ±(2«-l) ±(231—1) Текущее значение параметра (формата F — «слово», II — «полу- слово», В — «байт», L — «плаваю- щая точка») транзакта, обрабаты- ваемого в данный момент Приоритет обрабатываемого трачзакта Транзактиое время Параметрическое транзактиое время Блоки N W 22<—1 2 5—1 Счетчик входов в б.юк Счетчик текущего содержимого блока Памяти F FR FC FT S R SR SA SC ST SM Логические 1 или 0 0... 999 231—1 231—1 23i i 231— 1 0... 999 231—1 23i_i 231—1 231—1 Состояние устройства Коэффициент использования (в долях от 1000) Счетчик входов Среднее время/транзакт Текущее содержимое памяти Число свободных единиц памяти Коэффициент использования (в долях от 1000) Среднее содержимое памяти Счетчик входов Среднее время, транзакт Максимальное содержимое памя- ти Перемен- ные V FV BV ±(23‘—1) IO-’8... 107S 1 или 0 Значение арифметической пере- менной Переменные с плавающей запя- той Значение булевской переменной Функции FN ±(231—1) Значение функции Очереди Q QA QM QC QZ J J J J J Cf> •'I co л? 04 СЧ CS 04 Cl Текущая длина очереди Средняя длина очереди Максимальная длина очереди Общее число элементов в очере- ди Число элементов, не задержан- ных в очереди 17
П риОолжение табл. 2.2 Типы Символиче- Диапазон Описание объектов ское обо- значение изменения QT 231—1 Среднее время пребывания транзакта в очереди QX 231—1 Среднее время пребывания транзакта в очереди без учета ну- левых входов Таблицы ТВ ±(231—1) Среднее значение аргумента таблицы ТС 231—1 Счетчик входов в таблицу TD 231—1 Среднее квадратичное отклоне- ние аргумента Матрицы MX (а. Ь) ±(231-1) Текущее содержание матрицы ячеек МН (а, Ъ) + (215—1) (формата X — «слово», Н — < полу- слово», В — «байт», L — «плаваю- МВ (а, Ь) ±(27—1) -ML (а, Ь) ± (2«-1) щая точка») строка а, столбец b Ячейки XF ±(231—1) Текущее содержание ячейки хн ±(2,s—1) (формата F — «слово», Н — «полу- хв •+-(27—1) слово», В — «байт», L — «плаваю- XL ±(2«-l) щая точка») Группы ° 215 — 1 Число членов группы в текущий момент времени Список СА 2>5—1 Среднее число элементов в спис- пользовате- ке ля СИ 2,s—1 Текущее число элементов в спис- ке см 2 5- 1 Максимальное число элементов в списке сс 231—1 Общее число элементов в списке СТ 231—1 Среднее время пребывания эле- ментов в списке Системные атрибуты RN1 ... R\8 0 ... 0,999999 Случайное число, используемое как аргумент функции 0... 999 Случайное число в других слу- чаях Cl 231—1 Текущее значение относительного времени АС1 231- 1 Текущее значение абсолютного TG 231—1 Содержимое счетчика заверше- НИЯ 18
случайных чисел (1^х^8), значения которых находятся в пре- делах 0.. .999. При написании программ следует помнить об ограничениях на количество объектов в программе, накладываемых объемом оперативной памяти ЭВМ, используемой для моделирования. Ограничения на число объектов каждого типа для транслято- ров, рассчитанных па 128 и 256 К оперативной памяти приведе- ны в табл. 2.3. Возможно увеличение максимально допустимого числа используемых в программе объектов за счет объектов другого типа, не используемых в данной программе. Такое пе- рерас феделение производится с помощью процедуры REAL- LOCATE [9—11]. Таблица 2.3 Типы объектов Стандартное число объектов 128 К 256 К Транзакты 600 1200 Блоки 500 1000 Устройства 150 300 Памяти 150 300 К лючн 400 юге Таблицы 30 100 Функци [ 50 200 Арифметические переменные 50 200 Очереди 150 31 0 Ячейки SA\EVALUE (слово) 400 1000 Ячейки SAVEVALUE (полуслово) 200 500 Ячейки SAVEVALl Е (байт) 400 800 Ячейки SAVEVALUE (плавающая точка) 50 100 Списки пользователя 40 100 Группь 10 25 Булевские переменные 10 25 Матрицы (слово) 10 25 Матриц-.1 (полуслово) 10 25 Матриц ’ 'байт) 10 25 Матрицы (плавающая точка) 10 25 Общая область (байт) 14 400 251 ОН При введении мнемонических обозначений необходимо пом- нить о том, что идентификаторы ПМДС должны содержать не менее трех букв, так как одно- и двухбуквенныс идентификато ры назначаются стандартными числовыми и логическими атри- бутами блоков ПМДС. § 2.2. Основы организации ПМДС В ПМДС имеется два основных типа объектов: транзакты и блоки, относящиеся соответственно к динамической и опера- ционной категориям Практически все изменения состояний мо- 19
дели системы S происходят в р.зультате входа трснзактов в блоки и выполнения блоками своих функций. С блоками непо- средственно связаны: операционные блоки, изменяющие про- цесс моделирования; блоки вывода на печать промежуточных результатов моделирования; карты, управляющие процессом моделирования; карты, управляющие редактированием результа- тов моделирования. Всем блокам ПМДС присваиваются поряд- ковые номера, карты не нумеруются. Транзакты представляют собой описание динамических про- цессов в реальных системах. Они могут описывать реальные физические объекты, например автомобили в оч< реди у бензо- заправочной колонки. Кроме того, транзакты могу г описывать и нефизические (про- граммные) объекты, например канальные программы, порядок выбора в коммутационных схемах и т. д. Транзакты можно «ге- нерировать» и «уничтожать» в процессе моделирования систе- мы S. Основным атрибутом любого транзакта являются его пара- метры, число которых для каждого транзакта может быть от О до 1020 Параметры обозначаются как РХ, где i — номер пара- метра, X — тип параметра (X может принимать значения в за- висимости от форматов: F — «слово», Н — «полуслово», В — «байт», L — «плавающая точка») Использование параметров определяется пользователем ПМДС. Например, при моделировании сети передачи данных программист может резервировать первый параметр для значе- ния длины сообщения, второй для номера источника (терми- на га), вы давшего эго сообщение, и г. д. Важным атрибутом любого транзакта является уровень при- оритета PR, изменяющийся в пределах от 0 до 127. В случае, когда дза транзакта соперничают при занятии данного устрой- ства, сначала обрабатывается тот, у которого приоритет выше. Если приоритеты у обоих транзактов одинаковые, сначала обра- батывается тот, у которого время ожидания обработки больше. В одном задании может выполняться как один, так и несколько прогонов одной модели. При этом текущим значением абсолют- ного времени модели АС1 будет называться суммарное время по зсем реализованным прогонам, а текущим значением относи- тельного времени модели С1—системное время в пределах од- ного прогона. Время, в течение которого транзакт обрабатывается в про- цессе моделирования, обозначается Ml и называется транзит- ным бременем. Оно определяет интервалы времени: 1) с момента относительного времени; 2) с момента прохода транзакта через блок MARK до текущего момента относительно го времени. Параметрическое транзактное время МР„ вычисляется вычи- 20
танисм из текущего момента относительною времени значения n-го параметра данного транзакта типа РХ Перечислим все блоки ПМДС и остановимся более подроб- но на тех, которые понадобятся для составления программ при выполнении курсовой работы. Блоки ПМДС используются для описания функций модели- руемой системы S и управляют движением транзактов. Практи- чески все изменения состояния модели системы S возникают в результате поступления транзактов в соответствующие блоки и выполнения подпрограмм, связанных с этими блоками. После выполнения соответствующей похпрограммы транзакт либо про должает движение к следующему блоку, либо задерживается на некоторое время в блоке. У каждого блока имеется два СЧА: — счетчик входов в блок или ожидающий счетчик, который содержит в себе номер текущего транзакта, находящегося в блоке п\ Nn— общий счет- чик транзактов, поступивших в блок с начального момента мо- делирования или с момента обнуления (с помощью карт RESFT либо CLEAR). Оба счетчика меняют свое содержимое автома- тически. В зависимости от назначения блоки подразделяются на не- сколько групп. 1. Блоки, осуществляющие модификацию атрибутов транзак- тов: а) временная задержка ADVANCE; б) генерирование и уничтожение транзактов GENERATE, TERMINATE, SP] IT, ASSEMBLE; в) синхронизация движения нескольких транзак- тов MATCH, GATHER; г) изменение параметров тр; н тактов ASSIGH, INDEX, MARK; д) изменение приоритета PRIORITY. 2. Блоки, изменяющие последовательность передвижения транзактов (блоки передачи управления): TRANSFER, LOOP, TEST, GATE. 3. Блоки, связанные с группирующей категорией: JOIN, REMOVE. EXAMINE. SCAN, ALTER. 4. Блохи, организующие использование объектов аппаратной категории: а) устройства (технические средства) SEIZE, RE- LEASE, FA VAIL, PREEMPT, PETURN, FUNAVAIL, б) памяти (запоминающие устройства) ENTER, LEAVE, SAVAIL, SUNA- VAIL, в) ключи (логические переключатели) LOGIC. 5. Блоки, сохраняющие необходимые значения для дальней- шего использования: SAVEVALUE, MSAVEVALUE 6. Блоки, обеспечивающие получение статистических резуль- татов: а) очереди QUEUE, DEPART; б) статистические таблицы TABULATE, TABLE 7. Специальные блоки BUFFER, PRINT. EXECUTE, COUNT’X’, CHANGE, TRACE, UNTRACE, SELECT’X’. HELP. 8. Блоки для организации целей LINK, UNLINK 9. Вспомогательные блоки WRITE, SAVE, LO..D. REPORT, UPDATE. 21
§ 2.3. Особенности построения моделей с помощью средств ПМДС При списании схем алгоритмов посредством языковых средств ПМДС используются четыре типа карт: 1) карты опи- сания блоков; 2) карты описания объектов; 3) управляющие карты; 4) управляющие карты системы. Каждый блок опреде- ляется с помощью отдельной карты, имеющей определенный формат. Номер блока помещается в «поле метки». Обычно но- мера на картах не записывают, поскольку симулятор ПМДС пи мере обработки входных карт приписывает им последователь ные номера. Однако если пользователь хочет производить обра- щения к какому-либо блоку, то удобно разместить в этом поле мнемонический символ. Таким образом, в дальнейшем в блок- диаграмме можно обращаться к данному блоку, пользуясь соот- ветствующим символом. В программе на языке ПМДС каждый оператор (блок) за- писывается в следующем формате: Поте метки Символический ад- рес блока Поле операции Наименование типа блока Поле операндов Аргумент А, аргу- мент В и т. д Запись начинается с 1-й позиции, а поля разделяются про- белами. Отсутствие метки также обозначается пробелом. Методы структурного программирования требуют наличия комментариев к каждому оператору (группе операторов). В ПМДС имеется ряд средств для внесения комментариев в те- ло npi граммы. Во-первых, наличие символа (>}<) в первой колон- ке указывает на то, что карта содержит только комментарии и не будет просматриваться транслятором. Во-вторых, появление пробела в списке операндов означает окончание списка и нача- ло комментария. Информация, следующая после пробела в по- ле операндов, может содержать любые символы русского и ла- тинского алфавитов и не подлежит просмотру транслятором. Вид блока указывается в «поле операции», где записывают- ся аргументы блока. Это поле состоит из девяти частичных по- лей, помеченных буквами А, В, ... I и разделенных друг от дру- га запятыми. Если некоторое частичное поле остается пустым, т. е. не нужен соответствующий аргумент, это отмечается еще одной запятой, например: PRINT,, MOV. Здесь используется только аргумент MOV в частичном поле С (А и В пустые). В качестве значений, записываемых в у казанные частичные поля (А... 1). можно использовать: а) некоторый СЧА: б) поло- жительную константу Дп; в) специальные обозначения, опреде- ляющие режим (например, ALL для блока TRANSFER); г) оп- ределенные СЧА (только Х„, Vn и т. д.). 22
В дополнение к различным картам блоков и каргам-иписа- ниям для задания дополнительной информации симулятору ПМДС требуются определенные управляющие карты. Карта SIMULATE. Если нужно провести счет по составлен ной модели системы, то в колоде должна быть карта S1MU LATE Допускается две формы заполнения этой карты: SIMU- LATE и SIAAUH.ATE пг, где т — число минут машинного време- ни, по истечении которого моделирование будет прекращено. Например, оператор SIMl LATE5 определяет длительность сче- .а модели, равную 5 мин По истечении этого времени модели- рование прекращается и на печать выдается накопленная к этому моменту статистическая информация. Если карты SIMU- LATE в ко юде нет, го работа (JOB) бу 1ет закончена после окончания ассемблирования. Карта START. Эта карта показывает симулятору ПМДС, что все входные данные уже получены и можно начинать счет. Поле А определяет число транзактов, которые должны прой- ти через систему до выдачи окончательной статистики, называе- мой счетчиком числа завершений и обозначаемой TG1. Счет заканчивается в тот момент, когда TGl<0. Значение TG1 умень- шается на величину, заданную в поле А блока TERMINATE, при каждом входе сообщения в этот блок. Если требуется за- кончить моделирование после прохождения через модель 1000 транзактов, выводимых с помощью карты TERMINATE с единицей в поле А, то в поле А карты START записывается число 1000. Например: START 1000 Поле В карты START может бы гь использовано для блоки- рования выдачи статистики в конце счета. Для этого нужно за- писать в поле В мнемоническое обозначение N'P. При наличии такой записи в поле В сбор статистической информации в про- цессе счета не прекращается, блокируется только печать собран- ной информации по окончании счета. Если поле В пусто, печать происходит как обычно. Эта возможность часто полезна в том случае, когда модель запускается, но пользователь не хочет собирать статистику о начальном периоде счета. В этом случае за первой картой START следует вторая с несколько большим значением счетчика завершения для обычного счета с выдачей информации. Например, если требуется выдавать результаты моделирования через 400 и 600 единиц воемени, то можно ис- пользовать следующий программный сегмент: GENERATE 200 TERMINATE 1 START 1,NP START 2..1 Пеле С карты START можно использовать для задания ин- тервала промежуточных выдач статистик. Счетчик интервала 23
уменьшается на то же число единиц, что и счетчик завершения. Когда значение этого счетчика становится равным нулю или отрицательным, то производятся выдача статистики в обычном формате и восстановление счетчика, после чего счсг продолжа- ется. Например, если требуется остановить модель через 600 еди- ниц времени и через каждые 200 единиц выдавать результаты, то можно записать следующий программный сегмент: GENERATE 200 TERMINATE 1 START 3„1 Поле D может содержать указание на то, что при выдаче ин- формации (как в конце выдачи промежуточных результатов, так и в конце счета) нужно распечатывать списки текущих со- бытий, будущих событий, список прерывании, а также списки пользователя. Значение «1» в поле D указывает на го. что поль- зователю нужна печать списков. В противном случае поле остав- ляют незаполненным. Пример 2.1. Построить программу модели процесса прохождения 500 де- талей, поступающих в промежутке времени 11 ±5 единиц, распределенном по равномерному закону. Детали обрабатываются одним рабочим в течение 10_Е7 единиц времени, распределенного по равномерному закону После прохожде- ния ЗСО деталей требуется выдавать статистику с интервалом в 25 деталей. Программа имеет вид (здесь и в других примерах моделирования справа дается комментарий): SIMULATE Начать имитацию GENERATE 11,5 11вступление деталей SEIZE 1 Запуск ADVANCE 10,7 Обработка RELEASE 1 Выпуск TERMINATE 1 START 275.NP Прогон без статистики START END 225„25 Интервальные статистики Пользователю может понадобиться провести серию просче- тов, т. е. несколько просчетов один за другим. Для облегчения задания такого режима введены три типа управляющих карт, в различной степени возвращающих модель к исходному состоя- нию: карта RESET, стирающая всю накопленную статистику карта CLFAR, которая стирает всю статистику и все транзакты, и карта JOB, стирающая всю статистику, все транзакты и все блоки. Карта RESET. Результатом действия этой карты является то, что стирается вся статистическая информация, накопленная в процессе моделирования. Счетчики числа входов в блоки сбра- сываются до «0», но содержимое счетчиков ожидания не изме- няется. Коэффициенты использования устройств сбрасываются до «0», счетчики чиста входов в устройство устанавливаются в соответствие с текущим состоянием устройства. Счетчик равен «0», если устройство свободно, «1» — если оно занято или обслу- 2i
живание сообщения прервано, и «2» — если устройство занято и обслуживает прерывание. Коэффициенты использования па- мятей также сбрасываются до «О», а счетчики числа входов в память устанавливаются в соответствие с текущим содержимым каждой памяти. Коэффициенты использования очередей сбрасы- ваются до «О», и счетчики числа входов устанавливаются рав- ными текущей длине соответствующих очередей. Счетчики всех пулевых задержек сбрасываются до «О», а максимальные зна- чения длины очереди устанавливаются равными текущей длине очереди. Все счетчики числа наблюдений интервалов таблиц, все средние значения и т д. также сбрасываются до «О». Содер- жимое ячеек SAVEVALLE и состояние логических переключа- тетей не изменяются. Датчик случайных чисел не возвращается к исходному числу. Пользователь может также задать объекты (устройства, па- мяти, очереди и др.), атрибуты которых останутся без измене- ния после выполнения операций, соответствующих карте RESET. Пример 2.2. Построить программу модели процесса прохождения деталей, поступающих через интервалы времени, распределенные равномерно в проме- жутке 7... 11 единиц. Детали направляются к одному рабочему, обрабаты- вающему их со временем 8±3 единицы, распределенным по равномерному за- кону Прохождение деталей моделируется по трем интервалам, каждый на 480 единиц времени. После каждого интервала выдается вся статистика, за- тем вся информация стирается, кроме содержимого устройства и информации о нем. Для этого примера программа имеет вид; SIMULATE GENERATE 9,2 SEIZE OBR ADVANCE 8.3 RELEASE OBR TERMINATE GENERATE 480„480 TERMINATE 1 START 1 RESET Fl START 1 RESET Fl START 1 Начать моделирование Генерация деталей Запуск на обработку Обработка Окончание обработки Прогон 1 Прогон 2 Прогон 3 Карта CLEAR. В результате действия этой карты стирается вся накопленная в процессе моделирования статистика и из системы удаляются все транзакты. Счетчики числа входов и счетчики ожидания всех блоков сбрасываются до «0». Коэффи- циенты использования всех устройств и счетчики числа входов сбрасываются до «0» и все устройства переводятся в состояние «не занято». Коэффициенты использования памятей, счетчики числа входов и текущее содержимое сбрасываются до «0» для всех памятей. Коэффициент использования очередей, счетчики числа вхо- дов, счетчики числа нулевых задержек, текущая и максималь- ная длина очереди сбрасываются до «0». Стирается вся инфор- 25
мация в таблицах и ячейках SAVEVALUE. Все логические переключатели устанавливаются в «О», из системы удаляются все транзакты, а абсолютное и относительное время устанавли- вается в «О». Затем запускаются все блоки GENERATE На- чальные интервалы задержки, заданные в поле С блоков GENE- RATE, отсчитываются после завершения операций карты CLEAR. Счетчикам пределов, заданным в поле D, присваива- ются их исходные значения. Работа этих счетчиков также начи- нается после выполнения операций карты CLEAR. Операции этой карты производятся в момент ее появления, причем дейст- вие карты CLEAR на следующие за ней карты входной колоды не распространяется. Перед первой картой START модели кар- та CLEAR не нужна. Датчик случайных чисел не возвращается к исходному числу. В ПМДС операции карты CLEAR расширены для того, что- бы пользователю дать возможность указать отдельные ячейки SAVEVALUE (или ряд таких ячеек), значения которых не бу- дут стерты картой CLEAR. Пример 2.3. Построить программу модели процесса прохождения дета- лей, поступающих со временем, распределенным равномерно в интервале 12... 24 единицы Детали обрабатываются одним рабочим со временем 16±3 еди- ницы, распределенным по равномерному закону. Прохождение деталей моде- лируется по четырем интервалам на 480 единиц времени каждый. Подсчиты- вается количество деталей, изготовленных в каждом интервале времени, и на- растающая сумма изготовленных деталей по всем интервалам. После каждого интервала требуется вывод статистической информации о модели. Моделиро- вание в интервалах производится независимо друг от друга. Для приведен- ного примера программа имеет вид: SIMULATE Начало моделирования GENERATE 18.6 Поступление деталей SEIZE 1 Запуск деталей ADVANCE 16,3 Обработка RELEASE I Выпуск деталей SAVEVALUE l+.l.XH Интервальная сумма SAVEVALUE 114 ,1,XH Общая сумма TERMINATE 1 START 1 Интервал 1 CLEAR XH11 START 1 Интервал 2 CLEAR XH11 START 1 Интервал 3 CLEAR XH11 START 1 Интервал 4 Карта JOB. Эта карта должна помещаться между последова- тельными рабочими вычислениями, являющимися частями од- ной работы. Она выполняет все функции карты CLEAR, а так- же стирает все описания блоков, функций, переменных, таблиц и памятей. Перед первой работой карта JOB не нужна. Карта JOB возвращает датчик случайных чисел к исходному числу. Пример 2.4. Построить программу модели процесса прохождения деталей, поступающих на склад, а затем со склада на обработку к одному рабочему 26
со временем 20:E12 единиц, распределенным по закону равномерной плотно- сти. Время обработки 19 15 единиц распределено по равномерному заксну. Определить коэф4 нциенты занятости рабочего для двух миделей: первая — без ограничс (ия мест на складе, вторая--с ограничение*! (два места). Би второй модели поде читывается количество отказов. Промоделировать прохождение 100 деталей в каждой модели. В этом случае программа имеет вид: SKL SIMULATE STORAGE GENERATE 20.12 Начало первой модели ENTER SKL SEIZE OBR LEAVE SKL ADVANCE 19.15 RI I FASE TERMINATE OBR 1 START 100 Запуск первой модели SKL JOB S FORAGE 2 Начало второй модели GENERATE 20,12 GATE SNF SKL,FINAL ENTI R SKL SEIZE OBR LEAVE SKL ADVANCE RELEASE TERMINATE 19,3 OBR 1 FINAL SAVEVALUE TERMINATE 2--.LXH 1 START END 100 Запуск второй модели Карта END. Эта карта указывает на конец входной колоды, в которой может содержаться несколько работ. Во входной колоде должна быть только одна карта END. Когда симулятор ПМДС доходит до этой карты, он автоматически передает уп- равление супервизору системы. В языке ПМДС используется символическая и косвенная адресация. Любым объектам программы (блокам, устройст вам, памятям) можно дать символические имена. Нумерацию блоков производит симулятор ПМДС. Разным объектам можно давать одно и то же имя. Например: QUEUE С. [AN SEIZE ( HAN Возможности языка расширяет косвенная адресация и кос- венное описание, в которых используются индексы, применяе- мые в качестве номера п аргумента блока и в качестве индекса п СЧА, указываемого в некоторой из карт описания. Например: Q10-—текущее содержимое очереди 10; S9— текущее содержи- мое памяти 9; FN2 — значение функции 2. Для записи индекса надо использовать знак «>{<» и число после него. Индекс определяется значением параметра Рп транзакта, номер которого записан после Например: SEIZE А6 27
(т. е. занять устройство, индексный номер которого записан в параметре 6); Q *3 (т. е. текущее содержимое очереди, индексный номер которой записан в параметре 3). Косвенная адресация и косвенное описание могут быть ис- пользованы совместно и порознь практически для любых аргу- ментов различных типов блоков. Не могут быть описаны кос- венно следующие аргументы: модификатор блока ADVANCE; номер параметра; приращение блока INDEX; мнемонические обозначения нижнего и верхнего предела блока PRINT; режим работы (допустимы только стандартные мнемонические обо- значения); а также следующие блоки полей В и С в режиме ALL блока TRANSFER; начальный интервал задержки; счетчик числа генерируемых данным блоком транзактов; приоритет; модификатор олока GENERATE. § 2.4 Общие сведения об объектах ПМДС Для описания некоторых характеристик отдельных объектов ПМДС (например, емкости памяти, переменных операторов, па- раметров таблиц) используются карты описания объектов. Фор- мат этих карт подобен формату карт описания блоков. ПМДС оперирует с тремя типами объектов аппаратной кате- гории: устройствами, памятями и логическими ключами. Устройства. Эти объекты аппаратной категории ПМДС применяются для описания таких элементов, которые могут ис- пользоваться только одним транзактом в данный момент време- ни. Каждое устройство предполагает использование четырех СЧА (см. табл. 2.2). Кроме того, каждое устройство имеет шесть стандартных логических атрибутов (СЛА): FUn— истина, если устройство используется, т. е. занимается посредством блока SEIZE или посредством блока PREEMPT; FNUn — истина, если устройство не используется ни блоком SEIZE, ни PREEMPT; FIn — истина, если устройство занимается с помощью блока PREEMPT; FNIn — истина, если устройство не занимается блоком PREEMPT; FVn — истина, если устройство доступно; FNVn— истина, если устройство недоступно. Памяти. Эти объекты ПМДС описывают такие устройства, которые обслуживают одновременно несколько транзактов. По- средством этого объекта можно представить, например, очередь людей у кассы; рейд, где корабли ожидают освобождения места для разгрузки в порту, и т. д. Каждой памяти присущи семь СЧА (см. табл. 2.2). Емкость каждой памяти определяется в начале процесса испытаний модели с помощью карты STORAGE. Используются 28
два формата — для определения одной или нескольких памятей. Например: 1 STORAGE 237 (в «поле метки» записывается номер памяти, а в «поле операн- дов»— объем этой памяти). STORAGE Sl,100..S2,200 («поле метки» пустое, а в «поле операндов» описываются памяти и их емкости). Емкости описываются по следующим правилам: 1) номер памяти обозначается через СЧА Sn; 2) номер памяти отделяется от значения ее емкости запятой; 3) несколько памятей одной и той же емкости могут определяться одним значением, их номера разделяются знаком «—»; S1—S10, 100; 4) отдельные значения емкости разделяются знаком «/». Каждый объект типа «память» использует шесть СЛА: SEn — истина, если память пуста, т. е. Sn=0, Rn— вся емкость; SNEn истина, если Sn>0, Рп<емкость; SFn—истина, если Sn — вся емкость, Rn=0; SNFn— истина, если Sn<; емкость, Rn>0; SV — истина, если память доступна; SNV — истина, если память недоступна. Ключи Эти объекты используются для описания двоичных состояний логического или физического характера В процессе работы модели один транзакт может установить ключ в опреде ленное положение, другой может изменить его состояние, а тре- тий - использовать это состояние при принятии определенных решений. С этим объектом связаны два СДА: LRn — истина, если ключ п выключен, и ложь, если он включен; LS,, —истина, если ключ п включен, и ложь, если он выключен. В вычислительной категории ПМДС используются объекты трех типов: арифметические переменные, булевские переменные и функции. При построении модели некоторой системы S необ- ходимо выразить арифметические и логические соотношения между атрибутами. Для этого используются арифметические и булевские переменные, которые представляют стандартными числовыми атрибутами V и BV. Арифметические переменные. Эти объекты ПМДС подобны переменным в языке ФОРТРАН, т. е. представляются посредством арифметических выражений, включающих в себя различные стандартные числовые атрибуты, а также другие переменные. Арифметические переменные бывают с плавающей и фиксированной запятой. Для обозначения алгоритмических операторов используются пять символов: « + »—алгебраическое суммирование; « » — алгебраическое вычитание; «>)<»— алгебраическое умножение; «/» — алгебраическое деление; ® — деление по модулю. Все 29
указанные действия в выражении осуществляются по тем же пра- вилам и в том же порядке, как, например, в языке ФОРТРАН. Каждый элемент вычисляется и ограничивается до арифметиче- ской операции. Деление на 0 не считается ошибкой (результат при этом разен 0). В карте описания VARIABLE «поле метки» содержит имя переменной, которое обозначается индексом номера или симво- лом. В «поле операндов» не допускаются пробелы (первый про- бел означает конец выражения), нет ограничений на количество чисел, но последнее число должно кончаться в колонке 71. Если выражение не помещается па одной карте, то используют не- сколько карт с дополнительным определением вспомогательных переменных. Например: 10 VARIABLE Q9+3- P7*FN3 где переменная 10, которая обозначается V10, вычисляется добавлением к длине очереди 9 (Q9) константы 3 и вычитанием результата произведения параметра 7 (Р7) текущего транзакта на функцию 3 (FN3). При арифметических переменных с плавающей запятой от- дельные элементы и промежуточные результаты не округляют- ся Округляется только конечный результат. Например: 1 FVARIABLE 10(11/3) 1 VARIABLE 10(11/3) где первая переменная с плавающей запятой равняется 36, т. е. произведение 3,67-10=36,7 ограничивается до 36, а вторая пере- менная равна 30, г. е. 3,67 ограничивается до 3 и умножается на 10 Булевские переменные. Эти переменные могут быть представлены комбинациями стандартных числовых атри- бутов, связанных между собой посредством булевых операторов, включая и другие переменные. Булевские переменные определя- ются так же, как и арифметические, но вместо арифметических операций проверяются различные логические условия. Сущест- вуют три липа операторов: логические, условные и булевские. Логические операторы используются для определения состоя- ния объектов аппаратной категории и рассматриваются при описании стандартных логических атрибутов «устройств» и «па- мятей». Например: 3 BVARIABLE FNI2 4 BVARIABLE SF2 где булевская переменная 3 (ВУЗ) равна 1, если устройство 2 не занимается блоком PREEMPT, а булевская переменная 4 равна 1, если память 3 заполнена. Условные операторы сравнивают алгебраические операнды, которые могут быть константами либо СЧА: G — больше; L — 30
меньше; Е— равно; NE— не равно; LE — меньше либо разно; GE -больше либо равно. Например: И BVARIABLE V2'G'5 [здесь BVU равна 1, если V2>5). Булевские операторы обозначают следующие: «>)<» — И. Например: 7 BVARIABLE «+» — ИЛИ; (V2'6’7)*(FNJt+LR7) (т. е. BV7 равна 1, если V2>7 при не занято блоком PREEMPT LR7 вклю юн). или устройство 2 условии, что логический переключатель а) f) (*5. У5) , <w (*^0 О (A5.yJ Рис. 2 I Основные функции ПМДС Функции. Как и переменные, функции не связаны с опреде- ленными блоками. Существует пять типов функций: 1) непре- рывные числовые значения Сп; 2) дискретные числовые значе- ния D,;; 3) перечень числовых значений L,,; 4) дискретные зна- чения атрибутов Е„; 5) перечень значений атрибутов М„ На рис. 2.1 показаны первые три типа функций, являющиеся основ- ными. Каждая функция определяется посредством карты, имею- щей вид Метка Операция А В j FUNCTION Arg Сп В поле А определяется аргумент функции Arg, который мо- жет быть СЧА. В поле В указываются тип функции и число точек, для которых вычисляется функция. Каждая карта FUNCTION сопровождается картами, содер- жащими значения отдельных точек функции <пары X,- и Y,). Каждая.из этих карт может содержать шесть пар X, и Y,-, рас- положенных на 12 шестисимвольных полях. Например функции, показанные на рис. 2.1, а, б, можно представить следующим образом: а) Метка Операция 1 FUNCTION RN1.C6 X1,Y1/X2,Y2/X3,Y3/X4,Y4/X5,Y5/X6,Y6 31
б) Метка Операция 2 FUNCTION RN2.D5 X1,Y1/X2,Y2/X3,Y3/X4 Y4/X5.Y5 Значения Хг и Y, могут быть нецелыми числами. Значения X должны удовлетворять условию Xt<Y,+1. Пользователь может представить координаты функции в свободном формате, а не по шесть на каждой карге. Для этою нужно, чтобы: I) первое число начиналось с колонки 1; 2) по- следнее число кончалось до или в 71-й колонке; 3) координаты X,- и Y; отделялись друг от друга запятой; 4) пары координат отделялись друг от друга знаком «/'». Например; 15 FUNCTION RN8.C4 0,0/.5,12/.68,15/1 0,20 Генерация случайных чисел з ПМДС имеет следующие осо- бенности. Все случайные равномерно распределенные числа, используемые в ПМДС, получаются в результате расчета, кото- рый исходит из набора восьми основных чисел, называемы\ исходными. Пользователь может задать любое из этих чисел (RN1, ..., RK.8). В случаях, когда обращение к датчику случай- ных чисел подразумевается, используется RN1. Начальные зна- чения и, следовательно, последовательности псевдослучайных чисел, получаемые во всех системных датчиках (RN1, .... RX8), одинаковы Для получения различных последовательностей необходимо изменять их начальное значение В статистической категории ПМДС используется два типа объектов: очереди и таблицы. Очереди. Транзакт помешается в очередь в том случае, когда некоторое устройство не в состоянии обслужить его не- медленно (например, устройство занято, либо память перепол- нена). Статистические данные об очередях могут быть полечены в разных точках модели. Для изменения глины очереди в вы- бранных точках размещается два типа блоков: блок QUEUE и блок DEPART. Блок QUEUE может быть помещен перед любым блоком диаграммы, в котором может возникнуть задержка. При этом транзакты увеличивают длину очереди при входе в блок QUEUE и уменьшают ее при входе в блок DEPART. В ПМДС транзакт может входить в несколько блоков QUEUE одновре- менно. Каждая очередь имеет семь стандартных числ )вых атри- бутов (см. табл. 2.2). Таблицы. Статистические таблицы используются для получения частотных распределений определенных аргументов, которыми могут быть некоторые СЧА (например, времени за- держки транзакта в модели в целом или в отдельных ее частях; длин очередей; содержимого памяти и т. д.). У каждой таблицы имеются определенные области значений аргумента. Число попаданий аргумента в каждую из этих областей регистрирует- 32
ся. В конце эксперимента с моделью результаты в таблицах выводятся на печать. С помощью карты TABLE пользователь определяет аргумент и области частотных TABLE имеет следующий формат: интервалов. Карта Габули- Верхняя Размер Метка Операция руемый граница интерва- Количе- ство ин- аргумент первого ла тервалов интерва- ла Л В С D j TABLE СЧА, СЧА-„ СЧА*- СЧА‘- Кп Кп Кп RT IA Знак «—» после СЧА показывает, что используется разност- ный режим. Табулируемый аргумент RT указывает на режим «RT», a IA — на режим «1А». Каждая таблица имеет три СЧА (см. табл. 2.2): ТВП — сред- ние значения аргумента, которые накапливаются в таблице с последней карты RESET или CLEAR; TDn — стандартное откло- нение, равняющееся корню квадратному из дисперсии аргумен- тов; ТС„ — счетчик входов в таблицу, т. е. общее число табули- рованных аргументов. Объекты запоминающей категории (ячейки и матрицы; обес- печивают обращения к сохраняемым значениям Ячейки. Эти объекты используются в модели для сохране- ния отдельных значений СЧА, чтобы в дальнейшем можно было обращаться к ним. Для этого необходимо резервировать ячейки оперативной памяти ЭВМ, в которых эти значения будут хра- ниться посредством карты SAVEVALUE. При принятии опреде- ленных решений отдельные транзакты могут обращаться к этим ячейкам и использовать хранящуюся в них информацию. Ячейка SAVEVALUE может сохранять числовое значение в размере формата «слова», «полуслова», «байта», «плавающей точки» в зависимости от ее типа. Ячейкам SAVEVALUE каждо- го типа соответствует один СЧА (см. табл. 2.2). Перед входом в блок SAVEVALUE никакие специальные условия не проверяются, поэтому в этот блок может войти любой транзакт (т. е. он не может быть задержан на этом блоке). Поле А интерпретируется как номер ячейки SAVEVALUE, значение которой изменяется в результате прохождения блока. На ячейки SAVEVALUE можно ссылаться, можно изменять их содержимое. Для рационального использования оперативной памяти ЭВМ формат ячейки SAVEVALUE должен согласовы- ваться с записываемым значением. Занесение сохраняемых зна- чений осуществляется с помощью блока SAVEVALUE. 2—1559 33
В поле В задается значение, которое надо записать в данную ячейку. Ячейки SAVEVALUE могут иметь символические имена. Например: SAVEVALUE PROCE,PH2,XH (т. е. значение параметра 2 транзакта, вошедшего в блок SAVEVALUE, записывается в ячейку SAVEVALUE с именем PROCE формата «полуслово»). Или SAVEVALUE ХВ4 12.ЮХН (где блок SAVEVALUE записывает число 10 в ячейки формата «полуслово», начиная с той, номер которой записан в ячейку формата «байт», и кончая ячейкой 12-го формата «полуслово». Число, записанное в ячейке 4, должно быть меньше 12, иначе заданный диапазон номеров окажется ошибочным) Формат ячейки SAVEVALUE задается в поле С. Допускают- ся следующие записи: X, XF, или пробел (ячейка формата «слово», Н или ХН (ячейка формата «полуслово»), ХВ (ячейка формата «байт») и XL (ячейка формата «плавающая точка»). Если записываемое значение превышает максимально допусти- мое для ячейки SAVEVALUE данного формата, выдается преду- преждающее значение. Например: SAVEVALUE НТОТ+56.ХН (т. е. в ячейке SAVE VALUE формата «полуслово» с именем НТОТ записывается число 156); SAVEVALUE RLCLK.Cl.XF (когда текущее значение условного времени записывается в ячейку SAVEVALUE формата «слово»); SAVEVALUE QUELN,Q*PB10,XF (т. е. длина очереди, определяемой параметром 10 формата «байт», записывается в ячейку формата «слово» с именем QUELN). Содержимое ячеек SAVEVALUE можно изменить заменой, добавлением и вычитанием значений. Если за номером ячейки в поле А стоит знак « + », значение, записанное в поле В, добав ляется к текущему содержимому ячейки. Знак «—» определяет вычитание значения, записанного в поле В, из текущего содер- жимого этой ячейки. Отсутствие символа означает замену содер- жимого. Например: SAVEVALUE GROSS,V G RSIT.XF (т. e. текущее содержимое ячейки GROSS, формата «слово» за- меняется значением переменной RSLT); 34
П SAVEVALUE GROSS-p.V RSLT.XF (в этом случае значение переменной RSLT добавляется к теку- щему содержимому ячейки GROSS). Матрицы. Эти объекты дают возможность упорядочить значения, которые нужно сохранить в виде матриц тХп, где т — число строк; п— число столбцов. Пользователь может оп- ределить число строк и столбцов, а также размер информации, которая будет храниться (формат «слово», «полуслово», «байт», «плавающая точка») с помощью карты MATRIX. С этим типом объекта связаны СЧА (см. табл. 2.2). К группирующей категории относятся два типа объектов: списки и группы Списки. Транзакты ПМДС хранятся в списках. Существу- ет пять видов списков, в одном из которых в любой момент времени может находиться транзакт: 1) текущих событий; 2) будущих событий; 3) пользователя; 4) прерываний; 5) син- хронизируемых транзактов. В списке текущих событий транзакты расположены в поряд- ке убывания приоритета; внутри класса транзактыс одинаковы- ми приоритетами располагаются в порядке поступления их в список. Каждый транзакт в списке текущих событий может на- ходиться либо в активном состоянии (т. е. просматриваться в данный момент условного времени), либо в состоянии задержки. Если транзакт находится в активном состоянии, то процеду- ра, осуществляющая просмотр, пытается продвигать его к сле- дующим блокам диаграммы. Если движение транзакта блоки- руется каким-либо объектом аппаратной категории, т. е. вход в следующий блок выполнить невозможно, то он переводится в состояние задержки. Часть списка текущих событий для транзактов, ожидающих изменения состояния объектов аппаратной категории, представ- ляют собой списки задержки. Существует четыре вида списков, связанных с устройствами (устройство занято, свободно, обслу- живает прерывание, работает без прерываний), пять видов, свя- занных с памятями (память заполнена, не заполнена, пуста, не пуста, транзакт может войти в память), и два — с логическими ключами (ключ установлен, ключ сброшен). Таким образом, заблокированный транзакт (например, в блоке SEIZE из-за занятости устройства) будет переведен в состояние задержки и помещен в список задержки «устройство занято» для данного устройства. Когда другой транзакт осво- бодит устройство, все транзакты списка задержки «устройство занято» для данного устройства будут переведены в активное состояние, и симулятор ПМДС отметит, что произошло измене- ние состояния устройства. Как только завершается обработка 2* 35
активного транзакта, запускается процедура просмотра, и все транзакты, получившие возможность двигаться, в результате изменения состояния устройства будут продвинуты. То же проис- ходит с любым из перечисленных выше списков задержки в мо- мент, когда соответственно изменяется состояние объекта аппа- ратной категории. Пользователю следует учитывать, что для транзактов, забло- кированных в блоке TEST или пытающихся выйти из блока TRANSFER (в режимах BOTH, ALL), списков задержки не существует. В этих случаях транзакты остаются в активном состоянии в списке текущих событий и участвуют во всех про- смотрах. Список будущих событии содержит транзакты, у которых намеченное время начала движения больше, чем текущее. Такие транзакты размещаются в списке строго в порядке возрастания времени начала движения, т. е. транзакт, время начала движе- ния которого является ближайшим к значению текущего време- ни, состоит в списке первым, а транзакт с максимальным време- нем начала движения — последним. Приоритеты не влияют на порядок транзактов в этом списке Список пользователя содержит транзакты, удаленные поль- зователем из списка текущих транзактов с помощью блока LINK. Список прерываний содержит транзакты, обслуживание которых прервано на одном или более устройствах. 1ранзакты в списке прерываний расположены в порядке поступления. Этот список никогда не обрабатывается как списковая структура; транзакты по мере надобности заносятся в этот список и извле- каются из него. Все транзакты, захватившие устройства (пройдя блок SEIZE) и прерванные другими транзактами (прошедшими блок PREEMPT), помещаются в этот список до тех пор, пока не будут сняты все условия прерываний. Если условия прерыва- ния не снимаются, транзакт может оставаться в списке преры- ваний неопределенно долго. Список синхронизируемых транзактов содержит транзакты, которые ожидают в блоках ASSEMBLE или GATHER прихо- да заданного числа транзактов из той же группы: находятся в блоках MATCH в ожидании поступления транзакта той же группы на сопряженный блок MATCH. Этот список также ни- когда не обрабатывается как списковая структура и представ- ляет собой поднабор набора транзактов. Группы. В некоторых моделях систем транзакты представ- ляют собой объекты, характеризующиеся общими атрибутами, которые обычно представляются как параметры транзакта и меняются при прохождении транзактов через блок ASSIGN. Однако это дает ограниченный доступ к атрибутам, а иногда приходится менять некоторые атрибуты всех транзактов данной совокупности. 36
Объекты такого типа предоставляют возможность пользова- телю обращаться к атрибутам транзактов данной гриппы. Они работают в одном из режимов- в режиме транзакта или число- вом. Режим определяется первым обращением к определенной группе. Г >сле того, как режим установлен, его необходимо под держивагь. В режиме транзакта величины, поступающие в груп- пу, представляются номерами пи очереди транзактов данной группы. В другом режиме поступающие величины представля- ются списком числовых значений. § 2.5. Блоки, связанные с динамической категорией К динамической категории ПМДС относятся транзакты, ко- торые в процессе моде, шрования создаются, размножаются, собираются и уничтожаются. Каждому транзакту соответствует набор параметров, число которых может достигать 1029 Если число параметров не определено, то вводится 12 параметров формата «полуслово» для каждого i ранзакта. Параметры могут иметь формат: «слово», «полуслово», «байт», «плавающая точ- ка». Транзактам присваивается приоритет от 0 до 127. Если приоритет не назван, то он принимается равным минимальному приоритету, т. е. 0. С динамической категорией ПМДС связаны следующие груп- пы блоков: 1) задержки транзактов по заданному времени; 2) создания и уничтожения транзактов; 3) изменения парамет- ров транзактов; 4) создания копий транзактов; 5) синхрониза- ции движения транзактов. 1. Группа блоков задержки транзактов по заданному време- ни. Из четырех типов событий, которые могут произойти при прохождении транзакта через блок, простейшим является за- держка транзактов в течение определенного периода времени. Задать его можно только в блоке ADVANCE. Этот блок задает среднее время выполнения операции в моделируемой системе S, а также разброс времени относительно среднего. В блоке произ- водится определение числа единиц времени, на которое транзакг будет задержан. Это время может выражаться любым целым положительным числом, в том числе и нулем. Если время рав- но 0, то транзакт в блоке ADVA NСЕ не задерживается и пере- ходит в следующий блок блок-диаграммы. Для задания времени пребывания в блоке ADVANCE поль- зователь указывает среднее время в поле А, а модификатор» — в поле В. Если время задержки постоянно, поле В может быт ь пустым, а если время задержки нулевое, то и поле А может быть пустым. Модификаторы могут быть двух типов: интервал и функция. Модификатор-интервал используется, когда время задержки транзактов распределено равномерно в некотором заданном диа- 37
пазоне. Например, если времена распределены равномерно в интервале (10+5), то среднее— 10, интервал — 5. В результате с равной вероятностью получаем целые числа от 5 до 15. Например: ADVANCE 10,5 (т. е. при использовании модификатора-интервала имеет место задержка на (10+5) единиц времени). Модификатор-функция используется, если времена задержки транзактов распределены не равномерно, а более сложным образом. При обращении к функции определяется некоторое число — значение функции, и время задержки в блоке опреде- ляется умножением среднего на это число (если результат — не целое число, то берется его целая часть). Например: ADVANCE 500.FN.2 (т. е. при использовании модификатора-функции получается задержка на 500;j<FN2 единиц времени). 2. Группа блоков создания и уничтожения транзактов. В эту группу входят блоки GENERATE, TERMINATE, SPLIT и ASSEMBLE. Функцией блока GENERATE является создание транзактов, входящих в систему. В поле А задается среднее время между поступлением отдельных транзактов. Как и в блоке ADVANCE, это время может быть модифицировано с помощью модифика- тора в поле В (интервала или функции). В поле может быть записан «0». Если при вычислении времени появления в системе первого транзакта оно получилось равным 0, то симулятор полагает его равным 1. Среднее время принимается равным 1, если поле 3 пусто, а в поле А описан модификатор функция. Задаваемый модификатор-интервал не должен превосходить среднего, записанного в поле А, чтобы не получались отрица- тельные интервалы между моментами появления транзактов. Интервал между транзактами, т. е время появления следу- ющего транзакта, вычисляется только после того, как генерируе- мый транзакт покидает блок GENERATE Поэтому если после GENERATE стоит блок, который может по какой-либо причине задержать сгенерированный транзакт, то время генерации сле- дующего транзакта будет вычислено после снятия блокирующе- го условия (т. е. когда сгенерированный транзакт пройдет следующий за GENERATE блок). Поэтому средний интервал между транзактами будет больше, чем среднее значение, задан- ное в поле А. что может привести к ошибке. Избежать ее можно, поместив после GENERATE блок, не задерживающий транз- актов. В поле С записывается начальная задержка. Заданное в этом поле число ^без модификации) определяет интервал вре- 38
мени до создания данным блоком первого транзакта. Это число может быть меньше, равно или больше, чем среднее, заданное в поле А. Поле D задает число транзактов, которое должно быть соз- дано блоком GENERATE. Если это поле пусто, то блок генери- рует неограниченное число транзактов. В поле Е задается приоритет (от 0 до 127), присваиваемый генерируемым транзактам Если в этом поле значение приори- тета не задано, генерируемые транзакты имеют нулевой прио ритет. Поля F —1 резервируют для транзакта необходимое число типов параметров. Максимально допустимое число парамет- ров—1020, т. е 255 параметров каждого формата: «слово», «полуслово», «байт», «плавающая точка». Поскольку параметры не кодируются в определенной последовательности, то для опре- деления типа их необходимо использовать индексы. Допустимы- ми индексами являются: PH — параметр формата «полуслово»; PF — параметр формата «слово»; РВ — параметр формата «байт»; PL — параметр формата «плавающая точка». Если поля пусты, то транзакту выделяется 12 параметров формата «полу- слово». Если в поле F записан «0», то у транзакта нет парамет- ров. Первоначальные значения параметров равны 0. Рассмотрим несколько примеров использования блока GENERATE. GENERATE 10,3,100,16,5,5PB,20PH,3PL.4PF (транзакты создаются через каждые (10±3) единиц времени, причем первый транзакт создан в момент времени, равный 100, всем 16 транзактам, созданным в этом блоке, присваивается приоритет 5: каждый транзакт имеет по пять параметров фор- мата «байт», по 20 параметров формата «полуслово», по три параметра формата «плавающая точка» и по четыре параметра формата «слово»), GENERATE 10,2,1000,10,4 (транзакты генерируются через каждые (10±2) единиц време- ни, причем первый из десяти генерируемых этим блоком транз- актов создан в момент времени, равный 1000; всем транзактам присваивается приоритет 4, и все они имеют по 12 параметров формата «полуслово», так как поля, задающие число парамет- ров, пусты). GENERATE 100.FN G EXPON,, 100 (транзакты создаются через интервал времени, равный произве- дению 100 на значение функции EXPON; в этом блоке генери 39
руется только 100 трапзактов. которые имеют по 12 параметров формата «полуслово», и всем им присвоен приоритет 0). GENERATE 54,FN g NORM,, 7 (транзакты генерируются через 54 единицы времени, модифици- рованные функцией NORM, и имеют приоритет 7 и по 12 пара- метров формата «полуслово»). GENERATE 10,FN g EXPON,, 10PF (использование модификатора-функции здесь аналогично использованию функций в предыдущих примерах; транзактам присваивается приоритет 0 и все они имеют по десять парамет- ров формата «слово»). Блок TERMINATE удаляет транзакты из системы. Он ис- пользуется для изображения окончания пути транзакта в систе- ме (например, в момент прибытия транзакта в пункт назначе- ния). Поле А блока TERMINATE указывает, изменяет ли этот блок содержимое счетчика завершения TG1 в момент поступле- ния транзакта и, если изменяет, то на сколько единиц. В приве- денном ниже примере в поле А записано 2. Это значит, что каждый раз, когда транзакг входит в этот блок, из счетчика завершений вычитается 2. Если содержимое этого счетчика задано (специальной картой START) равным 1000 и во всей модели один блок TERMINATE, то до завершения счета через этот блок пройдет 500 транзактов. Если поле не определено, то оно считается равным 0, и транзакты, проходящие через такой блок, не уменьшают содержимого счетчика завершений. Соответственно в модели должен быть хотя бы один блок TERMINATE, у которого поле А не меньше 1, чтобы провесе моделирования закончился Если в модели такого блока нет, то счет будет продолжаться до тех пор, пока задачу не остановит оператор. Рассмотрим примеры использования блока TERMINATE: TERMINATE (удаляет транзакт, счетчик TG1 не изменяется); TERMINATE 2 (уменьшается счетчик TG1 на 2). 3. Группа блоков изменения параметров транзактов. Каждый транзакт может иметь от 0 до 1020 параметров. Интерпретация смысла параметров произвольная. В момент генерации транзак- та все его параметры нулевые. Блок ASS1GH является основным средством для задания значений параметров транзактов. В поле 40
А указы ается, какой параметр поступившею транзакта должен быть изменен Следующий непосредственно за номером пара- метра символ указывает, что нужно сделать с записанным в поле В целым числом: прибавить его к текущему значению па- раметра; вычесть его из текущего значения параметра; заменить текущее значение этим числом. Эти операции соответственно обозначаются. п+, tr, п, где п— номер параметра. Если в поле С указано какое-либо значение, оно инт ерпрети- руется как номер функции. Производится определение значения функции, а результат используется для модификации целого числа, указанного в поле В. Произведение помещается н пара- метр, указанный в поле А. В поле D задастся тип изменяемого параметра. Допускаются следующие записи PH, PF, РВ, PL, соответствующие парамет- рам формата: «полуслово», «слово», «байт» и «плавающая точ- ка». Если мо. щфикатор функция не задан, то вместо поля D можно использовать поле С. Напримеэ: ASSIGN 1,475,PH (т. е. первому параметру формата «полуслово», входящему в блок ASSIGN транзакта, нужно присвоить значение 475). ASSIGN I2--.45PB (т. е. текущему значению 12-го параметра формата «байт» при- бавить число 45). Можно изменять значения нескольких последовательных параметров одного типа следующим образом: ASSIGN 1—7,5,,PH (здесь текущее значение параметров с 1-го по 7-й включительно (формата «полуслово») заменяется числом 5). Если же число 5 следует прибавить к текущему значению этих параметров, то блок следует закодировать так: ASSIGN 1—7+,5„РН Если в поле С задан модификатор-функция и предполагается функция 1, то в поле С должна быть такая запись: ASSIGN 3.5,1 PH но не такая: ASSIGN 3,5,FN1,PH (здесь номер функции определяется вычислением значения функции [; результат будет одинаковым в том случае, если зна- чение FN1 равно 1). Пример 2.5. Построить программу модели процесса прохождения 70 дета- лей, поступающих с интервалом времени 12±2 единицы и обрабатываемых одним рабочим го пяти последовательно идущим друг за другом операциям, 41
времена выполнения которых распределены в интервале 2±1 единица гремени. Распределение всех времен в указанных интервалах равномерно. В результате моделирования требуется определить коэффициент занятости рабочего. Программа имеет вид: SIMULATE Начало моделирования GENERATE 12,2 Поступление деталей ASSIGN 2,5„PB Счетчик операций SEIZE 1 Запуск детали WAIT ADVANCE 2,1 Операция LOOP 2PB.WAIT Переход к следующей опе- рации RELEASE 1 Выпуск детали TERMINATE 1 START 7 FND 4. Группа блоков создания копий транзактов. Блок SPLIT, так же как блок GENERATE предназначен для создания транз- актов. Но в отличие от GENERATE блок SPLIT не создает само- стоятельных транзактов, а лишь генерирует заданное число копий входящего в него транзакта. Получаемые копии идентич- ны исходному транзиту. Число копий задается в поле А. 1 1осле прохождения блока SPLIT исходный транзакт направляется в следующий блок, а все копии пересылаются по адресу, указан • ному в поле В (в том числе и к следующему блоку). Та- ким образом, если в поле А задано число i, то из блока выйдут i+l транзакт. Далее исходное сообщение и копии являются равноправными и могут проходить снова через любое число блоков SPLIT. Все транзакты, полученные копированием, а так- же копии копий принадлежат к одному ансамблю и далее к это- му ансамблю можно применять специальные блоки, осуществ- ляющие обработку ансамблей транзактов (например, MATCH, ASSEMBLE, GATHER). Получаемый ансамбль транзактов может быть пронумерован. Для этого в поле С записывается номер параметра транзакта, в котором будет произведена нумерация. Если в исходном транз- акте значение этого параметра было разно k, то после нумера- ции исходный транзакт получит значение /г+1, первая копия— k + 2 и т. д. Так как копии транзакта могут иметь параметры разных типов, то необходимо использование индекса для указания типа параметра, котовый берется при объединении в серии. Допуска- ются индексы: PH параметр формата «полуслово»; PF — па- раметр формата «слово»; РВ — параметр формата «байт». Исходный транзакт и копии объединяются в серии по заданно- му параметру. В приведенном ниже примере рассматривается случай, когда параметр 10 формата «байт» имеет значение А7 при входе транзакта в блок SPLIT. При выходе из блока значе- ние его станет А+1. а значения параметра 10 (формата «байт») транзактов копий соответственно будут: А+ 2, ... SPLIT 6,NEXTY,10PB 42
Копии, полученные в блоке SPLIT, могут иметь число и типы параметров, отличные от исходного транзакта. В полях D, Е, F и G блока SPLIT определяются число и типы параметров, присваиваемых копиям. Эти поля, начиная с поля D, можно задавать в любом порядке. В каждом поле дол- жен быть указан индекс параметра для определения его типа (используются те же индексы, что и в блоке GENERATE). В копии переносятся значения только тех параметров исходного транзакта, для которых есть соответствующие номера. Если поля D, F, Е и G пусты, параметры копий такие же, как и у исходного транзакта. В приведенном ниже примере каждая из восьми копий будет иметь по восемь параметров формата «пла- вающая точка» и четыре параметра формата «байт». Если ис- ходный транзакт имеет соответствующие параметры, содержи- мое параметров будет передано копиям: SPLIT 8,NEXTZ„8PL.4PB Все транзакты, сгенерированные блоками SPLIT, из одного исходного транзакта и его копий принадлежат к одному ансамб- лю. Число транзактов в ансамбле произвольно. Каждый транз- акт, созданный в блоке GENERATE, является отдельным ансамблем. Таким образом, число ансамблей в системе произ- вольно, и ансамбль существует до тех пор, пока в нем находится хоть один транзакт. Группа блоков синхронизации движения транзактов. Блок ASSEMBLE используется для объединения определенного числа транзактов, являющихся членами одного ансамбля. Число объ- единяемых ансамблей указывается в поле А. Транзакты, принад- лежащие к одному ансамблю, будут задерживаться в блоке ASSEMBLE до тех пор, пока не поступит заданное число транз- актов этого ансамбля В результате на выходе блока появляется один (первый) транзакт ансамбля, а остальные транзакты уни- чтожаются. В одном блоке ASSEMBLE могут накапливаться транзакты разных ансамблей, транзакты одного ансамбля могут накапливаться в разных блоках ASSEMBLE. Если число соби- раемых членов ансамбля задается с помощью косвенной адре- сации, то для его установления используется параметр первого пришедшего транзакта. Рассматрим примеры использования бл жа ASSEMBLE: ASSEMBLE 5 (т. е. собирается пять транзактов, четыре уничтожаются, один переходит в следующий блок); ASSEMBLE (т. е. собирается число транзактов. равное значению параметра «1» первого транзакта ансамбля). 43
Пример 2.6. Построить программу модели процесса прохождения 100 де- талей, поступление которых подчиняется равномерному закону в интервале (8±2' единицы времени и обработка производится параллельно дву м рабочим, каждый из которых выполняет свою операцию независимо дру1 от друга со временем (5±3) единицы, распределенным ] авномерно. В результате модели- рования требуется определить коэффициент занятости рабочих. Программа имеет вид: SIMULATE GENERATE 8,2 SPLIT l.THIS SEIZE 1 Начало моделирования Приход деталей Начало обработки детали Первый рабочий ADVANCE 5,3 RELEASE 1 1RA.\SEER THAT THIS SEIZE 2 Второй рабочий ADVANCE 5,3 RELEASE 2 THAT ASSEMBLE 2 Окончание обработки детали TERMINATE 1 START 1 JO END Действие блока GAI 11ER аналогично действию блока ASSEMBLE. Отличие состоит в том, что после накопления в блоке числа транзактов, указанного в поле А, они все переда- ются в следующий блок. Блок GATHER позволяет синхронизи- ровать движение транзактов одного ансамбля при их движении по одному пути. Приведем пример использования блока GATHER: GATHER 3 (т. е. после прихода трех транзактов они поступают в следую- I щй блок). Пример 2.7. Построить программу модели процесса прохождения 80 де- талей На производственный участок сборки подшипников поступают обоймы и шарики с интервалом времени х25±4) единицы. На контроль обоймы за- трачивается (4±1) единица времени, контроль шариков пр. изводится после- довательно со временем 12ч-1) единица времени на шарик. Операция сборки требует одновременного поступления обоймы и всех шариков и производится со временем (1±2) единицы. Все процессы подчиняются равномерному за- кону. В результате моделирования требуется определить коэффициенты заня- тости рабочих участка. Программа имеет вид: SIMULATE Начало моделирования GENERATE 25,4 SPLIT 8 Разделение обоймы и шари- SEIZE 1 ков ADVANCE 4.1 Контроль обоймы RFLE XSE I TRANSFER .FINAL THAT SEIZE 2 ADVANCE 21 Контроль шариков RELEASE 2 GATHER 8 44
FINAL ASSEMBLE SEIZE ADVANCE RELEASE TERMINATE START END 9 Комплектация 3 4.2 Сборка 3 1 80 3 Блок MATCH предназначен для синхронизации продвижения двух транзактов одного ансамбля движущихся по разным пу- тям. Дчя синхронизации необходимы два блока MATCH, нахо- дящиеся в соответствующих местах блок-диаграммы и называе- мые сопряженными. В поле А каждого блока MATCH указы- вается метка сопряженного ему блока. При подходе транзакта к блоку MATCH проверяется наличие в сопряженном ему блоке танзакта из того же ансамбля. Если в обоих блоках имеются транзакты одного ансамбля, то они одновременно пропускаются через блоки MATCH. Если в сопряженном блоке нет ни одного транзакта данного ансамбля, то поступивший транзакт будет ожидать поступления транзакта того же ансамбля в сопряжен ный блок MATH, после чего они оба будут пропущены в следую- щие за блоками MATCH блоки. Одна и та же пара блоков MATCH может одновременно синхронизировать любое число пар транзактов из разных ан- самблей. Транзакты одного ансамбля также могут синхронизи- ровать в любом числе пар блоков MATCH. Следует отметить, что блок MATCH может быть сопряжен сам себе. При этом его действие будет аналогично действию блока GATHER с пара- метром 2 в поле А. Рассмотрим соответствующие примеры ис- пользования блока MATCH AAA MATCH ЗВВ ВЗВ MATCH AAA (в этом случае транзакт А.АА будет ожидать поихода члена гого же ансамбля в блок MATCH с меткой ВВВ); ССС MATCH ССС (здесь транзакт будет ждать прихода члена гою же ансамбля в этот же блок MATCH). Пример 2.8. Построить программу модели прохождения "00 деталей Де- тали nocTvnaw? с интервалом времени (300±50) единиц. Обработку i роиз- водят двое рабочих, которые выполняют по две операции. После первой' опе- рации, выполняемо i первым рабочим со временем (70±20) единиц и вторым со временем (60±ЗО) единиц, производится операция сверки, время выполне- ния которой принимается равным нулю. После сверки выполняется вторая опе- рация первым рабочим со временем (20±10) единиц и вторым — (30±20) единиц. Затем третий рабочий производит сборку изделия из этих деталей со временем (50±20) единиц. Все процессы подчиняются равномерному закону. В результате моделирования необходимо определить коэффициенты занятости рабочих. 45
Программа имеет вид: SIMULATE GENERATE 300,50 Начало моделирования Поступление деталей MANA SEIZE 1 ADVANCE 70,20 Первый рабочий, первая one- Fl <3 ’ Г i 10 HERE MATCH THERE pdElH/i Сверка ADVANCE 20,10 Первый рабочий, вторая опе- рация RELEASE 1 TRANSFER ,MANC MAN В SEIZE 2 ADVANCE 60,30 Второй рабочий, первая опе- рация TIIERE MATCH HERE Сверка ADVANCE 30,20 Второй рабочий, вторая опе- рация RELEASE 2 MANC ASSEMBLE 2 SEIZE 3 ADVANCE 50,20 Сборка RELEASE 3 TERMINATE 1 START 500 END § 2.6. Блоки, описывающие аппаратную категорию ПМДС оперирует с тремя типами объектов, принадлежащих аппаратной категории: устройствами, памятями и ключами. Устройство терминологии ПМДС является аналогом обслу- живающего прибора системы массового обслуживания (Q-cxe- мы) [29]. В любой момент времени устройство может быть заня- то только одним транзактом. Состояние устройства меняют шесть блоков: SEIZE, RELEAZE, PREEMPT, RETURN, FUNA- VAIL, FAVAIL, которые используются попарно. В результате входа транзакта блок SEIZE устройство,.указан- ное в этом блоке, будет занято. Оно останется занятым, пока тот же транзакт не пройдет соответствующий блок RELEASE. Если какой-либо транзакт занимает устройство, описанное в поле А блока SEIZE, то никакой другой транзакт не сможет войти в этот блок (и вообще не сможет захватить это устройство в лю- бом другом блоке SEIZE). Транзакт может занять любое число устройств. Блок RELEASE с ]ужит для освобождения устройства которое ранее было захвачено проходившим в блоке SEIZE транзактом. При выполнении этого блока программы задержка возникнуть не может. Устройство освобождайся в момент входа транзакта в блоке RELEASE. Освобождение выполняется только тем транз- актом, которым оно было занято. Если перед SEIZE задержива- ются несколько транзактов, они обслуживаются в соответствии с правилом: «первым пришел — первым обслужен». 46
Рассмотрим ASE: прикчр использования блоков S£ IZF и RELE- SEIZE 1 ADVANCE 10,5 RELEASE 1 (т. е. происходит занятие устройства 1, задержка от 5 до )5 еди- ниц времени и освобождение устройства 1). Блок PREEMPT фиксирует использование устройства на бо- лее высоком уровне, чем блок SEIZE, а также приостанавливает обслуживание транзакта, захватившего устройства ранее, и дает возможность прерванному транзакту захватить устройство после того, как закончится обслуживание прервавшего транзакта. Если при выполнении блока PREEMPT оказывается, что одно прерывание уже произошло (устройство обслуживает прерыва- ние), то блок не выполняется и соответствующий транзакт за- держивается до тех пор, пока не освободится устройство. Затем обслуживается новый прерывающий транзакт, а не прерванный. Исключением из описанных выше правил является случай, когда блок PREEMPT работает в режиме приоритетов, т. е. в поле В стоит PR. При этом в действиях блока PREEMPT предусмотрен случай разрешения прерывания на основании результата анали- за приоритетов транзактов. Для последующей обработки преованных транзактов сущест- вуют следующие возможности: в поле С может быть описан какой-либо блок, на который бу- дет передан прерванный транзакт. При этом прерванный трапз- акт продолжает претендовать на данное устройство; если прерванный транзакт находится в блоке ADVANCE, то вычисляется остаток времени (от момента прерывания до момен- та выхода из блока ADVANCE) и полученное значение помеша ется в параметре, описанном в поле D блока PREEMPT. В этом случае прерванный транзакт будет послан в блок,у казанный в поле С блока PREEMPT. Прерванный транзакт продолжает пре- тендовать на данное устройство; если в поле Е блока PREEMPT стоит запись RE, то будут производиться обычные операции, за исключением того, чго прерванный транзакт не участвует больше в конфликте из-за захвата устройства. Блок RETURN сигнализирует об окончании прерывания. При входе в блок задержка возникнуть не может, но закончить пре- рывание может только тот транзакт, который перед этим прошел блок PREEMPT, относящийся именно к данному устройству. Пре- рывание заканчивается в момент входа в блок RETURN. Время, в течение которого транзакт находится в прерванном состоянии, не фиксируется. Па прерывания имеются следующие ограниче- ния: нельзя производить прерывание транзакта, захватившего или прервавшего обслуживание других транзактов более чем на 47
255 устройствах одновременно, задержка прерванного транзак- та начинается с момента первого прерывания и окащ ивается в момент окончания последнего. Неважно, занято или свободно устройство, для которого выполняется блок PREEMPT. Рассмотрим пример использования блоков PREEMPT и RETURN: PREEMPT 16 ADVANCE 150 RETURN 16 (т. e. реализуется прерывание на устройстве 16, задержка на 150 единиц, а затем возврат устройства). Блок FUNAVAIL выполняет операции, переводящие устрой- ство в состояние недоступности. Недоступность устройства пре- дупреждает занятие или прерывание устройства последующими сообщениями. Пои этом возможно задание специальных режимов работы блока FUNAVAIL, обеспечивающих окончание обслужи- вания последнего транзакта, передачу его на обслуживание к другому блоку, дообслуживание транзакта после окончания пе- риода недоступност и. Номер или диапазон номеров устройств, переводимых в состояние недоступности, записывается в поле А. Поля В... Н предназначены для задания специальных режимов. Блок FAVAIL делает доступными устройства, указанные как номер или диапазон номеров устройств в поле А. Блок FAVAIL отменяет все режимы, заданные блоком FUNAVAIL для данных устройств. Рассмотрим пример использования блоков FUN AVAIL и FAVAIL: FUNAVAIL ADVANCE FAVAIL ADVANCE FAVAIL 1—15 30 1- 10 15 11—15 (т. e. недоступные устройства с 1-го по 15-е становятся доступны- ми: через 30 единиц времени — устройства с 1-го по 10-е, а через 45 единиц времени — устройства с 11-го по 15-е). Элементы моделируемой системы S, предназначенные дтя хранения или обработки нескольких транзактов, в терминах язы- ка ПМЛС называются памятями. Для введения в программу памяти требуется описать ее картой STORAGE, а изменение со- стояния памяти производится блоками ENTER, I FAVE, SUNA- VAL, SAVAIL. Поле А блока ENTER интерпретируется как номер памяти, поле В — указывает число единиц памяти, занимаемых траизак- том при входе в блок. При выходе транзактов из блока ENTER никаких изменений в содержимом памяти не происходит. Если поле В пустое, то число единиц памяти полагается рав- ным 1. В этом поле может быть записан 0 и тогда содержимое 48
памяти увеличится на 0 единиц. Если в памяти нет достаточно- го числа свободных единиц, чтобы удовлетворить запрос транзак- та, то этот транзакт не может быть обслужен блоком ENTER. Если для последующего транзакта число единиц памяти доста- точно, то он входит в память раньше первого. Поле А определяет номер памяти, а поле В — число единиц, которые надлежит освободить при входе транзакта в блок LEAVE. Не всегда освобождается такое же число единиц памяти, какое было занято. Транзакт, освобождающий память, не обя- зательно должен был ее занимать. Однако необходимо, чтобы в сумме освобождалось столько единиц памяти, сколько было занято (иначе содержимое памяти будет возрастать и после ее заполнения в системе наступит насыщение), и чтобы содержи- мое памяти не стало отрицательным (т. е. не освобождалось больше единиц памяти, чем было занято). При выполнении бло- ка LEAVE задержки не возникают. Аналогично тому, как в бло- ке ENTER транзакт может занять 0 единиц памяти, в блоке LEAVE он может освободить 0 единиц. Рассмотрим пример использования блоков ENTER и LEAVE: ENTER 1,1 SEIZE 2 LEAVE J,*2 (т. e. реализуется занятие единицы памяти в памяти I, а затем освобождение числа единиц памяти, равного содержимому пара- метра 2 формата «слово»). Блок SUNAVAIL переводит накопитель в состояние недо- ступности, при котором транзакты не могут войти в накопитель. Уменьшение содержимого накопителя в этот период может про- исходить путем прохождения транзактами блока LEAVE. Номер или диапазон номеров накопителей, переводимых в состояние не- доступности, записывается в поле А. Блок SAVAIL переводит заданный накопитель из состояния недоступности в состояние доступности. Если данный накопитель уже доступен, то блок SAVAIL никаких действий не выполняет. Номер или номера накопителей, переводимых в состояние доступ- ности. записываются в поле А. Рассмотрим пример использования блоков SUNAVAIL и SAVAIL: SUNAVAIL 2-5 TEST NE PH 1,0,NEXT SAVAIL 2—5 (т. e. недоступные накопители с 1-го по 5-й становятся доступ- ными при появлении транзакта с ненулевым параметром 1 типа «полуслово»). Логические ключи в ПМДС предназначены дтя описания эле ментов моделируемой системы S, которые могут находиться толь- ко в двух состояниях. Статистика о работе ключей не собирает 49
ся. Логические ключи не имеют СЧА, а только два логических атрибута, принимающие значения 0 при невыполнении и 1 — при выполнении следующих условий: LR— ключ в состоянии «О»; LS — ключ в состоянии «1». В начале моделирования ключ может быть установлен в со- стояние «1» с помощью карты INITIAL, и изменение состояния ключа производится в процессе моделирования блоком LOGIC. Блок LOGIC используется для установки логических ключей, состояние которых может быть запрошено в любом другом мес- те модели. При входе в блок LOGIC задержки не возникает. Состояние логического объекта, указанного в поле А, изменяет- ся одним из трех способов: может быть установлен S, сброшен R или инвертирован I. Вид изменения определяется соответству- ющим мнемоническим обозначением, помещаемым непосредст- венно за блоком LOGIC. Рассмотрим пример применения блока LOGIC: LOGIC S 41 LOGIC R 165 LOGIC I 4 (т. e. установить ключ 41, сбросить ключ 165, инвертировать ключ 4). § 2.7. Блоки, изменяющие маршруты транзактов В ПМДС поток транзактов обычно проходит блоки последо- вательно, поэтому предполагается, что, выполнив блок с номе- ром п, транзакт переходит к выполнению блока с номером п-р 1. Однако в моделируемой реальной системе S в зависимости от создавшихся условий поток транзактов может быть задержан или направление его движения изменено. Для моделирования таких ситуаций на пути потока транзактов может быть помещен блок специального типа, который реализует переход в зависи- мости от создавшихся условий. В зависимости от способа и усло- вий, сложившихся в модели в данный момент, транзакт по ука- занию пользователя может быть задержан или направлен в блок с любым указанным номером. Например, перед входом транзак- та в блоки некоторых типов (например, блок SEIZE) симулятор ПМДС проверяет состояние устройства, указанного в этом бло- ке. Транзакт войдет в блок, когда соответствующее устройство свободно. Если транзакт не может перейти к выполнению этого блока, то симулятор предоставляет две возможности: либо транз- акт может быть задержан до тех пор, пока не освободится требу- емое устройство, либо направлен по другому пути. В группу из- менения маршрутов сообщений входя г блоки GATE, TEST, TRANSFER. Блок GATE. Этот блок используется для определения состоя- ния объектов устройств без изменения их состояния. Блок GATE 50
работает в двух режимах: 1) отказа или условного входа; 2) пе- рехода или безусловного входа. При работе в режиме отказа блок GATE не пропускает транз- акты, если соответствующий ооъект не находится в требуемом состоянии. Если же поставленное в блоке условие удовлетворя- ется, блок разрешает вход транзактов. Если в поле В указано наименование (номер) блока, то вме- сто отказа блок GATE будет посылать транзакт на указанный блок. Таким образом, если поле В пустое, блок работает в ре- жиме отказа, если не пустое — в режиме перехода. Существует шесть условий или логических атрибутов, описы- вающих состояние устройств, памятей, ключей и условия синхро- низации. Мнемонические обозначения проверяемого условия за- писываются непосредственно после GATE. Поле А определяет номер объекта аппаратной категории (устройства памяти или ключа). Состояние устройства описывается следующими усло- виями: FNU — устройство не используется, свободно; FU — уст- ройство используется, занято (обслуживает захвативший транз- ак- или прерывание); FNI — устройство работает без прерыва- ния fсвободно или обслуживает захвативший его транзакт); FI — устройство обслуживает прерывание; FV-—устройство доступно; FNV — устройство недоступно. Состояние памяти описывается следующими условия- ми: SF — память пуста; SNF — память не пуста; SF—память за- полнена; SNF — память не заполнена; SV — память доступна; SNV — память недоступна. Состояние ключа описывается двумя условиями: LR -логи ческий ключ в состоянии «выключен»; LS —логический ключ в состоянии «вк. почен». Следующие два мнемонические обозначения подробно опи- саны ниже: ЛА — блок GATE проверяет выполнение условия син- хронизации в указанном блоке блок-диаграммы; NM— блох GATE проверяет невыполнение условия синхронизации в ука- занном блоке блок диаграммы. Рассмотрим пример использования блока GATE: режим отказа GATE SF 167 GATE LS 265 GATE FL’ 19 (т. e. выполняются следующие действия: блокировать транзакт до тех пор. пока память 167 не будет заполнена: блокировать транзакт до тех пор, пока ключ 265 не установлен, блокировать транзакт до тех пор, пока устройство 19 не освободится): режим перехода GATE FI 34.ALTR (т. е. если устройство 34 прервано, то перейти к ALTR). 51
Блок TEST. Блок TEST описывает условие, которое проверя- ет при входе в него транзакта и определяет направление дальней шего движения транзакта в зависимости от этого условия, кото- рое записывается в виде алгебраического соотношения двух ар- гументов. При выполнении соотношения транзакт пропускается в следующий за блоком TEST блок. В случае невыполнения со- отношения транзакт напоавляется в блок, метка которого ука- зана в поле С. Если поле С пусто, то транзакт блокируется бло- ком до выполнения соотношения. Проверяемое соотношение записывается в поле операций сра- зу за блоком TEST. При этом можно использовать следующие мнемонические обозначения операций сравнения: L—«меньше чем»; LE— «меньше или равно»; Е — «равно»; NE— «не равно»; G — «больше чем»; GE -— «больше или равно». Соотношение рассматривается между первым и вторым api у- ментами, записываемыми в полях А и В соответственно. Аргу менты должны принадлежать к стандартным чис товым атрибу- там. Если поле С не пусто, то транзакт всегда может войти в блок TEST и в зависимости от соотношения аргументов будет передан либо в следующий блок, либо в блок, указанный в поте С. Если поле С пусто, то транзакт при невыполнении условия не сможет войти в блок TEST и симулятор в каждый момент времени будет проверять, не изменилось ли блокирующее условие. Такой ре- жим является нежелательным вследствие больших затрат ма- шинного времени на многократные проверки б тонирующего ус- ловия. Например; FEST L S1.K10 TEST NE РГ 1.PF2 TEST GE Q2.FN1.CEH Блок TRANSFER. Этот блок обычно используется для того, чтобы передать входящие в него транзакты в блоки, не следу- ющие по номеру за ним. Передача может быть выполнена логи- чески, статистически, условно и безусловно. Вид передачи опре деляется мнемоническим обозначением, указанным в поле А блока TRANSFER При безусловной передаче указывается один следующий блок (путь), а при условной передаче два или больше путей. Выбор того или иного пути определяется режимом р'боты блока TRANSFER. Поле В определяет первый (или единственный) из следующих бюков. Если следующий Алок поля В описан на следующей карте входной колоды, то поле В угжет быть оставлено пустым. Когда симулятор ПМДС встреча- ет карту — описание, блока TRANSFER с пустым полем В, то он записывает в поле В этой карты номер с тедующего блока Поле С опредечяет следующий блок и интерпретируется в со ответстййи с режимом работы блока TRANSFER. Существуют различные режимы работы блока TRANSFER 52
Если поле А блока TRANSFER пусто, то все транзакты, по- ступающие на этот блок, будут передаваться в блок, номер ко- торого указан в поле В. Например: TRANSFER NEXT TRANSFER 415 Если в поле А блока TRANSFER стоит BOTH, то каждый транзакт. поступающий на этот блок, проверяет два пути. Сна- чала проверяется блок, указанный в поле В, и если гранзакт не может войти в этот блок, он пытается войти в блок, указанный в поле С. Если транзакт не может вой г:: и в этот блок, он задер- живается в блоке TRANSFER и повторяет опрос блоков, указан- ных з потях В и С, при каждом изменении текущего времени в модели, пока не находит выхода. Этот режим выбора сущест- венно увеличивает время работы, так как если оба выхода за- блокированы, опрос их состояния производится очень часто. На- пример: TRANSFER BOTI I„SAM SEIZE 52 SAM SEIZE 84 (транзакт блока TRANSFER пытается войти в блок SEIZF; если соответствующее устройство занято, то он направляется в блок SAM; если транзакт не может войти в блок SAM, го он остается в данном блоке 1 RANSFER и повторяет описанные выше опера- ции при каждом изменении текущего времени). Если в поле А стоит ALL, то транзакты, входящие в блок, могут опрашивать много путей (бтоков). Поле В определяет пер- вый выбираемый блок, поле С — последний. Поле D определяет индексную константу /. Эта константа дает пользователю воз- можность опрашивать определенные блоки, находящиеся между теми, которые заданы в полях В и С. Транзакт, вошедший в блг к TRANSFER далее пытается выйти черыз блок, указанный в поле В. Если блок, указанный в поле В, занят, то тпанзакт пытается войти в б токи с номерами Y+i, Y+2i, ..., Z, где Y— но- мер блоха, указанного в поле В, Z— помер блока, указанного в поле С При этом 7— Y h Mi, где М— некоторое целое положи тельное число. Если транзакт не может войти ни в о тин из этих блоков, он остается в блоке TRANSFER и при изменении теку- щею времени повторяет все описанные выше операции. Если задан нежим ALL. пользователь должен проследить за тем, что- бы номера просматриваемых блоков совпадали с номерами, при сваиваемыми блокам симулятором ПМДС. Например: TRANSFER ALL.FIRST,LAST,3 FIRST SEIZE 1 ASSIGN 12.KL.PB TRAS1 ~.R LAST 4-2 SEIZE 2 53
ASSIGN 12.K2..PB TRANSFER .LAST+2 LAST SEIZE 3 1 I (транзакт пытается войти в блок FIRST; если он получает отказ, что определяется типом блока FIRST, то транзакт пытается вой- ти в блок FIRST 4-3; если и в этом блоке будет отказ, то транз- акт пытается войти в блок FIRST + 6 (LAST); если транзакт не смог войти ни в один из трех блоков, он остается в блоке TRANSFER и программа (система) переходит к обработке ( другого транзакта). При каждой попытке продвинуть транзак- < ты, находящиеся в блоке TRANSFER, все проверки, перечислен- ные выше, производятся сначала, как и в режиме BOTH, по- этому время счета также может значительно возрасти. Если в поле А стоит SIM, то выбирается один из двух воз- можных путей. Каждый входящий в блок транзакт содержит ин- формацию для принятия решения. В каждом транзакте есть ин- дикатор SIM, установленный в 0 или 1. Если значение индика- тора SIM равно 1, то транзакг будет послан в блок, указанный в поле С, а индикатор SIM будет установлен в 0. Если индика- тор SIA1 равен 0, то транзакг может направляться по выбранно- му для пего пути. Если транзакт получает отказ при попытке вой- ти в какой-либо блок, этот индикатор устанавливается в 1, фик- сируя тот факт, что некоторое условие не выполняется. Если одновременно должны удовлетворяться несколько условий, каж- дый из них может быть проверен, и если все они удовлетворяют- ся, то индикатор SIM транзакта остается равным 0. Если не вы- полняется хотя бы одно из условий, индикатор SIM устанавли вается в 1. В таких случаях блок, заданный в поле С, указывает блок, в котором проверялось первое условие, и транзакт выпол- няет проверку условий, пока все они не будут удовлетворяться одновременно Блок ADVANCE также устанавливает индикатор SIM в 0. Проверка состояний связана с блоками, которые могут задерживать транзакты. Для проверки условий используется блок GATE, описанный ранее. Существует режим проверки одновременного выполнения не- скольких условий. В приведенном ниже примере транзакты не могут перейти к блоку SEIZE, если устройства 1, 2 и 15 не будут одновременно свободны. При входе транзактов в блок TRANS- FER проверяется значение индикатор SIM этого транзакта. Если транзакт был задержан в каком либо из блоков GATE, его инди- катор установлен в 1. Когда индикатор проверяется в блоке TRANSFER, оказывается, что транзакт был задержан, и он от- сылается к тому блоку, где производилась первая проверка (CPL), и вся последовательность проверок повторяется. При проверке (т. е. при прохождении блока TRANSFER) с индикато- ром SIM, индикатор всегда сбрасывается в О, поэтому если транзакт повторяет последовательность проверок в тот же мо- мент времени, т. е. без задержки, то после второй попытки он 54
пройдет, так как индикатор SIM устанавливается в 0 при первой попытке. Например: GATE NU GATE NU GATE NU TRANSFER SEIZE 1 2 15 SIM CPU 15 Рассмотрим статистический режим выбора. Если в поле А 6-лЭка TRANSFER записана десятичная дробь, то производятся случайный выбор между блоками, описанными в поле Вив по- ле С. Вероятность выбора блока С задается дробью. Например: TRANSFER -370,THIS,THAT (т. е. режим выбора задан числом 370, при этом 37% всех транз- актов, поступивших на блок TRANSFER, будет передаваться на блок поля С, а 63% — на блок поля В). Для каждого отдельного транзакта, естественно, выбирается только один из двух путей. Выбор производится для каждого транзакта только один раз, в момент входа в блок TRANSFER. Кроме этого, пользователю предоставлены еще четыре режима выбора: PICK, SBR, FN и Р. Однако начинающему пользоватс лю их лучше не употреблять. § 2.8. Блоки, относящиеся к статистической категории В статистической категории ПМДС используется . 1ва типа объектов: очереди и таблицы. Очереди вводятся в моделиру- ющую программу для регистрации статистической информации о процессе ожидания. Постановка транзакта в очередь произво- дится блоком QUEUE. а удаление транзакта из очереди — бло- ком DEPART Таблицы вводятся в моделирующую программу для сбопа статистических данных. Ввод производи гея с помощью карты TABLE, а регистрация статистических данных в табли- це—при входе транзакта в блоке TABl LATE. Блок QUEUE- Этот блок аналогичен блоку ENTER и изве- щает симулятор ПА4ДС о том. что в данной точке блок-лиат рам- мы нужно собирать статистику об очереди. Номер очереди, в ко- торую пользовагель хочет занести транзакт, задается в поле А блока QUEUE. Пои записи нового транзакта в очередь опреде- ляется . шина интервала времени, в течение которого длина оче- реди оставалась неизменной При входе транзакта в блок QUEUE текущая длина очереди увеличивается на число единиц, указанное в поле В. после чего симулятор сравнивает новую дли ну очереди с максимальней, достигнутой до сих пор. Если новое значение больше максимального, то старое максимальное зна- чение очереди заменяется на новое. Кроме того, счетчик общего числа единиц, прошедших через очередь, увеличивается на то 55
же число единиц. Общее число единиц используется для опреде- ления «взвешенного среднего времени пребывания транзактг в очереди». Блок DEPART. Этот блок аналогичен б току LEAVE. Ноле А интерпретируется как номер очереди. В поле В задается число единиц, на которое уменьшается длина очереди. При входе транзактов в блок DEPART число единиц, указанное в поле В, вычитается из длины очереди. Как и в блоке LEAVE, если по- ле В пусто, то его значение принимается равным 1. Симулятор вычисляет длину интервала времени, в течение которого транзакт находился в очереди, и, если длина интервала получилась равной 0, указанное в поле В число единиц добавля- ется к счетчику, регистрирующему число транзактов, прошедших через блок без задержки. Можно заносить в таблицу время пребывания транзакта в очереди. В примере, приведенном ниже, время пребывания в оче реди 10 будет заноситься в таблицу Q TABLE 15. В ней будет 100 интервалов: 0. 5, 10... 490. Рассмотрим пример использования блоков QUEUE и DEPART б т в м е Г к б QUEUE SEIZE DEPART ADVANCE RELEASE QTXBLF 10 1 10 150,5 1 10 0.5 100 Блок TABULATE. Пользователю ПМДС позволено для сбора нужных статистических данных вводить таблицы нескольких ли- лов. Для занесения информации в таблицы с помощью специ- ального блока TABULATE производится в момент входа транз- акта в этот блок. Пользователь должен задать ряд характери- стик дтя каждой из таблиц, которую он хочет использовать. Ха- рактеристики таблицы задаются специальной картой описания таблицы - TABLE (QTABLE). При входе транзакта в блок ТАЕТ LATE симулятор ПМДС записывает в соответствующую таблицу определенную стат исти- ческую информацию. Поле А определяет номер этой таблицы, в которой накапливается соответствующая статистическая инфор мапия. Вил заносимой информации определяется па специальной карте описания таблицы помимо способа обработки. Эта карта определяет дзмер, а также число и границы интервалов табли- цы. В каждом блоке TABULATE может быть за; ано число еди- ниц, добавляемых к числу наблюдений того интервала, в который попадает при данном обращении аргумент. Это число единиц задается в поле В. Ес ти поле В i устц, то это числе принимается равным 1. Например: TAB! Т АЗЕ 10 (г. е. в интервалы таблицы 10 добавляется 1): TABULATE 48,2 д с в и н I Г и с к в п к в т л т ч е с с (т. е. в интервалы таблицы 48 добавляется по 2 единицы). с j г 56
В ПМДС предусмотрено несколько специальных режимов та- булирования, которые указываются в поле А карты описания таблицы. Знак «—» за величиной, записанной в поле А, указы- вает иа то, что в таблицу-заносится не само значение, а разность между текущим значением этой величины и последним значени- ем, занесенным в таблицу. Этот режим называется разностным. Первое обращение к таблице симулятором автоматически ис- ключается. В качестве примера приведен случай разностного режима та- булирования: 16 TABLE 10 -,1.А50 Таблица TABLE 16 является взвешенной, поэтому в поле D должен стоять любой буквенный символ и за ним — число клас- сов частоты. Если в поле А стоит мнемоническое обозначение RT, то при входе транзакта в блок TABULATE, который связан с табли- цей, заполняемой таким способом, обращение к классам частот не производится. Вместо этого число единиц, заданное в блоке TABULATE, добавтяется к счетчику числа входов в таблицу. Карта описания таблицы должна содержать в поле В временной интервал. Если этот интервал равен, например, 1000. значение счетчика числа входов будет заноситься в таблицу по истечении каждых 1000 единиц времени. После занесения счетчик сбрасы- вается в 0. Таким образом, при этом способе определяется рас- пределение числа «заявок», поступающих за 1000 единиц вре мени. Рассмотрим пример использования режима RT: TABULATE 19 19 TABLE RT,0.10.75,1001 Если в поле А стоит мнемоническое обозначение IA, то при входе транзакта в блок TABULATE, который соответствует таблице, заполняемой таким способом, симулятор ПМДС опреде- ляет время, прошедшее с момента последнего обращения к этой таблице. Полученное значение заносится в таблицу. Как и в слу- чае разностного режима, первое обращение к таблице исключа- ется симулятором автоматически. Такая таблица представляет собой распределение промежутков времени между моментами по- ступления транзактов в данную точку программы. Приведем пример использования режима IA- TABULATE 26 26 TABLE IA,0,10,100 В предыдущих параграфах этой главы рассмотрены сведения с ПМДС и возможностях его использования в объеме и с дета- лизацией, достаточной для выполнения курсовой работы по дис- циплине «Моделирование систем». Более детально ознакомить- 57
ся с ПМДС можно в [9-11], а также рассмотрев примеры прак- тического применения ПМДС при моделировании конкретных ] систем в последующих главах. 7 § 2.9. Технология применения ПМДС на базе ЕС ЭВМ при выполнении курсовой работы Пакет ПЛ1ДС 2.0 может функционировать на любой модели ЕС ЭВМ, имеющей следующий минимальный набор техниче- ских средств: центральный процессор с оперативной памятью 128 Кбайт; три накопителя на магнитных дисках с устройством управления; накопитель на магнитной ленте с устройством управ- ления; устройство ввода с перфокарт и (или) абонентский пункт; алфавитно-цифровое печатающее устройство. ПМДС 2.0 работает под управлением операционных систем ОС ЕС любой версии [9—11]. При выполнении курсовой работы по дисциплине «Модепиро- вание систем» с учетом индивидуальности заданий для каждого из студентов учебной группы рационально использовать систему виртуальных машин (СВМ) ЕС ЭВМ [17]. Технологическая схема организации проведения и выполне- ния курсовой работы по дисциплине «Моделирование систем» на базе ЭВМ ЕС-1060 показана на рис. 2.2, где также отражена воз- можность помимо использования СВМ для работы студентов в интерактивном режиме применять редактор символьных текстов ПЛАДС на базе миниЭВАА СМ-1420. Здесь обозначено: ВМ-У, ВМ-П, ВМ-И— виртуальные машины: учебная, преподавателя и инженера; АП — абонентский пункт; У ИДК — устройство под- готовки данных на перфокартах; У ВПК — устройство ввода с перфокарт; ПК — перфокарты; МЛ — магнитная лента; МД — магнитный диск. Для эффективного проведения курсового проектирования все ми студентами учебной группы рационально выделить Л’+ 1 вир- туальную машину (ВМ), где К — число студентов в учебной группе, одновременно выполняющих курсовую работу по моде- лированию систем. При этом одна ВМ используется преподава- телем для хранения заданий, сервисных программ и монитора кур- сового проектирования (МКП). Вместо нее можно использовать системный диск, доступный всем ВМ. Чтобы уменьшить число команд СВМ, которые необходимо изучить студентам для выполнения курсовой работы с использо- ванием СВМ ЕС, используется набор процедур на языке ЕХЕСЕ, предоставляющих студентам ограниченный набор мак- рокоманд. Для выполнения курсовой работы с использованием ПМДС 2.0 на базе СВМ ЕС необходимо всего пять макро- команд: EDIT — редактирование исходных программ ПМДС; RUN — решение задачи моделирования в среде ВМ: LIST — про- смотр результатов моделирования системы S на экране дис- 58
глея В AV, PRINT — получение распечатки результатов модели- рования; STOP — окончание работы с данной моделью. Таким образом, для эффективной работы с моделью иссле- дуемой системы S достаточно ознакомиться с набором команд Изучение E'g &\ Cb ” Е пакета ПМДС 2.0 Изучение основ Свм ЕС ЗВМ I Лодзе првча к задо- I те с текстовым I редактором Свм 1 Подготовка к I выполчечию курса ^Вей работы в среде СВЕ I Подготовка исходных I текстов на дисплее ^ВМ, дисплее "S-1420, на перфокартах выполнение курсовой оаБсты на ЕС -10Б0 вльй данных Терминальный класс ЕС ЭВМ /• EC-SD20 ЭВМ СМ-1420 Редактор символьных текстов ПМДС -Л) ~ВМ-У$ 8М-$ ЕС-6012 ВВМ ЕС-1060 Монитор виртуальны» машин Подсистема диалоге - вой оосаветки Текстовый редактор Транслятор ПМДС 2.0 Терминальный класс ______qm эвм 03 ПК ! лк Рис. 2.2. Технологическая схема организации и проведения курсовой работы на ЕС ЭВМ текстового редактора, необходимых для формирования и отлад- ки программ моделирования в интерактивном режиме. Для упрощения набора команд программы моделирования, разрабатываемой в курсовой работе, студентам доступны сер висные программы, содержащие основные управляющие опера торы и макроопределения, описывающие наиболее часто встреча- ющиеся комбинации блоков ПМДС. ГЛАВА 3. ЭТАПЫ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ § 3.1. Построение концептуальной модели системы и ее формализация На первом этапе проведения моделирования конкретного объ- екта (системы) на базе ЭВМ необходимо построить концепту- альную (содержательную) модель Мк процесса функционирова- 59
ния этой системы, а затем провести ее формализацию т. е, ос- новным содержанием этого этапа является переход от словесного описания объекта моделирования к его математической (аиали тико-имитационной) модели Наиболее ответственными момен- тами в этой работе является упрощение описания системы, т. е. отце ,ение собственно системы S от внешней среды Е и выбор основного содержания модели Мк путем отбрасывания всего вто- ростепенного с точки зрения поставленной цели моделирования [4, 20]. Для более глубокого понимания содержания этапов и подэта- псв моделирования процесса функционирования системы будем иллюстрировать их концертными действиями при моделировании некоторой реальной системы (в отличие от гипотетической систе- мы S, рассматриваемой в общем виде в [20]). В качестве объекта моделирования выберем систему, процесс функционирования ко- торой можно описать в терминах и понятиях, уже известных из изученных дисциплин Пусть необходимо прозести моделирование с целью получения опенок вероятностно-временных характеристик процесса функ- ционирования фрагмента сети передачи данных (СПД) [18,23]. Напомним основные понятия и определения из этой предметной области. Данные — это факты и(или) понятия, описанные в формати- зованном виде. В СПЦ различают пользоватетьские и управля- ющие данные Пользовательские данные — это данные, вводи- мые пользователями в СПД или получаемые ими из сети. Уп- равляющие данные — это данные, использу емые для у правления работой СПД Сеть передачи данных представляет собой совок’пность средств для передачи и распределения данных. Выделяют маги- стральную (базовую) и терминальную (абонентскую) части СПД (рис. 3 1) Магистральная С ПД служит для передачи дан- ных между, вычислительными комплексами ПК, ресурсы которы\ доступны для пользователей сети, и включает в себя узлы ком- мчации УК и соединяющие их каналы связи КС. Узет коммуга пни выполняет функции маршрутизации, передачи и коммута- ции данных и имеет для этого соответствующие аппаратно-про граммные средства Канал связи представляет собой совокуп- ность технических средств и среды распространения, которая обеспечивает доставку данных в нужную точку сети. Терми- нальная СПД используется для подключения непосредственно, либр через концентраторы н-трузки КН абонентшйх пунктов АП и терминалов пользователей ТП. Концентратор представляет собой устройство, обеспечивающее сопряжение входных низко- скоростных канатов связи с выходными высокоскоростными КС. Абонентские пункты оборудуются аппаратурой передачи ’энных и устройствами ввода-вывода, т. е. терминалами, осуществля- ющими доступ к вычислительным ресурсам и базам данных сети. 60
Обычно терминалы группируются и подсоединяются к терминаль- ной сети (или прямо к ВК) непосредственно, либо с помо- щью А П. В качест ве терминалов могут быть использованы как простейшие устройства ввода-вывода (телетайпы, дисплеи Рис. 3 1. Структура сети передачи данных и т. п.), так и персональные (интеллектуальные) терминалы на базе мини- и микроЭВМ. В рассматриваемой СПД реализован режим коммутации па кетов, представляющей собой такой способ гщедачи, при кото- ром данные из сообщений пользователей разбиваются на отдель ные пакеты, маршруты передачи которых в сети от источника к получателю определяются в каждом УК, куда пакеты поступают. Под сообщениями понимается конечная последсватетьносгь сим- 61
волов, имеющая смысловое содержание. Пакет — это блок дан- ных с заголовком, представленный в установленном формате и имеющий ограниченную максимальную длину. Обычно в СПД используются пакеты постоянной длины, содержащие от 500 до 2000 двоичных знаков (бит). Отметим, что С11Д с коммутацией пакетов обладают высокой эффективностью благодаря возмож- ности быстрой перестройки путей череда ги данных (маршрутиза- ции) при возникновении neper эузок и повреждении элементов СПД. Эффективность различных вариантов построения СП Д и ее фрагментов оценивается средними временами доставки данных пользователям и вероятностями отказа в установлении требуемо- го пользователю соединения в данный момент времени. Совокуп- ность таких показателей для оценки эффективности процесса функционирования СПД принято называть ее вероятностно-вре- менными характеристиками [18]. Для упрощения объекта моделирования (в данном случае ис- ходя из необходимости упрощения учебного примера с точки зрения его наглядности и, что особенно важно, уменьшения за- трат машинных ресурсов на его реализацию) рассмотрим процесс ф^ .ждкопирсвания фрагмента СПД, представляющий собой вза- имодействие двух соседних узлов коммутации СПЧ, обозначен- ных УК1 и УК2. Эти узлы соединены между собой дуплекс! ым дискретным каналом связи (ДКС), позволяющим одновременно передавать данные во встречных направлениях, т. е. имеется два автономных однонапоавленных ДКС. Считаем также, что все сообщения, поступающие в СПД, являются однопакетными. Структурная схема варианта УК представлена на рис. 3.2, где обозначено: ВхБН и ВыхБН— входные и выходные буфер- ные накопители соответственно; К— коммутаторы; ЦП — цен- тральный процессер. Этот УК функционирует следующим обра- зом. После поступления пакета из одного из входных КС узла он помещается в ВхБН. Затем ЦП на основе раголовка пакета и хранимом в УК маршрутной таблицы определяет требуемое направление дальнейшей передачи пакета и помещает его в со ответствующий ВыхБН для последующей передачи п т выход- ному КС. Структурная схема варианта ДКС с решающей обратной связью показана на рис. 3.3, <де обозначено: КУ и ДКУ— коди- рующее и декодирующее устройства соответственно; УУЦ — устройство управ гения каналом; КА— каналообразу юшая аппа- ратура. На передающей стороне пакет из ВыхБН узла коммута пии попадает в КУ, где производится кодирование, т. е. внесение избыточности, необходимой для обеспечения помехоустойчивой передачи по КС, Согласование с конкретной сречой распростра- нения реализуется КА (например, организация коротковолнового радиоканала через спутник-ретранслятор для распределенной СПД или оптического канала с использованием световода для локальной СПЦ). На приемной стороне из КА пакет попадает в 62
дан- iTe и 2ПД О до цией ГОЖ- иза- нтов и ее гных емо- куп- есса вре~ 3 ис- эчки за- цесс вза- чен- ным шно два все 3.2, ДКУ, которое настроено на обнаружение (и/или) исправление ошибок. Все функции управления КУ, ДКУ (в том числе и при- нятие решений о необходимости повторного переспроса копии пакета с передающего УК) и взаимодействия с центральной частью узла реализуются УУК, которое является либо автоном- ным, либо представляет собой часть процедур, выполняемых ЦП узла. Рассмотрим содержание подэтапов первого этапа моделирова- ния (см. рис. 1.1). зла :ета мое со- юд- ной та- йне вой ра- т в Управление Рис. 3 2. Структурная схема варианта узла ком- Рис. 3.3. Структурная схема мутации варианта дискретного кана- ла связи 1.1. Постановка задачи машинного моделирования. Необхо- димо дать четкую формулировку задачи, обратив особое внима- ние на существование такой задачи и необходимость машинного моделирования, на выбор методики решения задачи с учетом имеющихся машинных ресурсов, на определение масштаба зада- чи и возможность ее разбиения на подзадачи. При выполнении курсовой работы корректная постановка за- дачи моделирования конкретной системы (процесса) должна содержаться в выдаваемом задании. Для более детального изу- чения объекта моделирования необходимо ознакомиться с ре- комендуемой литературой в данной области. От уровня понима- ния разработчиком модели процессов, протекающих в моделиру- емой системе, во многом будет зависеть адекватность дальнейших эвристических переходов. На этом же подэтапе нужно решить вопрос о разбиении поставленной задачи на подзадачи в зависи- мости от ее сложности (затрат ресурсов на получение требуемо- го результата моделирования). Причем возможно возвращение к вопросу о необходимости такой декомпозиции при выполнении последующих этапов (подэтапов) моделирования. При рассмотрении задачи моделирования фрагмента СПД можно, исходя из ее масштаба, не проводить разбиение на под- задачи. Такое разбиение уже было проведено, когда в этом при- мере для моделирования была выбрана не вся СПД, а только ее фрагмент. Основываясь на сведениях из литературы [7. 18], можно сделать вывод о невозможности использования для ис- 63
следования вероятностно-временных характеристик СПД и ее фрагмента аналитических методов, а также о необходимости ориент ации на чисто имитационный или, если это окажется воз- можным, комбинированный (аналитико-имитационный) подход. В качестве инструментальной машины для выполнения курсовой работы выбрана ЕС ЭВМ. 1 2. Анализ задачи моделирования. Проведение детального анализа поставленной задачи моделирования должно способст- вовать преодолению дальнейших трудностей с минимальными затратами. На этом подэтапе работа по анализу задачи сво- дится к выбору критериев оценки процесса функционирования исследуемой системы S (если они не заданы), выделению эндо- генных и экзо! енных переменных модели Мк, выбору возможных методов идентификации, выполнению предварительного анализа следующих двух этапов моделирования. В качестве критериев оценки эффективност и процесса функ циснирования рассматриваемого в примере фрагмента СПД вы- бриты вероятностно-временные хаоактеристики; верояп ость пе- редачи пакета данных по ДКС за время £д, не превышающее за- данное Гдззд, т. е. Р(/д^7’дзад); вероятность передачи пакета под- тверждения за время tn, не превышающее заданное 7 Еад, т. е. Р(^п^7’пзяд); математическое ожидание и дисперсию полного времени передачи пакета из одного УК в другой M[GDCH] и 7)[ZDCH] соответственно. В качестве шдогенных (зависимых) переменных при дальней- шем исследовании методом моделирования выберем среднее вре- мя передачи пакета от одного N К к другому и среднюю длину очереди в накопителе, а в качестве экзогенных (независимых) переменных — интенсивности входящих потоков пакетов УК. времена обработки пакетов ЦП и передачи пакетов по ДКС. Не обходимые уточнения могут быть сделаны после выбора кон- кретных типовых математических схем для формализации про- цессов, происходящих в моделируемом фрагменте СПД Воспользовавшись литературой [18], можно провести иден- тификацию воздействий внешней! среды Е на объект моделирова- ния. т. е. СПЛ, включая выбор моделей входящих потоков УК и потоков ошибок в ДКС По второму этапу моделирования данной СПД можно отме- 1 пн следующее. Дискретный и неравномерный ларактео про несоов, происходящих в СПЯ (поступление пакетов от различ- ных источников, освобождение и занятие каналов и процессора и д.), позволяет сделать вывод о целесообразности иг пользе вания для моделирования «принципа бя» (особых состоя- ний) [20]. С учетом этою, а также исходя из стремления сокра щения затрат времени на разработку модели СПД, очевиден бу- дет выбор для машинной реализации одною из языков модели- рования, ориентированных на дискретные события (например, языка GPSSV, реализованного в пакете ПМДС для ЕС ЭРМ), 64
По третьему этапу моделирования фрагмента СПД можно сформулировать следующие выводы. В процессе моделирования исходя из выбранных критериев оценки эффективности процес- са функционирования СПД необходимо организовать сбор ста- тистики для оценки характеристик передачи и ожидания пакетов по различным направлениям. Для правильной интерпретации полученных результатов необходима фиксация и обработка различных характеристик, включая функции распределения, первые и вторые моменты распределения. Это рационально сде- лать, ориентируясь на сервис, предоставляемый ПМДС [9—II]. 1.3. Определение требований к исходной информации. После постановки задачи моделирования системы S необходимо сфор- мулировать требования к исходной информации об объекте мо- делирования и в случае необходимости организовать получение недостающей информации. На этом подэтапе необходимо оценить достаточность имеющейся информации об объекте дтя его ма- шинного моделирования, подготовить имеющиеся априорные све- дения об объекте, провести ана тиз имеющихся эксперименталь ных данных о подобном классе систем. В рамках задачи моделирования, поставленной в этом приме- ре, необходимо решить вопрос о характеристиках входящих пото- ков в УК, о параметрах передачи по ДКС и обработки пакетов УК и т. д. Исходная информация о структуре и процессе функ- ционирования объекта моделирования, г. е. фрагмента СПД, со- держится в задании на выполнение курсовой работы. Кроме то- ю, для машинного моделирования процесса функционирования СПД (для построения генераторов воздействий на фрагмент се- ти) также необходима исходная информация о характере и па- раметрах воздействий внешней среды, включая входящие во фрагмент СПД потоки сообщений (пакетов) пользователей и по- токи ошибок в лискпетных каналах связи сети. Исходная ин- формация о характере и интенсивностях входящих потоков сооб щений может быть получена из литературы об источниках дис- кретной информации, пользовательских терминальных систем: х, локальных сетях ЭВА'!, а относительно потоков ошибок —из ли тературы по теории информации, помехоустойчивому кодирова- нию, статистике ошибок в кат ал- х с вязи [ 18, 23]. Причем исход- ная информация об объекте моделирования, с одной «тороны, является неполной, например, точно не заданы конкретные тер- мина. ьные средства пользователей (дисплеи, накопители и т. д.), конкретные средства каналообразовапия (модемы, кодеки и г д.I, а с другой — избыточной с точки зрения необходимости • > [учения конкретных веэоятч остно-временных характеристик процесса функционирования фрагмента СПД, так как часть этой hi формации является второстепенной и ее можно не учитывать з модели Поэтому прежде чем приступать к машинному моде- лированию СПД, необходимо провести тяд преобразований исходной информации в плане упрощения модели в coqt- 3 1559 65
ветствии с целями проводимого исследования (см. следующие подэтапы). 1.4 Выдвижение гипотез и принятие предположений. При вы- движении гипотез и принятии предположений учитывается сле- дующее: объем априорной информации для решения задачи; подзадачи, для решения которых информации недостаточно; ог- раничения на ресурсы при решении задачи; ожидаемые резуль- таты моделирования. Гипотезы при построении модели системы S служат для заполнения «пробелов» в понимании задачи модели- рования исследователем, а предположения принимаются отно- сительно известных данных, которые не отвечают требованиям (ограничениям, ресурсам) решаемой задачи и служат обычно для упрощения модели [20]. В рамках рассматриваемого примера моделирования про- цесса функционирования фрагмента СПД исходную информацию следует принять достаточной (в противном случае постановка учебной задачи моделирования была бы некорректной). Ресурс- ные ограничения на время выполнения отдельных этапов моде- лирования также регламентированы графиком выполнения кур- совой работы (см. § 1.3). Исходя из априорных сведений, можно сделать вывод о воз- можности построения модели на основании имеющейся исход- ной информации и ее последующей машинной реализации при условии принятия ряда гипотез и предположений относительно функций распределений параметров процессов, происходящих в СПД, и воздействий внешней среды. Как видно из рис 3.4, каждый из УК сети взаимодействует с большим числом АП или ТП, а также с соседними УК- Таким образом, входящие потоки пакетов в УК представляют собой суперпозицию большого ко- личества потоков с различными законами распределения между моментами их появления и разными интенсивностями Это позво- ляет на основании теоремы о суммировании потоков принять предположение об экспоненциальном распределении интервалов между моментами поступления пакетов в УК. Необходимо также принять предполжение о характере (модели) ошибок в дискрет- ных каналах связи СПД. С учетом гипотезы о независимости ошибок в кодовых комбинациях пакетов, передаваемых в ДКС, можно сделать предположение о геометрическом законе распре- деления числа повторных передач [18].С учетом предположений, принятых относительно входных воздействий СПД, должны быть выдвинуты гипотезы об ожидаемых результатах моделирования для целей построения машинной модели (резервирования памя- ти) Анализируя имеющуюся исходную информацию о подобных системах, можно сделать вывод, что входные накопители УК должны иметь небольшую емкость, достаточную для хранения одного пакета, а выходные накопители УК — обладать большой емкостью, так как нужно обеспечить хранение пакетов пои ожи- дании ими разрешения на передачу по выходному каналу. Пред- ва за ж< ва ре лт Д« м< р‘ зс М' и Д1 C5 и: в в Р п 3 п к 3 т г I ( с I i 1 66
варительную оценку емкости накопителей, которую необходимо задать при моделировании, можно провести, используя прибли- женные аналитические соотношения теории массового обслужи- вания [2, 18]. 1.5. Определение параметров и переменных. Прежде чем пе- рейти к описанию математической модели, необходимо опреде- лить параметры системы, входные и выходные переменные, воз- действия внешней среды. Описание каждого параметра и пере- менной дается в следующей форме; определение и краткая ха- рактеоистика; символ обозначения и единица измерения; диапа- зон изменения (для переменных); место применения в модели. Для рассматриваемой в примере СПД в качестве параметров могут быть выбраны емкости буферных накопителей УК (ВхБН и ВыхБН), которые представляют собой объем памяти, необхо- димой для промежуточного хранения информации, содержащей- ся в пакете; емкость каждого БН обозначим через L и будем измерять в количестве пакетов, которые можно поместить в БН; в модели параметр L задается в исходных данных (в ПМДС— в соответствующей карте) и служит для фиксации при модели- ровании состояния занятости (заполненности) БН при оценке потерь (переполнений) и времени ожидания. В качестве эндогенных переменных модели фрагмента СПД зададим: среднюю длину очереди в каждом БН (емкость их задается параметрами L), которая представляет собой среднее число па- кетов, ожидающих в БН дальнейшей обработки (передачи); обо- значим среднюю длину очереди в каждом БН через £сг и будем измерять в количестве пакетов; диапазон изменения £гр - 0... 20, в модели переменная (выходная характеристика) оценивается на основании обработки статистики, собираемой по каждому БН; среднее время передачи сообщений по ДКС, представляющее среднее время, необходимое для передачи всех пакетов одного сообщения с учетом возможных повторных передач из-за ошибок, появившихся в ДКС; обозначим среднее воемя передачи через Тп и будем измерять его в единицах времени; диапазон изменения Тп — 0... 20 единиц времени; в модели переменная (выходная ха- рактеристика) оценивается на основании обработки статистики, собираемой по передаче пакетов по ДКС. В качестве экзогенных переменных модели фрагмента СПД выберем; время передачи каждого пакета по ДКС, представляющее со бой случайную величину с законом распределения, определя- емым числом повторных передач из-за наличия ошибок в ДКС; обозначим время передачи пакета через iDCH и будем измерять в единицах времени, диапазон изменения Дсн от времени пере- дачи одного пакета до времени передачи пакета, умноженного на число допустимых передач; в модели переменная имитируется исходя из состояния ДКС: 3: 67
время обработки каждого пакета в Ц11, представляющее со- бой случайную величину с законом распределения, определяемым занятостью ДКС; обозначим время обработки пакета в ЦП че- рез /сри и будем измерять в единицах времени; в модели пере- менная /сри имитируется исходя из наличия пакетов на вхо- де ЦП. В качестве воздействий внешней среды рассмотрим при мо- делировании фрагмента СПД интенсивность входяшего потока пакетов в УК, представляющего суммарный поток из всех по- токов пользователей и из других УК; интенсивность входящего потока пакетов обозначим Хвх и будем измерять в количестве поступивших пакетов за единицу времени; в модели переменная Л;ри задается в исходных данных (в соответствующей карте) и получается путем генерации датчиком случайных чисел с требу- емым законом распределения [20]. 1.6. Установление основного содержания модели. На этом этапе определяется основное содержание концептуальной модели и выбирается путь (метод) построения математической модели на основе принятых гипотез и предподожений. При этом перехо- де должны учитываться следующие особелпссти: исходная фор- му тировка задачи моделирования; функция и структура системы S, взаимодействие ее элементов, взаимодействия внешней сре- ды Е; возможные средства решения задачи моделирования. Для задачи моделирования процесса функционирования фрагмента СПД. исходя из содержательной постановки задачи моделирования, можно предположить, что процессы, происходя- щие в этом объекте моделирования, являются по своей сути процессами обслуживания [2, 18]. Поэтому рациона 1ьчо описать эти процессы на языке Q-схем, не заботясь пока о возможности получения вероятностно временных характеристик аналитически- ми методами. Основное внимание обращается на адекватность перехода ci концептуальной модели Мк к конкретной Q-схеме. Возможным средством машинной реализации этой модели в такой постанов- ке может быть пакет ПМДС, хорошо приспособленный именно для моделирования процессов обстуживания. 1.7. Обоснование критериев оценки эффективности системы. Для возможности оценки качества процесса функционирования моделируемой системы S необходимо выбрать (если она не за- дана) совокупность критериев оценки э [тфективност и. т. е в ма- тематической! постановке задача уродится к получению гпот но- шений (формул, алгоритмов) для оценки эффект ивнлп и в функ- ции параметров и переменных систем S с учетом воздействий внешней среды Е. Для данного примера в качестве критериев оценки эффектив- ности ппоцесса функиионирования фра> мента СПД заданы ве- роятностно-временные характеристики, которые рассмотрены ранее. 68
1.8. Определение процедур аппроксимации. Для возможности получения числовых значений интересующих характеристик си- стемы S необходимо в процессе моделирования провести аппрок- симации, для чего обычно используются: детерминированная процедура, когда результаты моделирования однозначно опреде- ляются по данной совокупности входных воздействий и парамет- ров системы (предполагается, что в этом случае отсутствуют слу- чайные факторы, влияющие на результаты моделирования); ве- роятностная процедура, когда предполагается, что случайные элементы влияют на результаты моделирования и необходимо получить информацию о законах распределения выходных пере менных; процедура определения средних значений, когда при моделировании представляют интерес средние значения выход- ных переменных при наличии случайных факторов Для рассматриваемого примера моделирования фрагмента СПД будем использовать как вероятностную процедуру, так и процедуру определения средних значений, так как этого требуют заданные для оценки вероятностно-временные характеристики и необходимость учета фактора стохастичности при моделирова- нии СПД [20] 1.9. Описание концептуальной модели. На этом подэтапе по- строения концептуальной модели Мк проводится ее описание в абстрактных терминах и понятиях с использованием типовых ма- тематических схем, т. е. реализуется переход к математической модели системы, окончательно принимаются гипотезы и предполо жения, обосновывается выбор процедур аппроксимации реальных процессов при построении модели. Таким образом, этот подэтап позволяет перейти ко второму этапу моделирования (см. рис, 11), так как после выполнения этого подэтапа остается только проверить достоверность модели и оформить техническую документацию, что особенно важно, если на разных этапах моде- лирования работа выполняется разными исполнителями или кол лективами разработчиков. Поясним сказанное о концептуальной модели иллюстрацией на рассматриваемом примере моделирования фрагмента СПД. Структурная схема модели процесса взаимодействия двух узлов коммутации (УК1 и УК2) через дискретный канал связи (ДКС) в символике Q-схем показана на рис. 3.4, где обозначено И — источник; К — канал; И— накопитель. С использованием вве денных представлений и обозначений опишем процесс функцио- нирования фрагмента СПД. Поступление пакетов данных в мо- делируемый фрагмент СПД на входы имитируется источниками И! и И2. Пакеты буферируются накопителями Н4 и Н2, т. е. ожидают освобождения каналов в УК1 и УК2 соответственно. После обслуживания каналами Л7 и КЗ, т. е. после обработки ПП УК1 и УК2 соответственно, пакеты поступают в выходные накопители Н1 и НЗ этих узлов. Далее, в порядке очереди, копии пакетов обслуживаются каналами К2 и К4, имитирующими про- 69
Рис. 3.4. Структурная схема модели процес- са взаимодействия двух узлов коммутации СПД в символике Q-схем цесс передачи по ДКС. При приеме копии пакета без ошибки, т. е. их поступлении в Н2 и Н4, формируется подтверждение приема, которое в виде короткого пакета поступает в соответст- вующий выходной для данного узла накопитель Н1 и НЗ для передачи на другой УК, т. е. снова реализуется обслуживание каналами К2 и К4. После подтверждения в узле-источнике пра- вильного приема уничтожается пакет, хранящийся в Н1 и НЗ. Выходам соответствуют точки 3 и 4 на структурной схеме моде- ли процесса взаимодейст- вия двух узлов коммута- ции СПД. 1.10. Проверка досто- верности концептуальной модели. После того как концептуальная модель Мк описана, необходимо проверить достоверность некоторых концепций мо- дели и затем перейти к следующему этапу моде- лирования. Проверка до- стоверности концептуаль- ной модели является до- статочно сложной зада- чей, так как такая модель описывается в абстракт- ных понятиях. Одним из методов проверки ее яв- ляется применение обратных операций, чго позволяет проанали- зировать модель, вернуться к принятым аппроксимациям и, наконец, рассмотреть реально процессы, протекающие в модели- руемой системе. Такой метод проверки достоверности концепту- альной модели должен включать следующие процедуры: провер- ку замысла модели; проверку достоверности исходной информа- ции; повторное рассмотрение постановки задачи моделирования; анализ принятых аппроксимаций: исследование гипотез и пред- положений. Только после тщательной проверки концептуальной модели следует переходить ко второму этапу моделирования, т. е. к этапу машинной реализации модели. Для моделируемого в рассматриваемом примере процесса функционирования фрагмента СПД предположим, что в резуль- тате всех проведенных проверок концептуальная модель в тер- минах Q-схем задана в курсовой работе правильно и можно переходить после составления соответствующей технической до кументации к этапу машинной реализации. 111. Составление технической документации по первому эта- пу моделирования. В конце этапа построения концептуальной модели и ее формализации пишутся разлелы пояснительной 70
ибки, ген не I >етст- f ДЛЯ шние пра- и ИЗ. иоде- ейст- чута- осто- :ьной । как щель। димо пость Й МО- НИ к чоде- а до-; уаль- я до- зада- адель ракт- IM из э яв- <али- IM и, цели- епту- овер- >рма- ания; нред- [ЬНОЙ , т. е. Хесса ауль- тер ажно i до- эта- ьной ьной записки к курсовой работе, которые включают следующие сведе- ния (в соответствии с частными, описанными далее в гл. 5): поста- новку задачи моделирования и ее анализ; критерии оценки эсрфективности; параметры и переменные модели системы; гипо- тезы и предположения; описание модели в абстрактных терми- нах и понятиях; описание ожидаемых результатов моделиро- вания. Для рассматриваемого примера моделирования процесса функционирования фрагмента СПД перечисленные сведения, составляющие содержание каждого из подэтапов, были доста- точно подробно описаны выше. Подчеркнем только, что при оформлении пояснительной записки необходимо придерживать- ся требований соответствующих стандартов (см. гл. 5). § 3.2. Алгоритмизация модели и ее машинная реализация На втором этапе моделирования системы математическая модель, сформированная на первом этапе, воплощается в кон- кретную машинную модель Мм. Второй этап моделирования представляет собой практическую деятельность, направленную на реализацию идей и математических схем в виде машинной модели, ориентированной на использование конкретных прог- раммно-технических средств (в курсовой работе — это ПМДС 2.0 и средства ЕС ЭВМ). Удобной формой представления логической структуры моде- лей процессов функционирования систем и машинных программ является схема. На различных этапах моделирования составля- ются обобщенные и детальные логические схемы моделирующих алгоритмов, а также схемы программ. Обобщенная (укрупненная) схема модели задает общий по- рядок действий без каких-либо уточняющих деталей. Укрупнен- ная схема показывает, что необходимо выполнить на очередном шаге, например: «Обратиться к датчику случайных чисел». Детальная схема модели содержит уточнения, отсутствую- щие в обобщенной схеме, и показывает не только, что следует выполнить на очередном шаге, но и как это выполнить. Логическая схема моделирующего алгоритма представляет собой логическую структуру модели процесса функционирова- ния системы Логическая схема указывает упорядоченную после- довательность операци ', связанных с решением задачи моде- лирования. Схема программы отображает порядок программной реали- зации моделирующего алгоритма с использованием математиче- ского обеспечения конкретной ЭВМ и представляет собой интер- претацию логической схемы моделирующего алгоритма разра- ботчиком программы. 71
Различие между этими схемами заключается в том, что логи- л ческая схема отражает логическую структуру модели процесса х функционирования системы, а схема программы — логику ма- и шинной реализации модели с использованием конкретных Е средств программной реализации модели. Логическая схема алгоритма и схема программы могут быть ь выполнены как в укрупненной, так и в детальной форме. При л изображении этих схем используется набор символов, определи- с емых ГОСТ 19.003—80 «Единая система программной докумен- 3 тации. Схемы алгоритмов и программ. Обозначения условные с графические» [8]. Некоторые наиболее употребительные в прак- ц тике моделирования символы с указанием функций, выполняе- N мых ими в схемах алгоритмов и программ, приведены в прило- Р жении 4. Правила выполнения схем регламентируются ГОСТ с 19.002—80 «Единая система программной документации. Схемы L алгоритмов и программ. Правила выполнения» [8]. е Ьолее подробно с формой представления логической структу- ; ры моделирующих алгоритмов и машинных программ познано г мимся при рассмотрении имитационных моделей процессов функционирования различных систем и их программно?! реали- j зании на ЕС ЭВМ. £ Рассмотрим подэтапы, выполняемые при алгоритмизации и т программировании модели, обращая основное внимание на за- ; дачи каждого подэтапа и методы их решения с иллюстрацией д особенностей практической реализации на рассматриваемом г конкретном примере моделирования фрагмента СПД. } 2.1. Построение логической схемы модели. Рекомендуется j строить модель М.ч по блочному принципу, т. е. в виде некото- I рой ограниченной совокупности блоков. Построение модели сис- ( темы из таких блоков обеспечивает необходимую гибкость моде- ; ли Мм в процессе ее эксплуатации, а также дает ряд преиму- i ществ на стадии ее машинной отладки. При построении блочной j модели проводится разбиение процесса функционирования сис- ; темы на отдельные достаточно автономные подпроцессы. Таким образом, модель функционально подразделяется на подмодели 5 каждая из которых может быть разбита на еще более мелкие элементы. Блоки такой модели бывают основные и вспомога- тельные. Каждый основной блок соответствует некоторому под j процессу, имеющему место в моделируемой системе S, а вспомо- , гательные блоки представляют лишь составную часть машинной j модели. Они не отражают функции моделируемой системы и необходимы лишь для машинной реализации модели, фиксации । и обработки результатов моделирования. ( Рассматриваемый пример моделирования процесса функцио- ( нирования фрагмента СПД ориентирован на использование , пакета ПМДС, в котором уже предусмотрена символика изоб j ражения схемы модели на языке блок-диаграмм (см. приложе- । ние 2), для реализации модели, что практически освобождает • 72
логи- щесса у ма- етных быть . При щеля- умен- >вные прак- лняе- рило- ГОСТ Зсемы укту- нако- ессов еали- ьИИ и а за- ацией емом уется кото- сис- лоде- ;иму- )ЧНОЙ сис- аким цели, :лкие лога- под- IOMO- нной мы и 1 ации ' щио- ] ание <зоб- оже- дает | пользователя от выполнения этого подэтапа и позволяет пере- ходить к следующим. Особенности построения схем моделей при использовании языка общего назначения ПЛ/1 рассмотрены з примерах гл. 6. 2 2. Получение соотношений модели. Одновременно с выпол- нением подэтапа построения логической схемы модели необхо- димо, где это возможно, получить математические соотношения в виде явных функций. Этот подэтап соответствует неявному заданию возможных математических соотношений на этапе по- строения концептуальной модели При выполнении первого эта- па еще может не быть информации о конкретном виде таких математических соотношений, на втором этапе эти соотношения необходимо получить. Схема машинной модели должна пред- ставлять собой полное отражение заложенной в модели концеп- ции и иметь описание всех блоков модели с их наименованиями; единую систему обозначений и нумерацию блоков; отражение логики модели; задание математических соотношений в явном виде. Так как в рассматриваемом примере моделирования для реа- лизации был выбран пакет ПМДС. то необходимо разработать блок диаграмму модели, по сути представляющую собой логи- ческую схему, адаптированную к особенностям использования для машинной реализации модели ПМДС. Блок-диаграмма мо- дели процесса функционирования фрагмента СПД для данного примера приведена на рис 3.5, где для структурных элементов модели, показанных на рис 3.4, введены следующие обозначе- ния; для накопителей Hi Н'2, НЗ и Н4 соответственно, BUF1, BUF2, BUF3 и BUF4; для источников И1 и И2 соответственно GEN1 и GEN2; для каналов обслуживания- в узлах коммутации для ЦП Л7 —CPU1 и Л’З —CPU2, в каналах связи при дуплекс- ной передаче К2— DCH1 и К4— DCH2 Остальные обозначе- ния, использованные на блок-диаграмме, показанной на рис 3.5, знакомы из рассмотренного ранее материала (см гл. 2). 2.3. Проверка достоверности модели системы. Эта проверка является первой из выполняемых на этапе реализации модели Так как модель представляет собой приближенное описание про цесса функционирования реальной системы S, то до тех пор, пока не доказана достоверность модели, нельзя утверждать, что с ее помощью мы получили результаты, адекватные тем, которые могли бы быть получены при проведении натурного эксперимен- та с реальной системой. Проверка модели на рассматриваемом подэтапе должна дать ответ на вопрос, насколько логическая схема модели и используемые соотношения отражают замысел ее, сформированный на первом этапе. При этом проверяются возможность решения постановленной задачи, точность отраже- ния замысла в логической схеме, полнота логической схемы мо- дели, правильность используемых математических соотношений. Только после этого можно считать, что имеется логическая схе- 4—1559 73
Рис. 3.5. Блок-диаграмма ПМДС модели процесса взаимодействия узлов коммутации СПД
ыа модели, пригодная для дальнейшей работы по реализации модели на ЭВМ. В рассматриваемом примере моделирования процесса функ- ционирования фрагмента СПД проверка достоверности модели проводится просто, так как блок-диаграмма ПМДС однозначно соответствует формализации модели з виде Q-схемы Для этого достаточно еше раз сопоставить блок-диаграмму, приведенную на рис 3 5, с Q-схемой модели на рис. 3.4 с учетом расширения описания элементов Q-схемы (источников, накопителей и кана- лов) блоками различных категорий ПМДС. 2.4. Выбор вычислительных средств для моделирования. На этом подэтапе необходимо окончательно решить вопрос о выбо- ре ЭВМ для реализации .модели на основе следующих требова- ний: наличие необходимого математического обеспечения; доступность выбранной ЭВМ для разработчика модети; обеспе- чение всех этапов реализации модели; возможность своевремен- ного получения резу чьтатов моделирования. В рассматриваемом случае моделирования фрагмента СПД, исходя из ориентации на применение ПМДС, для машинной реализации модели требуется порядка 130К оперативная память, а с учетом сложности модели для ее машинной реализации необ- ходи мо быстродействие не менее 200 тыс. операций в секунду. Поэтому останавливаемся на предварительно выбранной на первом этапе ЕС ЭВVI. в состав математического обеспечения которой входит интерпретатор ПМДС. Кроме того, использова- ние СВМ ЕС (см. § 2.9) предоставляет широкие возможности по от 1адке и использованию программ моделирования в интер- активном режиме. 2.5. Составление плана выполнения работ по программирова- нию. Так( й план помогает разработчику при программировании модели учесть оценки объема пр тграмцы и трудозатрат на ее составление. Он должен включать в себя указание языка прог- ра лмитозания модели и типа используемой ЭВМ, оценку приб- лизительного числа команд, оценку примерного объема необхо- димой памяти, ориентировочные затраты времени на моделиро- вание, предполагаемые затраты времени на программирование, перфорацию и отладку программы на ЭВтМ. Для данно) > примера моделирования фрагмента СПД используется ПМДС, который имеет соответствующею поддерж- ка в ЕС ЭВМ и может работать в среде ОС или СВМ ЕС ЭВМ Чигпо кома® для Реализации разработанной модели в ПМДС- программе составляет порядка 60К а необходимый объем опе- ративной памяти — порядка 190К. Ориентировочные затраты мйшйнного времени на моделирование варианта с СПД состав- ляют порядка 50 с при исполь ювании ЭВМ ЕС-1060. В этом примере затраты времени на npoi ряммировзние при использо- вании ПМДС составляют около трех недель с учетом часов, еженедельно отводимых на выполнение курсовой работы. 4' 75
2.6. Построение схемы программы. Наличие логической схе- мы модели позволяет построить схему программы, отражающею разбиение модели на блоки, подблоки и т. д., особенности про- граммирования на выбранном языке для конкретной ЭВМ, про- ведение необходимых корректировок и возможности тестирова- ния программы, оценку затрат машинного времени, форму представления входных и выходных данных. Построение схемы программы — одна из основных задач на этапе машинной реа- лизации модели. В рассматриваемом примере при реализации программы с использованием ПМДС отпадает необходимост ь в построении схемы программы, так как блок диаграмма дает достаточную степень детализации, поддерживаемую средствами ПМДС, для генерации рабочей программы моделирования. Тестирование полученной ПМДС-программы обеспечивается специальным средством TRACE [9—11]. Форма представления входных дан- ных моделирования варианта СПД определяется форматом данных в ПМДС-программе, а выходных — задается редакто- ром вывода. При использовании языка ПЛ/1 для реализации модели необходима разработка схемы программы с более высокой сте- пенью детализации, соответствующей уровню операторов ПЛ/1 [23, 33] Вопросы, связанные с построением детальных схем П<Л/1-программ, рассмотрены в примерах, приведенных в гл. 6 2.7. Проверка достоверности схемы программы. Эта провер ка является второй на этапе машинной реализации модели. Оче- видно. что не следует продолжать работу по машинной реализа- ции модели М.л, если нет уверенности в «том, что в схеме прог- раммы, по которой будет вестись дальнейшее программирование, допущены ошибки, которые делают ее неадекватной логической схеме модели, а следовательно, и самому объекту моделирова- ния. При этом проводится проверка соответствия каждой опера- ции, представленной в схеме программы, аналогичной ей опера- ции в логической схеме модели. Учитывая, *гго рассмотрение вопросов тестирования и верификации программного обеспече- ния в других дисциплинах специальности АСУ, предшествующих по времени выполнению курсовой работы по дисциплине «Моде- лирование систем», не будем останавливаться на выполнении э того под ,тапа. С учетом использования для реализации модели процесса функционирования СПД пакета ПМДС. в рассматриваемом пои мг-ре такая проверка не требуется, так как средствами пакета обеспечивается однозначный переход от блок-диаграммы ПМДС к рабочей програ,яме. 2 Я Проведение ||рограммирования модели. При достаточно подробной схеме программы, отражающей все операции ло1 и ческой схемы модели, можно приступить к АИграммированию модели. Если имеется адекватная схема программы, то програм- 76
1 схе- ощую про- про- рова- >орму хе мы реа- мы с >ении чну ю для >ание 5 HUM дан- атом 1КТО- дели сге- 1Л/1 гхем л. 6. 'вер Эче- иза- рог- ние, 'КОЙ эва- ;ра- гра :ние ече- цих )де- нии сса пи пированием модели занимается только программист без участия и помощи со стороны разработчика модели (при выполнении курсовой работы студент выступает как в роли разработчика модели, так и в роли программиста). В данном примере переход от блок-диаграммы ПМДС к про- грамме является формальным шагом, так как заключается в записи пространственной структуры в линейном виде, что не требует специальных навыков. ПМДС-программа, полученная из блок-диаграммы, приведена ниже, а ее описание с коммента- риями — в табл. 3.1. Т а б л 1 да 3.1 ДС тно ги- ию JM Номер карты Номер блока Пояснения 1 — Перераспределение оперативной памяпч 2 —- Карта запуска симулятора 3 4-8 Блокировка печати программы в абсолютных ко- дах Карты задания экспоненциального распреде- ления 9 1 Занятие одного мест” в накопителе BI’F4 10—13 2—5 Обработка в процессоре GPL1 и освобождение одного места в накопителе BUF4 14 6 Вхождение в накопитель BL'Fl 15 7 Проверка признака «своих» транзактов 16 8 Проверка признака нового транзакта 17 9 Создание копии транзак.а 18 10 Блокировка транзакта в накопителе BUF1 до прихода подтверждения о приеме копии пакета 19 И Стирание транзакта из накопителя BOF 1 20 12 Уничтожение транзакта 21 23 13 -25 Занятие канала связи «чужими» траизактами 24 16 Занятие канала связи «своими» тра чзактамн 25 17 Обработка в канале связи DCH1 26 18 Освобождение канала связи DCH1 27 19 Присвоение транзякту признака копии 28—47 20—39 Блоки, аналогичные блокам 1 .19 (моделируют второе направление дуплексного каналз связи) 48 51 40 43 Операторы генерации входного потока транзак- тов для «прямого» направления передачи 52—55 44—47 Операторы генерации входного потока для «об- ратного» направления передачи 56—з7 58 59 48—49 Системные часы на 10 000 единиц времени Счетчик завершения Карта окончания моделирования При кодировании ПЛ/1-программы от разработчика требу- ется более глубокое знание языка, так как переход от схемы к программе в этом случае требует существенных навыков и опы та программирования на ПЛ/1 [15, 22]. Примеры ПЛ/1-прог- рамм приведены в гл. 6. 2.9. Проверка достоверности программы. Эта проверка явля- ется последней на этапе машинной реализации модели и должна 77
..... пакет моделирования дискре'н^х систем ..... • * • * • ПМДС 2.0 (CC EC> • • * « • BLOCK NUMBER *LOc OPERatION AiB'C.D.E.F.C.Hi .1 CONTENTS S HIJLa’E UNLJST ABS EXPON FUNCTION Rh1-C24 0 0 . 1 . Ю4 .2 .2 22 .3 .355 .4 S09 ,5 .69 .ь .9)5 .7 1.2 .75 1- 38 .8 1,6 ,84 1.83 .86 2.12 . 9 2.3 .92 2.52 .94 2. 81 .95 2.99 .96 3.2 .97 3 ,5 . 98 3.9 .99 4.6 .995 5. 3 .998 6.2 .9 >9 7.0 ,9997 8.0 1 МЕТ1 ENTER Bl Fli 1 2 SEIZE CPU! 3 ADVANCE 2 ОБРАБОТКА В CPU1 л leave BUF4>1 5 release c»u i 6 enter BLF 1 , 1 7 TEST Е PB2-Kl-MET4 В TEST E PBt ’K20i?OP1 9 split 1.NEX1 10 СОР1 MATCH cop i 11 LEAVE BUFl,1 12 TERMINATE 1 3 МЕТ4 SE IZE DCH1 1 1 LEAVE BUFl . 1 1 5 TRANSFER 1NEX1+I 16 NEX1 SEIZE DCH t 1 7 advance PB1 передана no dchi 18 RELEASE DCH1 19 ASSIGN 1.1•iPB 20 МЕТ2 ENTER BUE2 . 1 21 SEIZE CPU2 2? ADVANCE 2 ОБРАБОТКА В CpU2 23 LEAVE BUF2,1 24 RELEASE CPu2 25 enter BUF3,J 26 TEST E PB2K2.ПEI5 27 TEST E PB 1 K20 .COP2 28 SPLIT 1 .1 FX2 27 СЭР2 HATCH C0P2 30 LEAVE BJF3.i 31 TERM-MATE 32 Н5Т5 SEIZE DCH2 33 LEAVE В IF3 , 1 ^4 TRANSF EP .NEX2.1 35 NEX2 SEIZE DCI 2 36 A DVANCE PB ! ПЕРЕДАЛА ГО DCH2 3 7 release DCH2 ЗВ ASSIGN 1.1..°B T9 TPANSFrP , HET 1 40 CEN2 GEN“=a'E 25.RNbEXPDN., . , 2РВ >1Рр 4 1 AS'IGM 1 ,20 - .PB 42 ASSIGN 2.2..PB 43 TRANS! ER .MFT2 4Л СЕК! CFfgOfTr 25 F4bEXPCN.., , 2РВ, 1DF 4 5 ASSIGN 1 . 20 • , PB 46 ASSIGN 2,1•.P0 47 TRANSFER , “El 1 4« GLNETa’E 1.,1600я СИСТЕМНЫЕ “ACS 1 49 TFRM'NATF 1 s far r e№ 1 78
провотиться либо путем обратного перевода программы в ее схему, либо проверкой отдельных частей программы при реше- ни различных тестовых задач, либо объединением всех частей программы и проверки ее в полем На этом подэтапе необходи- мо также уточнить оценки затрат машинного времени на моде- лирование. Для рассматриваемого примера моделирования фрагмента СПД сгенерированные ПМДС рабочие программы однозначно соответствуют блок-диаграмме и не требуют такой проверки, что еще раз подчеркивает преимущества использования для моделирования специализированных пакетов прикладных прог- рамм, реализованных на базе языков имитационного моделиро- вания [12, 20, 25]. Проведе шая повторная оценка затрат машин- ного времени ыа прогон модети подтверждает, что это время не превышает 30 с при использовании ЭВМ ЕС 1060. 2.10. Составление технической документации по второму эта- пу. [1я завершения зтяпа машинной реализации модели необ- ходимо составить техническую документацию, содержащую логическую схему модели и ее описание, схему программы и принятый обозначения, полный текст программы, перечень вход- ных и выходных величин с пояснениями, инструкцию по работе с программой, оценку затрат машинного времени на моделиро- вание. Техническая документация по второму этапу моделирования до; жна составляться при выполнении курсовой работы непо- средственно при реализации соответствующих подэтаг.ов. В рас- сматриваемом примере входные переменные в ПМ ЦС-програм- ме задаются в явном виде, а выходные — определяются стандартным выводом редактора вывода ПМДС. Работа с про- граммой заключается в загрузке се либо в пакетном режиме в инструментальную ЭВМ под управлением ОС. ЕС либо в интер- активном режиме с использованием СВМ ЕС. При оформлении программной документации второго этапа необходимо строго придерживаться стандартов ЕСПД [R] (перечень основных из них приведен в приложении 5). 3.3. Получение и интерпретация результатов моделирования На третьем этапе моделирования инструментальная ЭВМ используется для проведения рабочих расчетов по составленной и отлаженной программе Результаты этих расчетов позволяют провести анализ и сформулировать выводы о характеристиках процесса функционирования моделируемой системы S. При реа- лизации моцелируюших алгоритмов на ЭВМ вырабатывается информация о состояниях процесса функционирования исследу- емой системы, которая является исходным материалом для 79
приближенной оценки искомых характеристик, получаемых в результате имитационного эксперимента с моделью [20] Остановимся на рассмотрении каждого из подэтапов с иллю- страцией их содержания действиями, выполняемыми при моде- лировании процесса функционирования фрагмента СПД. 3.1. ГНанирование машинного эксперимента с моделью сис- темы. Перед проведением рабочих расчетов на ЭВМ д элжен быть составлен план проведения эксперимента с моделью систе- мы S с указанием комбинаций переменных и параметров, для которых проводится моделирование Проведение стратегическо- го и тактического планирования машинных экспериментов при- звано в итоге дать возможность получить максимальный объе .1 необходимой информации об объекте моделирования при мини- мальных затратах ресурсов ЭВМ. При выполнении чгого под этапа решаются частные задачи тактического планирования конкретного малинного эксперимента при уже заданных усло- виях его проведения и выбранных инструментальной ЭВМ и ее математического обеспечения. Используя методы планирования экспериментов, определим координаты точек факторного про- странства и комбинации уровней факторов для каждой экспери- ментальной точки [20]. Пусть для рассматриваемого примера заданы (с учетом использования для моделирования ПМДС) следующие исходные данные (набор параметров и переменных): емкости накопителей УК Ц=20 пакетов, 1=1,4; средний интервал времени между моментами поступления пакетов в УК А* = 25 единиц времени, fe=l,2; время передачи пакета данных по ДКС А = 20 единиц времени, /—1,2; время передачи пакета подтверждения по ДКС //"—1 единица времени, /—1,2; время обработки пакета в ЦП /лри — о единицы времени, j— 1,2; точность оценки характерис- тик е =0,1, достоверность оценки характеристик Q = = 0,95. Введя обозначения факторов Xi--Li. x2=Xk, х3= t д и прове- дя кодирование их значений при установлении для каждого фактора двух уровней, получим план полного факторного экс перимеша типа 23: Номер испытания .... 12345678 х,.................. -1 -1 -1 -1 + +1 +' -г-1 Х2.............. —1 —1 +1 +1 -1 -1 +1 +1 Хз . . ........... 1+1 I 4 I 1+1 1 Ч 1 В рассматриваемом примере учитывая его простоту, можнэ ограничиться проведением полного факторного эксперимента. Для более счожных случаев рационально использовать другие методы планирования экспериментов с машинными ь^оделями [13, 20]. Тактическое планирование машинного эксперимента для рас- сматриваемого примера моделир эвания фрагмента СПД с целью 80
оценки вероятностно-временных характеристик процесса ее функционирования проведем для определения необходимого числа реализаций при заданной точности и достоверности ре- зультатов моделирования. В данном случае дтя оценки необхо- димого числа реализаций воспользуемся неравенством Чебыше- ва [1 5, 20] Р{|£' £| т. е. при выборке объема X по меньшей мере (1 — l/*?2) измерений находятся на расстоянии не ботее q среднеквадратических отклонений. В этом неравенст- ве Е — значение показателя эффективности СПД; Е— оценка показателя эффективности СПД; |£—£|=е—абсолютная точ- ность оценки; q — любое положительное число. С учетом необходимости определения числа реализаций пред- ставим рассматриваемое неравенство как £{]£—£|2><7е} = = n'/.V=(l—Рд), где Pi — доверительная вероятность, п— чис- ло измерений с результатом Qcr Тогда (I—Ра) = 1/(<72Л'). От- куда M=^2/(|—£д). Так, например, для получения оценки эффективности, задан- ной с точностью £=ст/10 и доверительной вероятностью РЛ — = 0,95, т. е. при Р{е>е/10}<с0,05. необходимо имитировать до- ставку в СПД N—102/0.05 = 2000 пакетов. В пределах данного примера другие частные задачи такти- ческого планирования эксперимента с моделью СПД рассмат- ривать не бхдем. 3 2. Определение требований к вычислительным средствам. При этом необходимо окон1 ательно (предварительно это было сделано на предыдущих этапах) сформулировать требования по времени загрузки вычислительных средств, т. е. составить гра- фик испо тьзования ЭВМ, а также необходимо указать тс внеш- ние устройства ЭВМ и их комплеииюсть. При выполнении курсовой работы требования к вычисли- тел >ным средствам и график их использования уже определены с учетом расписания учебных занятий и загрузки вычислитель- ного центра института Для реализации машинной модели ПМДС минимальный комплект технических средств и характе- ристики инструментальной ЭВМ задаются исходя из условий применения пакета (см. § 2.9). 33, Проведение рабочих расчетов. После составления плана проведения машинного эксперимента можно приступить к вы- полнению рабочих расчетов на ЭВМ, которые обычно включаю- подготовку наборов исходных данных, подготовку исходных данных для ввода в ЭВМ Iзапись на перфокарты, перфо тенты и т. п.), проверку исходных данных, подготовленных для ввода, проведение расчетов на ЭВМ, получение результатов моделиро- вания. Моделирование рационально выпотять в два этапа: сна- чала контрольные, a затем рабочие расчеты. Причем контроль- ные расчеты проводятся для проверки машинной модели и определения чувствительности результатов к изменению исход- ных данных. 81
Для рассматриваемого примера моделирования фрагмента СПД особенностью подготовки исходных данных в ПМДС явля- ется то, что они вносятся в явном виде в текст программы. По- этому подготовка их сводится к занесению этих данных в соот- ветствующие блоки программы заменой перфокарт или путем использования текстового редактора СВМ ЕС (см. § 2.9). 3.4. Анализ результатов моделирования системы. Чтобы про- анализировать выходные данные, полученные при моделирова- нии системы S на ЭВМ, необходимо знать, что делать с резуль- татами рабочих расчетов и как их интерпретировать. Эти задачи могут быть решены на основании предварительного анализа, проведенного на первых этапах моделирования. Планирование машинного эксперимента позволяет вывести необходимое коли- чество выходных данных и определить метод их анализа. При этом необходимо выводить только те результаты, которые нуж ны для проведения дальнейшего анализа. Также необходимо полнее использовать возможности инструментальной ЭВМ для статистической обработки результатов моделирования и пред- ставления этих результатов в наиболее наглядной форме нап- ример в виде графиков, гистограмм, схем и т. п. Вычисление статистических характеристик перед выводом результатов поз- воляет повысить эффективность использования ЭВМ и свести к минимуму обработку выходной информации после ее выдачи пользователю. Для рассматриваемого примера с помощью пакета ПМДС получены отдельные статистики по функционированию каждо- го устройства СПД и обобщенная статистика процесса переда- чи пакетов в рассматриваемом фрагменте СПД. На основе этого можно получить полное представление о процессах, происходя- щих в СПД, исследование которых намечалось провести при постановке ; щачи моделирования в данном примере 3.5. Представление результатов моделирования. Необходимо па третьем этапе моделирования окончательно решить вопрос о форме представления результатов моделирования (таблицы, графики, диаграммы, гистограммы, схемы и т п). В каждом конкретном случае целесообразно выбрать наиболее подходя- щую форму представления результатов моделирования, так как это существенно влияет на эффективность дальнейшего исполь- зования результатов заказчиком. В большинстве случаев удоб- нее результаты моделирования сводить в таблицы, хотя графики позволяют более наглядно иллюстрировать полученные ре- зультаты. В рассматриваемом примере моделирования фрагмента СПД наряду со стандартной статистикой о Функционировании уст- ройств (рис 3 6) и накопителей (рис. 3.7) использованы также возможности ПМДС по сбору статистики в виде таблицы (рис. 3.8), на основе чего построена машинная гистограмма рас- пределения времени передачи пакета данных по фрагменту 82
СПД, которая приведена на рис. 3.9. Применение статистической таблицы позволило получить более широкий набор характерис- тик процесса передачи пакетов в СПД, а гистограмма более наглядно представила полученные в результате моделирования характеристики процесса функционирования СПД. Кроме того, /Д 50 50 1в 'за ЦД /М ttTjzZ/W 'д0Л02502ф Рис. 3.6. Сгаг1стика о функционировании процессоров и каналов связи СПД с помощью такой гистограммы можно достаточно просто оце- нить некоторые дополнительные характеристики, например с/ .-дать и проверить предположения о характере закона распре- деления времени передачи пакета, оценить вероятность превы- шения заданного времени передачи пакета к т д 3.6. Интерпретация результатов моделирования. После полу- чения и предварительного анализа результатов моделирования они должны быть интерпретированы относительно моделируемо- го объекта, т. е. системы S. Таким образом, основным содержа нием этого подэтапа явгяется переход от информации, получен- ной в результате машинного эксперимента с моделью Мм, к информации применительно непосредственно к объекту модели- рования, па основ 1нпл которой и будут делаться выводы отно- сительно характеристик процесса функционирования исследхе- мой сис гемы S В рассматриваемом примере модели пронесся функциониро- вания фря1 мента СПД специальной интерпретации результатов моле ирогания не требуется, так как. во-первых, не проводилось масштабирование переменных и, следовртельно, нет необходи- мости в их переводе в исходные значения; во вторых, при фор- мализации и алгоритмизации объекта моделирования реальные элементы системы не подвергались декомпозиции, а были смо- 83
* e * * « • • FACILITIES it • « -average FAC1L1T* NUMBER AVERAGE TOTAL PERCENT transaction number Е NTR!E5 T IME FT RAN TIME AVA tvAaIL17Y SEIZING PREEMPT INC СР U 1 12 59 2,000 .251 100,0 ОСн'. 816 10.«77 .6/9 100 .0 32 CPjJ 1260 2,000 .252 100,0 15 СС 42 o5A 10,606 .888 100.0 39 Рис i.7. Статистика о функционировании накопителей узлов коммутации СПД STORAGES STORACF CA^ACJTY AVERAGE Г ft LI T C LI ♦ 0. fnTries AVERAGE Average T"tal PERCEN’ BUF i 8UF t B«F2 BUF3 21A/«83d«7 2 1 А /4 83 6 4 7 214/483647 2,4'483547 LUNTtNTS 329 7 083 3)3 7 245 1259 1259 1261 1 259 T IME/UN1T 2,617 56.26] 2.345 57.543 TJMF .000 ,000 .000 .004 AVAILABILITY 100,0 100.0 100.0 100,0 current CONTENTS 1 о 2 11 Рис, 1,8. Статистическая таблица характеристик процесса функционирования
tables table 1 EN’RliS IN TABLE t A 6 Z MEAN ARCJhEnT 123.854 STANDARD DF« Г* Г ION SUn 61,750 OF ARCUNeNTS 205846,000 NON-WEI ch IE 0 I P°ER LlflT 10 30 ’0 70 ’0 не 130 t 50 1 ’0 190 210 230 250 270 290 'll 330 REH*[NINC FREOLENC'ES Observed her cent FReOJENCV OF TOT#', о .00 10 2.10 1 2? 7.34 194 11.4! 212 12.75 204 12.27 200 12.03 190 11.13 |42 8.54 |04 6.25 I 00 6.0 i 54 3.24 30 1.40 20 1.20 26 1.56 13 1.08 6 .36 ARE All ZERO cunjlat t vg pfRSEnTaCE .0 2> 1 9 . ? 21.4 34-! 46.4 58 . л 69.9 78.4 B4 . 7 90.7 93.9 95,7 96-9 98,5 99.6 1ЙЭ.0 CUMULATIVE REMAINDER 100.0 97,5 90.2 78,5 65.8 53 »5 4 i .5 30.0 21.5 15.2 9,2 6,0 4.2 3,0 1 , 4 .3 . 0 MU' T IPLj OF DEAN • 080 .24? • 403 .565 .706 •'38 1.049 t.2ll 1.572 1 -53. 1 .6?5 t.85? 2.0 10 2-17R 2 .3 1j 2.502 2.66, Dt 9 1 А Г ION FROM ULAN - 1 .843 -1-519 -1.196 -.872 - . 548 - . 224 .099 .423 . 74 1 1.071 1 .395 1.716 2.042 2.360 2.690 3.014 3.336 Рис. 3.9 1истограмма распределения времени передачи пакета данных в СПД
делированы соответствующими объектами языка ПМДС, вслед- ствие чего статистика, полученная по объектам языка, непосред- ственно является статистикой элементов исходной моделируемой системы; в-третьих, специальные статистики о процессе функ- ционирования СПД организовывались так, чтобы исключить неоднозначность понимания Т; к им образом, в рассматриваемом примере полученные результа i .1 моделирования отражают ха- рактеристики процесса функционирования исследуемого объек- та, т. е. фрагмента СПД, и выражены в размерности реальных физических величин, характеризующих СПД. 3.7. Подведение итогов моделирования и выдача рекоменда- ций. Проведение этого подэтапа тесно связано с предыдущим. При подведении итогов моде тирования должны быть отмечены главные особенности полученных в соответствии с планом экс- перимента результатов, проведена проверка гипотез и предполо- жений и сделаны выводы на основании полученных результатов моделирования. Все это позволяет сформулировать рекоменда- ции по практическому использованию заказчиком полученных результатов моделирования, например, на этапе проектирования конкретной системы S. Для рассматриваемого примера моделирования процесса функционирования фрагмента СПД можно сделать вывод, что полученные па ЭВМ результаты отражают основные особенно- сти функционирования объекта и позволяют качественно и коли- чественно оценить его поведение На основе полученных оценок характеристик можно, например, дать следующие рекомендации. Загрузка процессоров порядка 25%, а загрузка каналов связи СПД приближается к 90%, т. е. очевидна несбалансированность производительностей процессоров и каналов связи СПД Поэто- му в зависимости от допустимого времени передачи пакета в СПД можно либо снизить производительность процессоров, что удешевит систему, либо повысить производительность каналов связи, обеспечивая при этом заданное качество передачи данных. 3.8. Составление технической документации по третьему эта- пу. Эта документация является окончательной и результирую- щей и включает в себя план проведения машинного эксперимен- та. наборы исходных данных для моделирования, результаты моделирования системы, анализ и оценку полученных результа- тов, пути дальнейшего совершенствования машинной модели. Документация по моделированию конкретной системы S на ЭВ/М должна содержать весь комплект технической документации по каждому из трех рассмотренных этапов, оформленный в соот- ветствии с требованиями ГОСТов [9—11]. Для рассматриваемого примера моделирования фрагмента СПД содержание перечисленных документов было уже рассмот- рено в процессе выполнения этапов и подэтапов моделирования. При выполнении курсовой работы вся документация оформляет- ся в соответствии с требованиями, сформулированными в гл. 5. 86
Г ЛАВА 4. ТЕМАТИКА КУРСОВЫХ РАБОТ § 4 1 Общие требования к тематике курсовых работ Тематика курсовых работ должна соответствовать основным разделам типовой программы дисциплины «Моделирование си- стем» с учетом рекомендаций, инструктивных писем и приказов Минвуза СССР в части курсового проектирования и научно- исследовательской работы студентов по повышению эффектив- ности применения средств вычислительной техники и отражать научно-исследовательскую деятельность кафедры. Теоретическая часть курсовой работы должна базироваться на лекционном материале дисциплины «Моделирование систем» и может быть связана с другими дисциплинами гипового учеб- ного плана данной специальности, прочитанными ранее. Задание на курсовую работу является индивидуальным. В отдельных случаях возможны темы исследовательского харак- тера. Выбор тематики курсовых работ осуществляется в соответ- ствии с учебными задачами дисциплины «Моделирование сис- тем» и ее разделов, направлением специализаций специальности АСУ. Исходя из этих требований и была выбрана общая нап равленность тематики курсовых работ. Кроме того, при выборе тематики учитываются особенности машинной реализации систем ipn допустимых затратах машин вых ресурсов на реализацию моделей (машинного времени и оперативной памяти) для их выполнения при возможности орга низации интерактивного режима, что особенно важно для актив- ного усвоения теоретического материала дисциплины и интен- сивного приобретения практических навыков моделирования па современных ЭВМ. Все разработанные типовые задания ориен- тированы на использование для моделирования систем пакета ПМДС (или при его отсутствии алгоритмического языка ПЛ/1) на ЕС ЭВМ в среде ОС или СВМ ЕС (3, 7, 21, 25]. Приводимые в § 4.2 типовые задания на моделирование мо- гут быть использованы как для выдачи в качестве заданий на выполнение студентами курсовой работы, так и в качестве осно- вы для разработки в конкретном вузе индивидуальных заданий е учетом специфики и направленности подготовки, например, с учетом особенностей конкретного предприятия при проведении целевой интенсивной подготовки специалистов. § 4.2. Варианты типовых заданий для моделирования Задание 1. Па сборочный участок цеха предприятия через интервалы времени, распределенные экспоненциально со сред- 87
ним значением 10 мин, поступают партии, каждая из которых состоит из трех деталей. Половина всех поступающих деталей перед сборкой должна пройти предварительную обработку в те- чение 7 мин На сборку подаются обработанная и необработан- ная детали. Процесс сборки занимает всего 6 мин. Затем изде- лие поступает на регулировку, продолжающуюся в среднем 8 мин (время выполнения ее распределено экспоненциально). В результате сборки возможно появление 4% бракованных из делий, которые не поступают на регулировку, а направляются снова на предварительную обработку. Смоделировать работу участка в течение 24 ч. Определить возможные места появления очередей и их вероятностно-вре- менные характеристики. Выявить причины их возникновения, предложить меры по их устранению и смоделировать скорректи- рованную систему. Задание 2. На обрабатывающий участок цеха поступают детали в среднем через 50 мин. Первичная обработка деталей производится на одном из двух станков. Первый станок обраба- тывает деталь в среднем 40 мин и имеет до 4% брака, второй — соответственно 60 мин и 8% брака. Все бракованные детали возвращаются на повторною обработку на второй станок. Дета- ли, попавшие в разряд бракованных дважды, считаются отхо- дами. Вторичную обработку проводят также два станка в сред- нем 100 мин каждый. Причем первый станок обрабатывает име- ющиеся в накопителе после первичной обработки детали, а второй станок подключается при образовании в накопителе задела больше трех деталей. Все интервалы времени распреде- лены по экспоненциальному закону. Смоделировать обработку на участке 500 деталей. Опреде- лить загрузку второго станка на вторичной обработке и вероят- ность появления отходов. Определить возможность снижения задела в накопителе и повышения загрузки второго станка на вторичной обработке. Задание 3. На регулировочный участок цеха через случайные интервалы времени поступают по два агрегата в среднем через каждые 30 мин Первичная регулировка осуществляется для двух агрегатов одновременно и занимает около 30 мин. Если в момент прихода агрегатов предыдущая партия не была обра ботана, поступившие агрегаты на регулировку не принимаются. Агрегаты после первичной регулировки, получившие отказ, по- ступают в промежуточный накопитель. Из накопителя агрегаты, прошедшие первичную регулировку, поступают попарно на вто- ричную регулировку, которая выполняется в среднем за 30 мин, а не прошедшие первичную регулировку поступают на полную, которая занимает 100 мни для одного агрегата. Все величины, заданные средними значениями, распределены экспоненциально. Смоделировать работу участка в течение 100 ч. Определить вероятность отказа в первичной регулировке и загрузку накопи 88
теля агрегатами нуждающимися в полной регулировке. Опреде- лить параметры и ввести в систему накопитель, обеспечиваю- щий безотказное обслуживание поступающих агрегатов. Задание 4. Система передачи данных обеспечивает передачу пакетов данных из пункта .4 в- пункт С через транзитный пункт В. В пункт Л пакеты поступают через 10±5 мс Здесь они буферизуются в накопителе емкостью 20 пакетов и передаются по любой из двух линий ЛВ1 — за время 20 мс или АВ2 — за время 20 + “> мс. В пункте В они снова буферизуются в накопи- теле емкостью 25 пакетов и далее передаются по линиях ВС1 (за 25г*-3 мс) и ВС2 (за 25 мс). Причем пакеты из ЛВ1 посту- пают в ВС1 а из АВ2—в ВС2. Чтобы не было переполнения накопителя, в пункте В вволится пороговое значение его емко- сти - 20 пакетов. При достижении очередью порогового значе- ния происходит подключение резервной аппаратуры и время передачи снижается для линий ВС1 и ВС2 до 15 мс Смоделировать прохождение через систему передачи данных 500 пакетов. Определить вероятность подключения резервной аппаратуры и характеристики очереди пакетов в пункте В. В слу чае возможности его переполнения определить необходимое хля нормальной работы пороговое значение емкости накопителя. Задание 5. Система обработки информации содержит муль- типлексный канал и три мини.ЭВМ. Сигналы от датчиков посту- 1аю- на вход канала через интервалы времени 10+5 мкс. В канале они буферизуются и предварительно обрабатываются в течение 10-*-3 мкс. Затем они поступают на обработку в ту миниЭВАА, где имеется наименьшая по пине вхолная очередь. Емкости входных накопителей во всех миииЭВМ рассчитаны на хранение величин 10 сигналов. Время обработки сигнала в лю- бой миниЭВМ равно 33 мкс. Смоделировать процесс обработки 500 сигналов, поступаю- щих с датчиков. Определить средние времена задержки сигна- лов в канале и минн.ЭВМ и вероятности переполнения входных накопителей. Обеспечить ускорение обоабсгки сигнала в ЭВМ до 25 мкс при достижении суммарной очереди сигналов значе- ния 25 единиц Задание 6. На участке термической обрабо1ки выполняются цементация и закаливание тестере 1. поступающих через 10-*- <_•' мин. Цементация занимает 10±7 мин, а закаливание — 10 + 6 мин Качество определяется суммарным временем обра- ботки. Шестерни с временем обработки больше 25 мин поки дают участок, с временем обработки от 20 до 25 мин перелаются на повторную зяка тку и при времени обработки меньше 20 мин должны пройти повторную потную обработку. ДеLain с суммар- ным временем обработки меньше 20 мин считаются вторым сортом. Смоделировать процесс обработки на участке 400 шестерен. Определить функцию распределения времени обработки и веро- 89
ятности повторения полной и частичной обработки. При выходе продукции без повторной обработки менее 90% обеспечить на участке мероприятия, дающие гарантированный выход продук- ции первого сорта 90%. Задание 7. хЧагистраль передачи данных состоит из двух каналов (основного и резервного) и общего накопителя. При нормальной работе сообщения передаются по основному кана- лу за 7±3 с. В основном канале происходят сбои через интерва- лы времени 200±35 с. Если сбой происходит во время переда- чи, то за 2 с запускается запасной канал, который передает прерванное сообщение с самого начала. Восстановление основ- ного канала занимает 23±7 с. После восстановления резервный канал выключается и основной канал продолжает работу с оче редкого сообщения. Сообщения поступают через 9±4 с и оста- ются в накопителе до окончания передачи. В случае сбоя передаваемое сообщение передается повторно по запасному каналу. Смоделировать работу магистрали передачи данных в тече- ние 1 ч. Определить загрузку запасного канала, частоту отказов канала и число прерванных сообщений. Определить функцию распределения времени передачи сообщений по магистрали. Задание 8. На комплектовочный конвейер сборочного цеха каждые 5± 1 мин поступают 5 изделий первого типа и каждые 20±7 мин поступают 20 изделий второго типа. Конвейер состо- ит из секций, вмещающих по 10 изделий каждого типа. Комплек- тация начинается только при наличии деталей обоих типов в требуемом количестве и длится 10 мин. При нехватке деталей секция конвейера остается пустой. Смоделировать работу конвейера сборочного цеха в течение 8 ч. Определить вероятность пропуска секции, средние и мак- симальные очереди по каждому типу изделий. Определить эко- номическую целесообразность перехода на секции по 20 изделий с временам комплектации 20 мин. Задание 9. В системе передачи данных осуществляется обмен пакетами данных между пунктами Л и В по дуплексному кана- лу связи Пакеты поступают в пункты системы от абонентов с интервалами времени между ними 10н-3 мс. Передача пакета занимает 10 мс. В пунктах имеются буферные регистры, которые могут хранить два пакета (включая передаваемый) В случае прихода пакета в момент занятости регистров пунктам системы предоставляется выход на спутниковую полудуплексную линию связи, которая осуществляет передачу пакетов данных за 10± ±5 мс. При занятости спутниковой линии пакет получает отказ Смоделировать обмен информацией в системе передачи дан ных в течение 1 мин Определить частоту вызовов спутниковой линии и ее загрузку В случае возможности отказов определить необходимый для безотказной работы системы объем буферных регистров. 90
Задание 10. Транспортный цех объединения обслуживает три филиала А, В и С. Грузовики перевозят изделия из А в В и и з В в С, возвращаясь затем в А без груза. Погрузка в А занимает 20 мин, переезд из А в В длится 30 мин, разгрузка и погрузка в В — 40 мин, переезд в С — 30 мин, разгрузка в С - 20 мин и пе- реезд в ,1 —20 мин. Если к моменту погрузки в Л и В отсутст- вуют изделия, грузовики уходят дальше по маршруту. Изделия в А выпускаются партиями по 1000 шт. через 20±3 мин, в В — такими же партиями через 20±5 мин. На линии работает 8 грузовиков, каждый перевозит 1000 изделий. В начальный момент все грузовики находятся в А. Смоделировать работу транспортного пеха объединения в течение 10*Ю ч. Определить частоту пустых перегонов грузови- ков между Л :: В, В и С и сравнить с характеристиками, полу- ченными при равномерном начальном распределении грузови- ков между филиалами и операциями. Задание И. Специализированная вычислительная система сост । it из трех процессоров и общей оперативной памяти. Зада- ния, поступающие на обработку через интерва ты времени 5± + 2 мин, занимают объем оперативной памяти размером в стра- ницу. После трансляции первым процессором в течение 5_ 1 мин их объем увеличивается до двух страниц и они поступают в опе- ративную память. Затем после редактирования во втооом про- цессоре, которое занимает 2,5_0.5 мин на страницу, объем воз растает до трех страниц. Отредактированные задания через оперативную память поступают в третий процессор на решение, требующее 1,5-т0,4 мин на страницу, и покидают систему, минуя опепативную память. Смоделировать работу вычислительной системы в течение 50 ч. Определить характеристики занятия оперативной памяти по всем трем видам заданий. Задание 12. На вычислительном центре в обработку прини- маются три класса заданий Л, В и С. Исходя из наличия опера- тивной памяти ЭВМ задания классов Л и В могут решаться одновременно, а задания класса С монополизируют ЭВМ Зада- ния класса 1 поступают чере-t 20±5 мин, класса В— через 26 t ±10 мин и класса С — ’’срез 30± 10 мин и требуют для выполне- ния: класс Л -20±5 мин, класс В 21±3 мин и класс С — 28 t5 мин. Задачи класса С загружаются в ЭВМ, если она пол- ностью свободна Задачи классов 4 и В могут дпчагружсться к решающейся задаче. Смоделировать работу ЭВМ за 80 ч. Определить ее загрузку. Задание 13. R студенческом машинном зале расположены две миниЭВМ и одно устройство подготовки данных (УПД). Студенты приходят с интервалом в 8±2 мин и тресь из них хо- чет иег.ользедеать УПД и ЭВМ, а остальные тотысо ЭВМ. Допус- тимая очередь в машинном зале составляет четыре челлвека, включая работающего на УПД. Работа на УПД занимает 8± 91
±1 мин, а на ЭВМ — 17 мин. Кроме того, 20% работавших на ЭВМ возвращается для повторного использования УНД и ЭВМ. Смоделировать работу машинного зала в течение 60 ч. Опре- делить загрузку УПД, ЭВМ и вероятности отказа в обслужива- нии вследствие переполнения очереди Определить соотношение желающих работать на ЭВМ и на УПД в очереди Задание 14. К миниЭВМ подключено четыре терминала, с ко- торых осуществляется решение задач. Но команде с терминала выполняют операции редактирования, трансляции, планирова- ния и решения. Причем, если хоть один терминал выполняет планирование, остальные вынуждены простаивать из-за нехват- ки оперативной памяти. Если два терминала выдают требование на решение, то оставшиеся два простаивают, и если работают три терминала, выдающих задания на трансляцию, то оставший- ся терминал блокируется. Интенсивности поступления задач раз- личных типов равны. Задачи одного типа от одного терминала поступают через экспоненциально распределенные интервалы времени со средним значением 160 с. Выполнение любой опера- ции длится 10 с. Смоделировать работу миниЭВМ в течение 4 ч. Определить загрузку процессора, вероятности простоя терминалов и частоту одновременною выполнения трансляции с трех терминалов. Задание 15. В системе передачи цифровой информации пере- дается речь в цифровом виде. Речевые пакеты передаются через два транзитных канала, буферируясь в накопителях перед каж- дым каналом. Время передачи пакета по каналу составляет 5 мс. Пакеты поступают через 6i3 мс. Пакеты, передававшиеся бо- лее 10 мс, на выходе системы уничтожаются, так как их появле- ние в декодере значительно снизит качество передаваемой речи. Уничтожение более 30% пакетов недопустимо. При достижении такого уровня система за счет ресурсов ускоряет передачу до 4 мс на канал. Пр снижении уровня до приемлемого происходит отключение ретурсов. Смоделировать 10 с работы системы. Определить частот^ уничтожения пакетов и частоту подключения ресурса. Задание 16. ЭВМ обсл) живает три терминала по круговому циклическому ялюритму, предоставтяч каждому термин лу 30 с Если в течение этого времени задание о юабатывается. то обслу- живание завершается; если нет. то остаток задачи становиття в специальную о тередь, которая использует свободные циклы терминалов, г. е. задача обслудтиваетея, если на каком-либо тер- минале нет заявок. Заявки на терминалы поступают через 30±5 с и имеют длину 300±50 знаков. Скорость обработки зада- ний ЭВМ равна 10 знаков/с С иоделировать 5 ч работы ЭВМ. Определить загрузку ЭВМ. параметры очереди неоконченных заданий. Определить величину никла терминала, при которой все заявки будут обслужены без специальной очереди. 9J
Задание 17. В узел коммутации сообщений, состоящий из входного буфера, процессора, двух исходящих буферов и двух выходных линий, поступают сообщения с двух направлений. Со- общения с одного направления поступают во входной буфер, об- рабатываются в процессоре, буферизуются в выходном буфере первой линии и передаются по выходной линии Сообщения со второго направления обрабатываются аналогично, но переда- ются по второй выходной линии. Применяемый метод контроля потоков требует одновременного присутствия в системе не более трех сообщений на каждом направлении. Сообщения поступа- ют через интервалы 15±7 мс. Время обработки в процессоре равно 7 мс на сообщение, зремя передачи по выходной линии равно 15±5 мс. Если сообщение поступает при наличии трех со- общений в направлении, то оно получает отказ. Смоделировать работу узла коммутации в течение 10 с. Оп- ределить загрузки устройств и вероятность отказа в обслужи- вании из-за переполнения буфера направления. Определить из- менения в функции распределения времени передачи при снятии ограничений, вносимых методом контроля потоков. Задание 18. Распределенный банк данных системы сбора ин- формации организован на базе ЭВМ, соединенных дуплексным каналом связи. Поступающий запрос, обрабатывается на первой ЭВМ и с вероятностью 50% необходимая информация обнару- живается на месте В противном случае необходима посылка за- проса во вторую ЭВМ. Запросы поступают через 10±3 с, первич- ная обработка запроса занимает 2 с, выдача ответа требует 18±2 с, передача по каналу связи занимает 3 с. Временные ха- рактеристики второй ЭВМ аналогичны первой. Смоделировать прохождение 400 запросов. Определить необ- ходимую емкость накопителей перед ЭВМ, обеспечивающую без- отказную работу системы, и функцию распределения времени обслуживания заявки Задание 19. Система автоматизации проектирования состоит из ЭВМ и трех терминалов. Каждый проектировщик формирует задание на расчет в интерактивном режиме. Набор строки зада- ния занимает 10±5 с. Получение ответа на строку требует 3 с работы ЭВМ и 5 с работы терминала. После набора десяти строк задание считается сформированным и поступает на решение, при этом в течение 10_ьЗ с ЭВМ прекращает выработку ответов на вводимые строки. Вывод результата требует 8 с работы терми- нала Анализ результата занимает у проектировщик:. 30 с, пос- ле чего цикл повторяется. Смоделировать работу системы в течение 6 ч. Определить вероятность простоя проектировщика из-за занятости ЭВМ и коэффициент загрузки ЭВМ. Задание 20. Из литейного цеха на участок обработки и сбор ки поступают заготовки через 20±5 мин Треть из них обраба- тывается в течение 60 мин и поступает на комплектацию. Две 93
трети заготовок обрабатывается за 30 мин перед комплектацией, которая требует наличия одной детали первого типа и двух дета- лей второго. После этого все три детали подаются на сборку, ко торая занимает 60+2 мин для первой детали и 60+8 мин для двух других, причем они участвуют в сборке одновременно. При наличии на выходе одновременно всех трех деталей изделие по- кидает участок. Смоделировать работу участка в течение 100 ч. Определить места образования и характеристики возможных очередей. Задание 21. Детали, необходимые для работы цеха, находят ся на цеховом и центральном складах. На цеховом складе хра- нится 20 комплектов деталей, потребность в которых возникает через 60+10 мин и составляет один комплект. Б случае сниже ния запасов до трех комплектов формируется в течение 60 мин заявка на пополнение запасов цехового склада до полного объе- ма в 20 комплектов, которая посылается на центральный склад, где в течение 60:’-20 мин происходит комплектование и за 60+5 мин осуществляется доставка деталей в цех. Смоделировать работу цеха в течение 400 ч. Определить ве- роятность простоя цеха из-за отсутствия деталей и среднюю за- грузку цехового склада. Определить момент пополнения запаса цехового склада, при котором вероятность простоя цеха будет равна 0. Задание 22. Для обеспечения надежности АСУ ТП в ней ис- пользуется две ЭВМ. Первая ЭВМ выполняет обработку дан- ных о технологическом процессе и выработку управляющих сиг- налов, а вторая находится в «горячем резерве». Данные в ЭВМ поступают через 10+2 с, обрабатываются в течение 3 с, затем по- сылается управляющий сигнал, поддерживающий заданный темп процесса. Если к моменту посылки следующего набора данных не получен управляющий сигнал, то интенсивность выполнения технологического процесса уменьшается вдвое и данные посыла- ются через 20+4 с. Основная ЭВМ каждые 30 с посылает ре- зервной ЭВМ сигнал о работоспособности. Отсутствие сигнала означает необходимость включения резервной ЭВМ вместо ос новной. Характеристики обеих ЭВМ одинаковы. Подключение резервной ЭВМ занимает 5 с, после чего она заменяет основ- ную до восстаиовтения, а процесс возвращается к нормальному темпу. Отказы ЭВМ происходят через 300+30 с. Восстановле- ние занимает 100 с. Резервная ЭВМ абсолютно надежна. Смоделировать 1 ч работы системы. Определить среднее вре- мя нахождения технологического процесса в заторможенном состоянии и среднее число пропущенных из-за отказов данных. Задание 23. На вычислительный центр через 300_L100 посту- пают задания длиной 500+200 байт. Скорость ввода, вывода и обработки заданий-—100 байт/мин. Задания проходят последо- вательно ввод, обработку и вывод, буферируясь перед каждой операцией. После вывода 5% заданий оказываются выполненны- 94
ми неправильно вследствие сбоев и возвращаются на ввод. Для ускорения обработки задания в очередях располагаются по воз- растанию их длины, т. е. короткие сообщения обслуживают в первую очередь. Задания, выполненные неверно, возвращаются на ввод и во всех очередях обслуживаются первыми. Смоделировать работу вычислительного центра в течение 30 ч. Определить необходимую емкость буферов и функцию рас пределения времени обслуживания заданий. Задание 24. Вычислительная система включает три ЭВМ. В систему в среднем через 30 с поступают задания, которые по- падают в очередь на обработку к первой ЭВМ. где они обра- батываются около 30 с. После этого задание поступает одновре- менно во вторую и третью ЭВМ Вторая ЭВМ может обработать задание за 14±5 с, а третья -за 16+1 с Окончание обработ- ки задания на любой ЭВМ означает спя те ее с решения с той и другой машины. В свободное время вторая и третья ЭВМ за- няты обработкой фоновых задач. Смоделировать 4 ч работы системы. Определить необходи- мую емкость накопителей перед всеми ЭВМ, коэффициенты за- грузки ЭВМ и функцию распределения времени обслуживания заданий. Определить производительность второй и третьей ЭВМ на решении фоновых задач при условии, что одна фоновая задача решается 2 мин. Задание 25. В машинный зал с интервалом времени 10±5 мин заходят пользователи, желающие произвести расчеты на ЭВМ. В зале имеется одна ЭВМ, работающая в однопрограммном ре- жиме. Время, необходимое для решения задач, включая вывод результатов на печать, характеризуется интервалом 15+5 мин. Третья часть пользователей после окончания решения своей за- дачи производит вывод текста программы на перфоленту (про- должительность перфорации — 3+2 мин). В машинном зале не допускается, чтобы более семи пользователей ожидали своей очереди на доступ к ЭВМ. Вывод программы на перфоленту не мешает проведению расчетов на ЭВМ. Смоделировать процесс обслуживания 100 пользователей. I (одсчитать число пользователей, не нашедших свободного места в очереди. Определить среднее число пользователей в очереди, а также коэффициенты загрузки ЭВМ и ленточного перфоратора. ГЛАВА 5. ТРЕБОВАНИЯ К КУРСОВОЙ РАБОТЕ § 5.1. Объем и содержание курковой работы Общий объем пояснительной записки не должен превышать 25—30 листов, в том числе введение — не более 3—4 листов. Пояснительная записка к курсовой работе должна давать до- 95
статочно полное представление о принципе решения задачи моде- лирования системы с обоснованием правильности решения за- дачи на ЭВМ Записка иллюстрируется схемами и программами, выполняемыми с соблюдением всех требований ЕСПД [8]. Эти схемы и программы входят в общий объем пояснительной запис- ки и нумеруются. Пояснительная записка к курсовой работе должна включать в указанной последовательности следующие разделы: титуль- ный лист; аннотацию (реферат); бланк задания, подписанный руководителем и заведующим кафедрой; содержание (оглавле- ние) с указанием страниц; введение; разделы и подразделы ос- новной части; заключение; список литературы; приложения (при необходимости). Содержание основных разделов пояснительной записки сле- дующее. Т и т у л ь н ы й лист должен соответствовать установление му образцу (см. приложение 5). Аннотация в краткой форме раскрывает содержание по- яснительной записки к курсовой работе. Бланк задания, полностью оформленный, должен содер- жать отзыв руководителя о курсовой работе студента и ее оценку. Содержание включает наименование всех разделов кур- совой работы, а также подразделов и пунктов, если они имеют наименование, с указанием номера страниц, па которых разме- щается начало материала разделов, подразделов, пунктов. Введение содержит постановку задачи, анализ актуаль- ности и цели моделирования системы. Во введении дается крат- кий анализ возможных методов решения поставленной задачи, но так, чтобы он не заслонял основного содержания проекта. Ука- зываются литературные источники, по которым делается обзор, позволяющий судить, насколько полно изучена литература по моделированию конкретной системы. Обзор должен содержать краткую оценку изложенных материалов и принципов модели- рования. Основная часть состоит из разделов, в которых рассмат- ривается существо проблемы, дается аналитический обзор воз- можностей исследования заданного объекта моделирования, обоснование выбранного подхода к моделированию, описание концептуальной модели, формализацию и алгоритмизацию моде- ли, описание выбранного математического и программного обес- печения, описание алгоритмов и программ, инструкции по ис- пользованию программ при моделировании на конкретной ЭВМ, результаты моделирования, анализ полученных на модели ре- зультатов и выводы по их использованию для исследования и разработки объекта моделирования. В основной части приводится описание моделируемой сис- темы и ‘здание на моделирование; структурная схема модели 96
системы; блок-диаграмма ПМДС (схемы алгоритмов при ис пользовании других языков программирования); текст програм- мы; описание текста программы; аналитическая оценка харак- теристик функционирования моделируемой системы; результаты моделирования (дневник отладки, распечатки отдельных прого нов модели, полученные результаты), сравнение результатов имитационного моделирования и аналитического расчета, оцен- ки возможных улучшении в работе системы (согласно заданию) и выработка дополнений к имеющейся м< е ш, окончательный вариант модели с результатами. Пояснительная записка должна содержать листинги програм мы и их описание. При большом объеме эти материалы выносят- ся в приложение к курсовой работе. Результаты машинного экс- перимента с моделью системы до тжны быть представлены в фор- ме графиков, таблиц, распечаток и т и Приводится анализ по- лученных результатов моделирования системы на ЭВМ. При несовпадении расчетных и экспериментальных результатов необ- ходимо объяснить причины расхождения. Заключение должно содержать качественные и количест- венные оценки результатов моделирования, особенно точности и достоверности результатов моделирования; затрат машинного времени на моделирование и требуемого объема памяти ЭВМ (для программ); технике экономических факторов. Следует представить краткий вывод по результатам модели- рования системы (примерно на 0,5 страницы), отметить досто- инства выбранного способа моделирования. Если в процессе мо- делирования системы был выбран не оптимальный способ, то следует указать причины, обусловившие такое решение, а также нерешенные вопросы, рекомендации по возможному в дальней- шем усовершенствованию алгоритма и программы моделирова- ния. Список использованной литературы содержит перечень источников, использованных при выполнении курсовой работы. Указывают только те источники, на которые имеются ссылки в тексте пояснительной записки. Приложение содержит вспомогательный материал (лис- тинги программ, инструкции по пользованию программами и т п.). § 5.2. Оформление курсовой работы Пояснительная записка является основным документом, предъявляемым студентом при защите курсовой работы. Она составляется в соответствии с требованиями ГОСТ 2 105—68 и ГОСТ 2.106—68. В ней отражаются этапы работы и результаты, полученные при выполнении курсовой работы. Пояснительная записка к курсовой работе пишется студентом на одной стороне листа бумаги формата 210X297 мм. При этом необходимо оставлять поля: слева — 30 мм, справа 10 мм, свер- 97
ху—15 мм, снизу — 20 мм. Текст должен быть написан от ру- ки аккуратно, разборчиво, без помарок, с высотой букв не менее 2,5 мм. Средняя плотность записи — 30 строк и при 35—40 зна- ков в каждой строке. Изложение текста должно быть кратким, четким и вестись от первого лица множественного числа. Весь текст пояснительной записки делят на разделы. Каждый раздел следует начинать с новой страницы. Разделы в пределах всей пояснительной записки, а также подразделы и пункты име- ют порядковые номера, обозначенные арабскими цифрами с точ- кой в конце, например: 1. — первый раздел; 2. — второй раздел; 2.1. — первый подраздел второго раздела; 2.1 I. — первый пункт первого подраздела второго раздела. Введение и заключение не нумеруются. Заголовки разделов пишут прописными буквами по середине текста. Заголовки подразделов пишут с абзаца, отступая слева 15 мм, строчными буквами (кроме первой прописной). В заго- ловке не допускаются переносы слов. Пробелы над заголовками и под ними — 2 см. Точку в конце заголовка не ставят. Если за- головок состоит из двух предложений, то их разделяют точкой. Заголовок подчеркивать нельзя. В записке необходимо выдержать единые обозначения и раз- мерности для используемых параметров, переменных и харак- теристик. Допускаются сокращения слов, терминов, обозначе- ний, только общепринятых в ГОСТ 15133-—77, 17021—75, 17657—79, 19480—74, 19781—74, 20886—75, 22348—77. Иллюстрации (рисунки, таблицы, схемы) располагаются на отдельных страницах пояснительной записки. Согласно ЕСКД иллюстрации в пояснительной записке, кроме таблиц, имеют под- пись «рис.». Номер рисунка состоит из номера раздела и поряд- кового номера иллюстрации, разделенных точкой. Например: рис. 3.2 (второй рисунок третьего раздела). Иллюстрации снаб- жаются кратким подрисуночным текстом. Длинные записки пе- реносят в текст пояснительной записки. В пояснительной записке рисунки должны быть выполнены либо чернилами, либо тушью на отдельных страницах белой или миллиметровой бумаги формата 210X297 мм. Рисунок распола- гают после той страницы, где на него дана первая ссылка. Иллюстрация должна быть расположена так, чтобы ее было удобно рассматривать (без поворота записи или поворачивая по часовой стрелке). Количество иллюстраций должно быть мини мальным, но доступным для пояснения излагаемого материала. Таблицы служат для оформления цифрового материала, про водятся после первого упоминания о них в тексте. На все таб лицы должны быть ссылки в тексте, при этом слово «Таблица» в тексте пишут полностью, если таблица не имеет номера, и сок- ращенно— если имеет номер, например: «...в табл. 1.2». В пов- торных ссылках на таблицы и иллюстрации следует указывать сокращенно слово «смотри», например, «см табл. 1.2». 98
Каждая таблица должна иметь заголовок. Заголовок и слово «Таблица» начинают с прописной буквы. Заголовок не подчерки- вают. Заголовки граф таблиц должны начинаться с прописных букв, подзаголовки — со строчных, если они составляют одно предложение с заголовком, и с прописных, если они самостоя- тельные. Делать заголовки таблицы по диагонали не разрешает- ся. Высота строк должна быть не менее 8 мм. Графу «№ п.п.» в таб шцу включать не следует. Таблицу размещают таким образом, чтобы ее можно было читать без поворота записки или с поворотом по часовой стрел ке. При большом количестве строк допускается перенос таблицы на другой лист. При этом заголовок помещают только над ее первой частью. Если повторяющийся в графе таблицы текст состоит из од- ного слова, его допускается заменять кавычками; если из двух или более слов, то при первом повторении его заменяют слова- ми «То же», а далее — кавычками. Славить кавычки вместо пов- торяющихся цифр, знаков, марок, математических символов нельзя. Если цифровые или другие данные в какой-либо стооке таблицы не приводят, то в ней ставят прочерк Формулы в записке (если их более одной) нумеруют араб- скими цифрами в пределах раздела. Номер формулы состоит из номера раздела и порядкового номера формулы в разделе, раз- деленных точкой. Номер ставится с правой стороны листа на уровне нижней строки формулы в круглых скобках, например- (3.1)—первая формула третьего раздела. Ссылки на формулу указывают порядковым номером формулы в круглых скобках, например «...в формуле (2 1)». Пояснение значений символов и числовых коэффициентов сле- дует приводить непосредственно под формулой со слова «где» без двоеточия после него в той же последовательности, в какой они даны в формуле с новой строки. Уравнения и формуты следует выделять из текста свободны- ми строками. Если уравнение не умещается в одну строчку, оно должно быть перенесено после знаков « = » или «+», «—», «X», При написании формулы и выборе справочных данных необхо- димо делать ссылку на литературный источник, из которого они заимствованы. Схемы алгоритмов и программы моделирования следует оформлять в пояснительной записке в соответствии с требова- ниями ЕСПД [8]. Перечень основных ГОСТов ЕСПД приведен в приложении 6. Листы со сх« мами, листингами программ и дру- гими иллюстрациями сшиваются с ватмановской обложкой. Ско- росшиватели в качестве обложки не разрешаются. При ссылке в тексте на используемую литературу указыва- ют порядковый номар, выделепн ’.. двумя квадратными скоб- ками по списку источников, например [20]. Литературу следует 49
располагать в списке в порядке появления ссылок в тексте. Ис- точник описывается по следующей форме: фамилия и инициалы автора, полное название книги или статьи, место и год издания, объем (для журнала — название журнала, год издания, номер страницы). Пример: 4. Бусленко Н. П. Моделирование сложных систем.— М.: Наука, 1978.— 400 с. Пример ссылки на статью: 28. Советов Б. Я., Сочнее А. В. Яковлев С А. Организация имитацион ных экспериментов в процессе обучения студентов специальности АСУ//В сб.: Применение ЭВМ в учебном процессе. Л 1983. С 45—52. Приложения оформляют как продолжение пояснительной за- писки на последующих ее страницах или в виде отдельной части, располагая их в порядке появления ссылок в тексте. Каждое при- ложение следует начинать с нового листа с указанием в правом верхнем углу слова «Приложение 1», «Приложение 2» и т. д., на- писанные прописными буквами, номера пишутся араб- скими цифрами, далее следует тематический заголовок (см. ГОСТ 7.32—81). Текст каждого приложения при необходимости может быть разделен на подразделы и пункты, нумеруемые арабскими циф- рами в пределах каждого приложения, перед ними ставится бук- ва «П», например П.1.2.3, что означает третий пункт второго подраздела первого приложения. Рисунки, таблицы, формулы в пределах каждого приложения нумеруют арабскими цифрами, например: «Рис. П. 1 1» (первый рисунок первого приложения); «Табл. П.1.1» (первая таблица первого приложения). В пояснительной записке все страницы, в том числе титуль ный лист, содержание, листы с таблицами, рисунками, графика- ми, нумеруются арабскими цифрами. На титульном листе номер не ставят, на последующих страницах номер проставляют в пра- вом верхнем углу. К оформлению иллюстративного материала к курсовой рабо- те следует приступать после написания пояснительной записки и составления плана доклада по зашите работы, что позволит вынести на плакаты наиболее интересные иллюстрации, которые помогут рационально построить доклад при зашите курсовой ра- боты. Иллюстративный материал в виде плакатов выполняется на чертежной бумаге 24-го или 22-го формата. Каждый лист дол- жен иметь рамку и основную надпись. Лист должен быть за полнен на 70—80% общей площади. При выполнении плакатов для придания им выразительно- сти и наглядности могут использоваться цветная тушь, гуашь, цветная растушевка, фломастеры Штамп на плакате отсутству- ет. Подписи автора и руководителя курсовой работы, индекс 100
группы, дата ставятся обязательно и помещаются в правом ниж- нем углу плаката. При оформлении структурных, функциональных и принципи- альных схем необходимо руководствоваться ГОСТами ЕСКД 2.701—68, 2.721—74, 2.743—72, 2.747—68, 2.750—68. 2.751—73. Несоблюдение требований ЕСКД и ЕСПД при оформлении ил- люстраций говорит об их незнании, что приводит к снижению оценки за курсовую работу. Законченная пояснительная записка подписывается студен- том и руководителем. ГЛАВА 6. ПРИМЕРЫ МОДЕЛИРОВАНИЯ ПРИ ВЫПОЛНЕНИИ КУРСОВЫХ РАБОТ § 6.1. Задача оценки страховых заделов на участке комплектации сборочного цеха Так как содержание большинства разделов пояснительной записки курсовой работы (титульный лист, реферат, бланк зада- ния, содержание, введение и т. п.) достаточно ясно определено в гл. 5 и не требует более детальных пояснений, то в этой главе остановимся только на примерах выполнения основной части по- яснительной записки, где непосредственно рассматриваются кон- структивные вопросы моделирования систем. Причем основное внимание будет уделяться переходу от описания процесса функ- ционирования системы к ее машинной модели, включая структу- ризацию модели, ее алгоритмизацию и программирование, а так- же к получению результатов моделирования. В данном примере задание на моделирование представлено так. В сборочном цехе (СЦ) предприятия осуществляются комп лектация и сборка изделия из деталей двух типов, поступающих с двух обрабатывающих участков. С участка 1 поступают дета- ли первого типа партиями по 12 штук в моменты поступления, распределенные равномерно в интервале от 4 до 8 ч. С участка 2 поступают детали партиями по 16 штук в моменты поступления, распределенные также равномерно в интервале от 6 до 10 ч. Детали с обрабатывающих участков поступают на цеховые склады. При этом образуются оборотные заделы, которые долж- ны выполнить израсходованные страховые заделы. Из этих дета лей осуществляется комплектация процесса сборки изделий. На одно готовое изделие (узел) необходимы комплекты из двух де- талей каждого типа. Периодичность запуска изделий на сборку составляет 1 ч. При отсутствии необходимых деталей имеет мес- то простой сборочного участка до момента поступления партии 101
недостающих деталей с обрабатывающих участков. Для умень- шения вероятности простоя сборочного участка цеха вводятся страховые заделы деталей каждого типа. Оборотные заделы в начале календарного месяца равны одной партии деталей каж- дого типа. Страховые заделы формируются в начале каждого месяца и используются при возникновении возможности простоя сборочного участка цеха. Оборотные заделы пополняются при достижении страховым заделом соответствующих деталей но- Овраваты- Ёачиций участок 2 Овраваты- вающий участок 1 Оворртныц радел 1 траховой | |, задел ! Гр- Оборотный задел 2 Cmpaxol задел 2 -------------’---I Склад деталей Е сь Сварочный участок Е £ е Овраватыбающий цех Сварочный цех Рис. 6.1 Структурная схема процесса функционирования СЦ минальной величины, которая определяется исходя из заданной вероятности простоя. Месячный фонд рабочего времени при трех- сменной работе цеха равен 720 ч Смоделировать работу СЦ и оценить вероятность простоя сборочного участка цеха при нулевой величине начального стра- хового задела. Получить зависимости вероятности простоя участ- ка от начального и номинального значений страховых заделов. На основании этого задания на моделирование процессов об разования оборотных и страховых заделов, комплектации дета- лей и сборки узлов в СЦ предприятия, считая, что задание со- ответствует концептуальной модели, построим структурную схе- му, приведенную на рис. 6.1. Более подробно с понятиями, встре- чающимися в задании на данную курсовую работу, можно по- знакомиться в [2, 6, 16, 20]. Таким образом, в работе СЦ воз- можны следующие ситуации: 1) нормальная работа цеха, когда партии деталей 1-го и 2-го типов поступают в оборотные заделы на складе, а из оборотного задела—на комплектацию; 2) ава- рийный режим, когда партии деталей из обрабатывающего цеха не поступают, израсходован хотя бы один оборотный задел, а сборка обеспечивается за счет соответствующего страхового за- дела (заделов); 3) простой цеха, когда нет потока партий дета- лей из обрабатывающего цеха (любого типа), а запасы деталей этого типа в оборотном и страховом заделах израсходованы пол костью; 4) переходный режим, когда в оборотных заделах име- 102
ются детали и хотя бы один из иих пополняется деталями из обрабатывающего цеха, комплекты из деталей 1-го и 2-го типов поступают на сборку, а также идет пополнение страховых заде- лов соответствующими партиями деталей. Учитывая, что по своей сути описанные процессы, происходя- щие в СЦ, являются процессами обслуживания потоков партий и комплектов деталей, используем для их формализации аппарат Рис. 6,2. Структурная схема модели процесса функционирования СЦ в символике Q-схем Q-схем [16, 20]. В соответствии с концептуальной моделью, ис- пользуя символику Q-схем, структурная схема модели может быть представлена в виде, показанном на рис. 6 2, где И — ис- точник; Н — накопитель; Л”— канал. При этом источники И1 и И2 имитируют процесс поступления партий деталей 1-го и 2-го типов соответственно из обрабатывающего цеха, т. е. при по- строении модели сделано допущение, что входящие потоки пар- тий деталей рассматриваются как воздействия внешней среды F, т. е. здесь, исходя из целей решения задачи моделирования, условно проведена граница «система S—-внешняя среда Е» [20]. Накопители 111 и НЗ имитируют образование оборотных заделов деталей 1-го и 2-го типов соответственно, а накопители Н2 и Н4— страховых заделов тех же деталей. Клапаны / ... 6 с соот- ветствующими управляющими связями (пунктирные линии) по- средством блокировок входов и выходов накопителей отражают управление пополнением и расходованием страховых заделов на складе деталей сборочного цеха Причем клапаны на входе Н2 и Н4 открываются при достижении страховыми заделами в этих 103
накопителях номинальной величины, а клапаны на выходе Н2 и Н4, когда оборотные заделы в накопителях Hi и ИЗ соответст- венно израсходованы. Канал К! имитирует работу сборочного участка цеха. Используя аналитический метод, базирующийся на теории массового обслуживания, невозможно получить в явном виде ис- комые характеристики без упрощения модели [2, 6]. Поэтому бу- дем ориентироваться на использование имитационного подхода [13, 20]. Запишем переменные и уравнения имитационной модели про- цесса функционирования СЦ в следующем виде: эндогенные переменные: г. — начальные значения заделов, i=l,4; Lj — номинальные значения страховых заделов, / = 2,4; экзогенные переменные: Nj— число собранных изделий; Л'ю—число деталей 1-го типа; N20—число деталей 2-го типа; уравнение модели- P„v— (No—Ni)/Nc, где Рг? вероятность простоя участка: No = 7$/3an, Гф—месячный фонд времени рабо- ты участка; /зап - интервал запуска изделий на сборку. Далее при разработке машинной модели процесса функци- онирования СЦ Мм будем рассматривать два варианта модели- рования, когда для реализации машинной модели выбран пакет ПМДС и когда (если он отсутствует) используется алгоритми- ческий язык ПД/1. Построив структурную схему модели, можно с помощью ПМДС перейти непосредственно к разработке блок-диаграммы. Такая блок-диаграмма, сохраняя в основном структуру модели, использует графические аналоги соответствующих операторов ПМДС (см. при южение 2). Это существенно упрощает этап ал- горитмизации модели и ее программирования, так как дальней- шие действия сводятся к формальной перекомпоновке простран- ственной блок-диаграммы ПМДС в линейную форму ПМДС- программы. Блок-диаграмма модели процесса функционирования СЦ при- ведена на рис. 6.3, где МАК, накопители. i=l,4; CEN — учас- ток сборки в цехе; BL0K1, BLOK2— участки комплектации де- талей 1-го и 2-го типов. За единицу системного времени выбира- ем (/100. так как согласно технической документации ПМДС [12] обеспечивается наилучшее качество псевдослучайных последо- вательностей. Текст ПМДС-программы приведен ниже, где также даны со- ответствующие комментарии; для удобства чтения программы она сопровождается описанием (табл. 6.1). Результаты решения задачи моделирования процесса функ- ционирования СЦ для случая нулевых начальных страховых за- делов показывают, что вероятность простоя сборочного цеха со- ставляет 0,029. Изменяя исходные значения страховых заделов п, можно получить зависимость вероятности простоя цеха Рпр = =f(n), показанную на рис. 6.4. 104
(МЕЛ) Рис. 6.3. Блок-диаграмма ПМДС модели процесса функциониро- вания СЦ 5—1569
• •• • » ПАКЕТ поделировдння дискретных систем •«••• ***** ПМДС 2.0 IOC EC 1 • •••• BLOCK NUMBER •сос OPERATION A*B.C»O(E»F. G.H.! COMMENTS SIMULATE НАЧАЛО МОДЕЛИРОВАНИЯ INITIAL XH1 • 1/XH2.1 начальные заделы 1 generate 1...1,.2PF г SPLIT XH1.MET3 3 SPLIT XH2 -HETS 4 SPLIT 1 .HET] ЛОТОК ДЕТАЛЕЙ 2 5 ИЕТ2 advance 800.200 6 split 16.HET5 ? TRANSFER ,MET2 В НЕТ! ADVANCE 600.200 поток ДЕТАЛЕЙ 1 ч SPLIT 12,MET3 10 TRANSFER .METl 11 NETS transfer B0TH,*+l,MET4 J2 TEST C Xhl.SBHAK2 Страховой задел > 13 ENTER NAK2.1 и CATE SE NAK 1 15 LEAVE NAKZ.1 1* NE Г4 ENTER NAK1,1 ОБОРОТНЫЙ ЗАДЕЛ 1 ! 7 GATE NU CEH 18 BLOK 1 MATCH BL0K2 комплектация 19 leave NAK I. 1 20 TRANSFER ,MET7 2 1 NETS TRANSFER BOTH,,MET6 2? TEST L 5ЙНАК4,X42 23 ENTER NAK4,1 страховой задел г 24 GATE SE NAK3 25 leave NAK4.1 26 flETfc ENTER NAK’ . 1 оборотный задел 2 11 CATE NU CEH 28 еюк2 MATCH BL0K1 КОМПЛЕКТАЦИЯ 2« leave NAK3.i 33 MET? assemble 4 31 SEIZE CEH 32 ADVANCE 100 СЕОРКА 33 RELEASE CFH 34 TERMINATE 35 generate 72000 СИСТЕМНЫЕ ЧАСЫ 36 TERMINATE 1 start clear i прогон 1 INITIAL XH1. 12/XH2, 16 START CLEAR 1 ПРО "ОН 2 INITIAL XHl-22ZXH2.06 START 1 ПРОГОН 3 ENO Рассмотрим особенности построения модели функционирова- ния СЦ в случае ориентации на использование алгоритмического языка ПЛ/1 [23, 33]. Обобщенная схема моделирующего алгоритма приведена на рис. 6.5. Детальная схема программной модели приведена на рис. 6.6, где Т- интервал моделирования; DT—периодичность запуска деталей на сборку; PPR— вероятность простоя цеха; Tl, Т2 — 106
Таблица 6.1 Номер карты Номер блока Пояснения 2 — Задание начальных значений заделов 3 1 Генерируется один транзакт с числом парамет- ров 2 4 2 Выполняется начальная загрузка оборотных за- делов первой ветви 5 3 Выполняется начальная загрузка оборотных за- делов второй ветви 6 4 Создается одна копия, которая отправляется по МЕТ1 7 5 Транзакт задерживается на 800+200 единиц времени 8 6 Создаются 16 копий, которые отправляются по МЕТ5 9 7 Транзакт передается по МЕТ2 (блок 3) 10 8 Транзакт задерживается на 600+300 единиц времени И 9 Создаются 12 копий и отправляются по МЕТЗ 12 10 Транзакт передается по МЕТ1 (блок 6) 13 11 Транзакты стараются попасть в следующий блок, если он занят, то передаются по МЕТ4 Проверяется комплектность страхового задела 14 12 15 13 1ранзакт занимает 1 единицу емкости в NAK.2 16 14 Проверяется наличие деталей в накопителе обо- ротного задела 17 15 Освободить 1 единицу емкости в NAK2 18 16 Транзакт занимает 1 единицу емкости в NAK1 19 17 Синхронизация двух транзактов 20 18 Транзакты блокируются до освобождения уст- ройства СЕН 21 19 Освобождение 1 единицы емкости NAK1 22 20 Транзакты передается по МЕТ7 (блок 26) 23 21 Транзакты стремятся попасть в следующий блок, если он занят, то передаются по МЕТ6 (блок 23) Проверяется комплектность страхового задела 24 22 25 23 Транзакт занимает 1 единицу емкости в NAK4 26 24 Проверяется наличие деталей в накопителе стра- хового задела 27 25 Освободить 1 единицу емкости в NAK4 28 26 Транзакт занимает 1 единицу емкости NAK3 29 27 Синхронизация двух транзактов 30 28 Транзакты блокируются до освобождения уст- ройства СЕН 31 29 Освободить 1 единицу емкости NAK3 32 30 Уничтожается 3 транзакта и 1 направляется в следующий блок СЕН 33 31 Занять устройство СЕН 34 32 Задержка на 100 единиц времени 35 33 Освободить устройство СЕН 36 34 Удаление транзакта из системы 37 35 Генерируется 1 транзакт через интервал 72 000 единиц времени 38 36 Удаляется 1 транзакт из системы и вычитается 1 из счетчика числа завершений карты START 5* 107
Продолжение табл 6.1 Номер Номер карты блока Пояснения 39 40—42 43—45 46 Все исходные данные получены и можно начи- нать моделирование Второй прогон модели Третий прогон модели Конец входной колоды Рис. 6.4. Результаты моделиро- вания процесса функционирова ния СЦ время до момента поступления очередной партии деталей 1-го и 2-го типов соответственно; /VI, N2, N3, N4—содержимое нако- пителей Hl... Н4; N2N, N4N— номинальные страховые заделы; Л1, Л2—средний интервал между поступлением партий деталей )-го и 2-го типов соответственно. Программа реализована мето- дом имитационного моделирования с использованием синхронного алго- ритма [20]. В качестве синхронизи- рующего выбран момент запуска комплекта деталей на сборку. На- чальные значения страховых и обо- ротных заделов равны одной партии деталей каждого типа. Ниже приве- ден текст ПЛ/1-программы. Полученные результаты модели- рования, которые совпадают с результатами, полученными при использовании ПМДС, показаны на рис. 6.4. Проведем сравнительную оценку моделирования с использо- ванием языков пакета ПМДС и языка ПЛ/1. I. Сложность программ. Программа на ПМДС содержит 36 операторов, а на ПЛ/1—90. Причем в программе на ПЛ/1 соби- раются только простейшие статистические данные (среднее и дисперсия времени простоя участка). 2. Быстродействие программ Время одного прогона програм- мы составляет для ПМДС—11 с, для ПЛ/1—0,1 с на ЭВМ ЕС-1060. Такое сравнение еще раз подчеркивает преимущество исполь- зования для моделирования специальных программных средств, к которым относится ПМДС. Но упрощение для пользователя разработки модели с использованием ПМДС приводит к увели- чению затрат машинного времени на реализацию модели по сравнению с использованием языка общего назначения ПЛ/1 (20]. Окончательное оформление результатов моделирования про- цесса функционирования СЦ должно быть выполнено в курсо- вой работе в соответствии с требованиями, изложенными в гл. 5- 108
।—/2—------- Вывод результатов моделирования ) Рис. 6.5. Обобщенная схема моделирующего алгоритма процесса функционирования СЦ
Рис. 6.6. Детальная схема программной модели процесса функ- ционирования СЦ на языке 11Л/1
CEHIPROCEOURE OPT IOnSIMAIN); OT = 1.A1 =4 • • В I-4 . :Л2 = б-:В2-4 pp.Po=0.;pu кк=1 to 3^; Tpp.T = 01 NliN2N = l?: N3>N4N=16'. N2iN4=0: call d*t<a>(b i ,t 1;:call daT(д2 .b2,тг>; CO WHILE (K-7201 : IF Nl+N2>-2 I N3*N4>=2 THEN DO; IF Nl<2 |FeN do: N2=N2 + Nl-2'. Nl=e: end; ELSE Nl=NI-2; |F N3<2 THEN DO: N4=n4LN3'2: N3 = 0'. ENO: ELSE N3=NJ-2: ENO: ELSE TPR-'FR+DT; Т=т»от:т 1 = И-от :т2=Т2-0т: |f ti<=0. ^Fen Do: tt=t1: CALL DAT<a J»011TI»; T | = T1 + TT: IF N2cN2N THEN do: N2 = !2»N2'. IF N2»N2N THEN DO: NI =N2-N2N’• № =N2B:ENDiEND 1 else ni=ni+i2: end: IF T2<=0. JfEN oo: TT=T2: CALL 0АГ1А2.В2-Т21 1 ts=t2+tt; IF N4<N4N THEN oo: N4f16 + N4: IF N4>n4N THEN D0:N5FN4-N4h:N4=n4№END:ENd; else N3=N3+16; END; end: PPR = TPR/T'- PUT SKIP LIST!'ВРЕМЯ МОДЕЛИРОВАНИЯ *-T)I PUT SKIP L1ST<'СТРАХОВЫЕ ЗА ДЕ ЛЫ '. №n . N4n ) : PUT SKIP L I ST I'ВЕРОЯТНОСТЬ ПРОСТОЯ PPR): ppsPpfPPB IPCxPD+PPQ»»2 ’• ENO : ppiPp/30 ;pu=saRT t (P0-pP-»»2 > /30-): PP1=PP-1. 7'Р0/$вят00.); p₽2=pP-i.7-PD/SQRГ <30.) : PUT SKIP LIST(PP.PD.Ppl.pp2>: dat:proceouR4ia.b-P) '• declare t internal: DOL (V INIIO.14I5I »w !N1T(.S324)> STATIC: V=VtW'-v=*:if т>4« Then t*t-4.;w=t; P=A‘Stt/4.: fnd dat: END CEH: § 6,2. Задача исследования вероятностно-временных характеристик процесса функционирования вычислительного центра Опустим рассмотрение всех разделов пояснительной записки кроме основного, непосредственно связанного с моделированием объекта. В данном примере задание на моделирование содержит следующую постановку' задачи. ill
В вычислительный центр (ВЦ) приходят пользователи через интервалы времени 10+2 мин. Если все три имеющихся перфо- ратора заняты, пользователю отказывают в обслуживании. I ер- фораторы имеют разную производительность и могут обеспечить обслуживание средней программы пользователя за 20+5, 40+10 и 40А20 мин. Пользователи стремятся занять свободный пер- форатор с максимальной производительностью. Полученные про- Рис. 6.7. Структурная схема процесса функционирования ВЦ граммы сдаются в приемный накопитель, откуда выбираются для обработки на 1-ю ЭВМ. — программы с 1 го и 2-го перфора- торов, на 2-ю ЭВМ — программы с 3-го перфоратора. Времена обработки программ на 1-й и 2-й ЭВМ равны 15 и 30 мин соот- ветственно. Смоделировать процесс обработки 300 заданий. Определить вероятность отказа в обслуживании пользователя ВЦ. На основании этого задания на моделирование процесса вза- имодействия пользователей с ВЦ, считая, что задание соответ- ствует концептуальной модели, построим структурную схему (рис. 6.7). Более подробно с основными понятиями, встречаю- щимися в задании на данную курсовую работу, можно познако- миться в [18, 23]. Таким образом, в процессе взаимодействия пользоватетсй с ВЦ возможны следующие ситуации: 1) режим нормального обслуживания, когда пользователь выбирает один из свободных перфораторов, отдавая предпочтение тому, у ко- торого производительность больше (согласно заданию, тому пер- форатору, у которого меньше номер); 2) режим отказа в обслу- живании пользователя, когда пользователь уходит из ВЦ, так как все перфораторы заняты. Учитывая, что по своей сути описанные процессы являются процессами обслуживания пользователей ресурсами ВЦ, исполь- зуем для их формализации аппарат Q-схем [20]. В соответствии с концептуальной моделью, используя символику Q-схем, струк- 112
турпая схема модели данного примера может быть представле- на в виде, показанном на рис. 6.8, где И — источник; К—канал; Н— накопитель. При этом источник И имитирует процесс при- хода пользователей в ВЦ. Система клапанов регулирует процесс занятия пользователями (заявками в терминах Q-схем) кана- лов Ki, К2 и А'З соответствующих перфораторами с теми же номерами на структурной схеме (см. рис. 6.7). Если канал Д'1 за- нят, то клапан 1 закрыт, а клапан 2 открыт; если канал К2 занят, то кла-j пан 3 закрыт, а клапан 4 открыт, если канал 7(3 занят, то клапан 5 за- крыт, а клапан 6 открыт. В результате если все каналы KI, К2, КЗ заня- ты, т. е. клапаны 2, 4 и 6 открыты, то заявка те- ряется, что соответствует уходу пользователя из ВЦ из-за отсутствия сво- бодных перфораторов. Заявки, обслуженные ка- налами Л'1 и К2, поступа- ют в накопитель /71, а за- Рис. 6.8. Структурная схема модели процес- са функционирования ВЦ в символике Q-схем тем обслуживаются кана- лом /(5, имитирующим работу ЭВМ.1, а заявки, обслуженные ка- налом /СЗ, поступают в накопитель /72, а затем обслуживаются каналом /\6, имитирующим работу ЭВМ.2 ВЦ, Нумерация нако- пителей /71 и /72 на рис. 6.10 соответствует нумерации накопи- телей на рис. 6.9. Отметим, что при такой постановке задачи оценки вероят- ностно-временных характеристик процесса функционирования ВЦ использование аналитического подхода, базирующегося на теории массового обслуживания, не представляется возможным, так как в явном виде не получены выражения для вычисления ис- комых характеристик. Поэтому для получения необходимых оце- нок аналитическим методом нужно предварительно упростить модель (естественно, за счет точности и достоверности получае- мых результатов). В исходной постановке воспользуемся мето- дом имитационного моделирования [20]. Запишем переменные и уравнения имитационной модели в следующем виде: эндогенные переменные: tni — время обработки задания на г’-м перфораторе, t= 1,3; tpj- время решения задачи на /-ЭВМ, / = 1.2; ^экзогенные переменные: Nn — число обслуженных пользовате- лей; -число пользователей, получивших отказ, 113
уравнение модели: PCTk=Ni/> где РСтк — вероятность отказа пользователю в обслуживании ВЦ. Так же как и в примере § 6.1, при разработке машинной мо- дели будем рассмат- ривать два варианта моделирования: с ис- пользованием пакета ПМДС и языка ПД/1. Используя для мо- делирования ПМДС, символика блок-диа- грамм которого приве- дена в приложении 2, и построив структурную схему модели (рис. 6.8), можно перейти к разработке блок-диа- граммы, приведенной для данного примера на рис. 6.9. Здесь номе- ра устройств 1, 2, 3 присвоены перфорато- рам, а 4 и 5-—ЭВМ1 и ЭВМ2 соответствен- но; накопитель 1 соот- ветствует приемному накопителю ВЦ. За единицу системного времени выбираем 1/100 мин, так как при этом обеспечивается наилучшее качество псевдослучайных по- следовательностей [11]. Текст ПМДС-про- граммы с комментария ми приведен ниже, а для удобства ознаком- ления с программой моделирования она со- Рис. 6.9. Блок-диаграмма ПМДС модели провождается описани- процесса функционирования ВЦ ем (табл. bz). В результате моде- лирования на ЭВМ ЕС 1060 были получены статистические дан- ные о процессе ф) акционирования ВЦ. Для 60 прогонов модели на различных случайных последовательностях, генерируемых датчиками случайных чисел, было получено среднее число отка- зов пользователям 86 (на 300 посещений ВЦ), т. е. РОТК=0,286. П4
Рассмотрим особенности имитации процесса функционирова- ния ВЦ при использовании алгоритмического языка ПЛ/1 [15, 22]. Обобщенная схема моделирующего алгоритма приведена на рис. 6.10. При разработке схемы алгоритма использован «прин цип А/» [20]. Детальная схема программной модели показана на Передача заявок с перфораторов в накопил е> и — 0 —3—Нт- Пеое х И следуюшему инт ва. у at Передача: из накопителей нб_ обслуживание;. Обработка " Ре^"^атсв моделирования резу льтатев НЕТ i—f-------------- l з, зоновз 7 °- кь на оБелужива - нив г перфорато- ру или с^каз в еп:-1уж1/Вании Рис. 6 10. Обобщенная схема моделирующею ал- горитма процесса функционирования Bl I рис. 6.11, где использованы следующие обозначения: NZ (Я)— массив состояния перфораторов; ТЕ (3)—время занятия пер форатора; i\P (3)—массив состояния ЭВМ; ТР (3) - время занятия ЭВМ; N(2)—массив состояния накопите юй; N*MT — число отказов; NEND— число обе луженных заявок; DT— ин-ер вал Д/; Л 13), В (3) —м; ссивы задания параметров времени об- служивания (на перфораторах). ТО (2) —массив задания пара метров времени обслуживания на -*ВМ; РОТ — вероятность от- каза в обслуживании Р В результате моделирования с использованием П„Т/1-про- граммы, приведенной ниже, получены значения числа отказов и 11г
вероятности отказов. На 50 случайных выборках получено сред- нее число отказов 85 (Дотк=0,283). Рассматривая доверитель- ную вероятность 0,95, получаем доверительный интервал для числа отказов от 79 до 91. Это показывает хорошую статистиче- скую сходимость результатов моделирования. Таблица 6.2 Номер карты Номер блока Пояснения 2 — Формула вычисления вероятности 3 1 Генерация транзактов с заданным интервалом 4 2 Посылка транзактов к устройствам или на от- каз 5 3 Занятие перфоратора 1 6 4 Обслуживание перфоратором t 7 5 Освобождение перфоратора 1 8 6 Передача транзактов в накопитель 1 9—12 7—10 Группа блоков, осуществляющих для перфора- тора 2 те же функции, что и блоки 3—6 для пер- форатора 1 13-16 11—14 Выполнение аналогичных действий для перфо- ратора 3 17 15 Фиксация отказа в обслуживании 18 16 Уничтожение получившего отказ транзакта 19 17 Занятие одного места в накопителе 1 20 18 Занятие ЭВМ1 21 19 Освобождение одного места в накопителе 1 22 20 Обслуживание в ЭВМ1 23 21 Освобождение ЭВМ1 24 22 Передача транзактов в блок 28 25 23 Занятие одного места в накопителе I 26 24 Занятие ЭВМ2 27 25 Освобождение одного места в накопителе 1 28 26 Обслуживание ЭВМ2 29 27 Освобождение ЭВМ2 30 28 Подсчет обслуженных заявок 31 29 Определение конца моделирования 32 30 Вычисление вероятности отказа 33 31 Уничтожение транзакта 34—45 — Карты шести последовательных прогонов модели 46 — Конец входного потока Для сравнительной оценки моделирования с использованием ПМДС и языка ПЛ/1 отметим следующее. 1. Сложность программ. Программа ПМДС содержит 30 опе- раторов, а ПЛ/1-программа — 71 оператор, при этом статисти- ка, собираемая в ПЛ1ДС-программе, существенно полнее. 2. Быстродействие программ. Время одного прогона програм- мы составляет для ПМДС -3,3 с, для ПЛ/1—3,0 с на ЭВМ ЕС-1060. Документация по моделированию и результаты моделирова- ния в курсовой работе должны быть оформлены согласно тре- бованиям, изложенным в гл. 5. 116
• •••* пакет моделирования дискретных систем • *> * » о • ГНДС 2,0 (ОС EC) ***** BLCCK NUMBEP •L0C □ PERM ION A>e<C>0.E>F*C< 'Н.1 COMMENTS 1 5 IHULaTE FVARIABLE XF1/(XFI*XPJ1 НАЧАЛО МОДЕЛИРОВАНИЯ ВЫЧИСЛЕНИЕ ВЕРОЯТНОСТИ 1 CEE ERATE 1006 200 6Х0ДН01' поток 2 ’RANSFER ALLiPrRl.PCR4• 4 ГоИсК ПЕР«ОРАТОРА 3 ₽Eri SEIZE 1 4 ADVANCE 2000,500 РАБОТА на ПЕРФОРАТОРЕ 1 5 6 7 PER2 RELEASE TRANSFER SEIZE 1 .HET 2 6 ADVANCE 4000,1000 РАБОТА НА ПЕРФОРАТОРЕ 2 9 13 1 1 PFP3 RELEASE TRANSFER SEIZE 2 .MET 3 12 advance 4000.2000 РАБОТА НА ПЕРФОРАТОРЕ 3 1 3 14 15 PERA release TRANSFER savevalue 3 .HETS 1+.1.XF ПОДСЧЕТ ОТКАЗОВ 1 6 17 МЕТ tERMINATc CN'EF 1 ПРИЕМНЫЙ МАКОН ТЕЛЬ 1 6 19 2? SEIZE LEAVE advance 4 1 1500 ОБСЛУЖИВАНИЕ НА ЭйМ1 2 1 22 23 НЕГО RELEASE TRANSFER ENTER 4 • HET2 1 ПРИЕМНЫЙ НАКОПИТЕЛЬ 2 4 25 26 SEIZE leave advance 5 1 3000 ОБСЛУЖИВАНИЕ НА ЗВН2 2 7 28 НЕТ2 release savevalje 5 3+. 1 , XF 2 9 30 END TEST E SAVEVAL ue XF3.300.ENO 1-Vl.XL ВЫЧИСЛЕНИЕ ВЕРОЯТНОСТИ ОТКАЗА 3 ] TFRHINA’E 1 START clear STAR- Cl EAR ST4R С 1. E 5 f? S’ART CLEF0 START clear START Cl EAR ENO 300 ПРОГ он 1 300 ПРОГОН 2 .300 П°ОГОН 3 300 ПРОГОН 4 300 ГРНГОЧ 5 300 1 PJCOH 6
--27---‘------- TZ-rz-rT _
EXAHPIPROcEDURE OPT I OHSInj : DECLARE TZ<3)-TP(2I: DECLAREInZ(3I»NP<2),N(2)IINJt<<7>0>. (Д(3| iB(3) «To(2 I IHIT US.|30..20.,10. .20,.40,.15.,30.); TA = 8.;T0 = 4;ct=0.2 : Do Я = 1 ТЭ 5: TZ = 0. :rp = 0.s REND.NCT=0:T=0. 00 HUE' nEnc <300 । : 00 1=1 TO i; if hp'!‘ = i s tp(ii<=0. then do: NP<!>=0. NENDsNENn^li Efjg: £Np: IF = 0 |Oo I- 1 TO 3 ; IF NZ(|)=i 5 TZ<!)^=0. then OO: !F=1;nZ(I)=0i if 1=3 then n<2>=N(2>+iielse n<ii=n<ii+i: end; Eno- HE: 00 l = i TD 2‘. IF N(I)»r ! N₽<I)=0 1 HEN OO! N(lI=Nii)ri;HP(I);li:TP(i)=To(I): end;end; IF T< = 0. THEN do; IF30; DO 1=1 TO 3 VHILE<!f=0»: IF WZ ( 4 = 0 THEN Do : NZ(D=i: OA-L OAT ( a < i > o (1 > .TZ (i) >: tF = i: end; Eno: IF 1F=0 TREN NOT=NoTtt: Call da1(ta,tb.t>:end: r=T'OT ; rp=rp-DT. TZ-TZ-O1: ENO: poT=NQT2INOTfNENOl: PUT SKIP ьI ST(POT - NOT"NEMO); end: DAT PROCEDURE(д,B,c t: declare г Internal: declare <v in:t<3.1115Я .w init t .512402: ,si atic; T=V*w:V=W:IF T>=4. THEN T=T-A.:W=t: C=A*B f t/A. ENO DAT: tND ЕХдМР
ЗАКЛЮЧЕНИЕ В настоящее время машинное моделирование стало эффек- тивным средством решения сложных задач автоматизации ис- следований, экспериментов и проектирования больших систем. Достигнуты определенные успехи в становлении прикладной те- ории моделирования на ЭВМ. Но научиться моделированию как рабочему инструменту инженера, освоить полностью его широ- кие возможности, развивать методологию моделирования даль- ше можно только при полном овладении приемами и техноло- гией практического решения задач моделирования процессов функционирования систем на ЭВМ. Эту цель и преследует дан- ное учебное пособие, в котором основное внимание уделено ме- тодам и этапам машинного моделирования в рамках общей ме- тодологии моделирования, изложенной в учебнике «Модепирова- ние систем». Существенное упрощение и ускорение процесса разработки имитационных моделей систем и их программной реализации достигаются при использовании специальных языков моделиро- вания и особенно пакетов программ имитации. В данном учеб- ном пособии в качестве основного средства для разработки мо- делей систем, формализуемых в виде схем массового обслужи- вания, выбран стандартный пакет моделирования дискретных систем ПМДС 2.0, а в качестве инструментальной ЭВМ исполь- зована ЕС ЭВМ, что совместно с операционной системой СВМ (системой виртуальных машин), обеспечивающей возможность диалогового общения студента с ПМДС, позволяет приблизить будущего инженера-системотехника к реальным условиям, в ко- торых ему придется заниматься моделированием больших сис- тем. Дальнейшее развитие информатики и автоматизации как сферы эффективного применения вычислительной техники для исследования и разработки сложных систем управления различ ными объектами, несомненно, послужит повышению роли ма- шинного моделирования для решения сложных народнохозяй- ственных проблем при уменьшении затрат материальных ресур- сов на достижение конечных целей — обоснованный выбор оп- тимальных вариантов разрабатываемых систем с учетом перс- пектив развития и реальных ограничений. Углубление практических навыков в освоении технологии ма- шинного моделирования дает учебное пособие «Моделирование 120
систем. Лабораторный практикум», выпускаемое издательством «Высшая школа» и завершающее комплексный учебник по дис- циплине «Моделирование систем». В этом учебном пособии при выполнении лабораторного практикума исследуются конкретные варианты систем с использованием пакета ПМДС 2.0. Авторы сознают, что в настоящее время в высших учебных за- ведениях при обучении студентов используют вычислитетьные средства различного типа. Использование пакета ПМДС и ЕС ЭВМ в качестве инструментальной машины является перс- пективным для решения крупномасштабных задач. Не следует исключать применение мини - и микроЭВМ для решения задач меньшей сложности, а также специализированных гибридных вычислительных комплексов. В этом аспекте предла- гаемое учебное пособие может быть использовано как методоло- гия проведения машинных экспериментов.
Приложение 1 Образец ПРИЛОЖЕНИЯ Наименование института Наименование факультета Наименование кафедры «УТВЕРЖДАЮ» Заведующий кафедрой « -- »--------------198 г. ЗАДАНИЕ на курсовую работу по дисциплине «Моделирование систем» студенту ________ _________________ ______________________________ (группа ) Руководитель _______________ ________________ ____________________ Тема курсовой работы ______________________________________ Техническое задание. 1 Ознакомиться " рекомендуемой литературой Дать аналитический обзор проблемы моделирования системы. 2 . Теоретический материал___________________________________________ 3 И’ходные данные 4 Имитационный эксперимент___________________________________________ 122
Продолжение прилож. I (оборотная сторона бланка) 5 . Отчет 1ЫЙ материал курсовой работы а) пояснительная записка б) графический материал I) -_____________________________________________________ 2) 3) 6 . Рекомендуемая литература 1) ________________________________________________________ 2) _______________________________________________________________ 3) _______ _______________________________________________________ Задание выдано « >.198 г. Руководитель __________________________ (подпись) Отзыв руководителя ________________________________ 198 Руководитель (подпись) Приложение 2 Условные обозначения на блок-диаграммах ПМДС Имя блока Обозна чение блока Назначение блока ADVANCE 4, Р Задерживает транзакт на время А±В, если B = const, или АХВ, если В-функция 123
Продолжение прилож. 2 Имя блока Обозна- чение блока Назначение блока ALTER Изменяет атрибуты членов группы А ASSEMBLE ASSIGN Собирает А транзактов одного ансамбля, । пропускает в следующий блок первый транз- 1 акт. остальные уничтожает Присваивает параметру А входящего транз- акта значение В, модифицированное значени- I ем С BUFFER Прерывает обработку транзакта и возвра- щает симулятор к началу списка текущих со- бытий CHANGE DEPART ENTER EXAMINE EXECUTE в Заменяет в процессе счета блок с номером А на блок с номером В Обеспечивает освобождение в очереди А В единиц Обеспечивает вхождение транзакта в накопи- тель А с занятием В единиц памяти Изменяет маршрут движения в зависимости от состояния членов группы А Выполняет операции блока с номером А 124
П родолжение прилож. 2 Имя блока Обозна- чение блока Назначение блока FAVAIL FUNAVAIL GATE (X) LS LR (X) I GATE Nl U NU (X) SE GATE SF SNF SNF GATHER GENERATE HELP INDEX 1 Wf/A Q Обьявляет группу устройств А доступными Объявляет группу устройств А недоступны- ми Проверяет условие нахождения логического ключа А в состоянии X Проверяет условие нахождения устройства А в состоянии X Проверяет условие нахождения накопителя А в состоянии X Собирает А транзактов одного ансг мбчя и пропуск 1ет их одновременно в следующий блок Генерирует транзакты через А единиц вре- мени, модифицированных В с задержкой С, D транзактов, с приоритетом Е, форматом F Объединяет модули ПЧДС с модулями на языках Ассемблера, РАНА, ПЛ/] Sen сывает сумЯЙ Вначений параметра А и вбличины В в г'.р’мрчр 1 типа А 125
Продолжение прилож. 2 Имя блока Обозна- чение блока Назначение блока JOIN Включает в группу А транзакт или числовое значение В LEAVE Освобождает в памяти АВ единиц памяти LINK А Удаляет транзакт из списка текущих собы тий и помещает в список пользователя А (X) LOGIC S R I Устанавливает логический ключ А в состоя- ние X LOOP Осуществляет повторение А раз грj ппы бло- ков от адреса В до данного блока MARK Осуществляет отметку времени в парамет- ре А MATCH Синхронизирует движение транзактов по блок-диаграмме совместно с блоком MATCH с меткой А PPI ЕМРТ Выполнж т приоритетную обработку в уст- ройстве А 126
Продолжение прилож. 2 Имя блока Обозна- чение блока Назначение блока PRINT PRIORITY QUEUE RELEASE I A-В | 1 С, nJ пи в Осуществляет вывод статистики С в преде- лах от А до В Присваивает входящему транзакту приори- тет А Обеспечивает занятие в очереди А В единиц Освобождает устройство с номером А DFTI ГР NT ^37 SAVAIL S A VF.VAl 11Е \ J |л,8, d A£,C.D.£ Л’ SEIZE Снимает прерывание с устройства А Объявляет группу памятей А доступными Сохраняет заданное значение В в ячейке А Обрабатывает атрибуты чтенов группы А Занимает устройство с номером А 127
Продол^кение табл. Имя блока Обозначение блока а Назначение блока SPLIT SUNAVAIL TABULATE TERMINATE ТРАСЕ Генерирует А копий входящего транзакта и направляет их по адресу В; основной транз- акт переходит в следующий б юк Объявляе. группы памятей А недоступными Табулирует значения входящих транзактов в таблице А Уничтожает А транзактов Прослеживает движение транзактов (XI TEST E NE FRANSEFR Проверяет соотношение X между А г В и направляет входящий транзакт в следующг й блок при выполнении или по адресу С при не выполнении соотношения L Измс няет направление движения тИнзактов согласно режим) А 128
П риложение 3 Основные сокращения и обозначения симулятора ПМДС TRANS —номер транзакта; BDT — время выхода сообщения из блока (это либо значение абсолют- ного условного времени, при котором транзакт покинет блок ADVANCE, либо значение абсолютного условного времени в момент, когда сообщение вышло из последнего блока ADVANCE, либо нуль, если сообщение еще не входило ни в один блок ADVANCE); BLOCK — номер блока, в котором сообщение находится в данный момент времени; PR —уровень приоритета сообщения (0... 127); SF —режим выбора (определяет режим выбора следующего блока: пробел означает переход к следующему’ блоку; «В» означает, что транзакт находится в блоке TRANSFER, работающим в режиме BOTH; «А» означает режим ALL блока TRANSFER); NBA —адрес следующего блока, в который должен войти транзакт; SET — помер следующего транзакта того же семейства (при создании транзакта в SET записывается номер самого транзакта. При входе в блок SPLIT в SET записывается номер следующего транзакта из образуемого семейства); MARK отметка времени (записывается в момент создания транзакта или при входе транзакта в блок MARK с пустым полем А); Р1, ..., Р8 —текущие значения параметров 1 ...8; S1 —индикатор просмотра (при SI = 1 симулятор не будет пытаться продвинуть транзакт до измерения блокирующих условий; при снятии блокирующего условия S1 устанавливается равным ну- лю для всех транзактов, задержанных данным условием); TI — индикатор трассировки (устанавливается в единицу блоком TRACE и в нуль блоком UNTRACE); D1 —индикатор задержки для блока TRANSFER SIM; Cl — индикатор списка; 10 — транзакт в списке пользователя, pi . 1 — движение транзакта прервано, 2 — транзакт в списке текущих событий, 4 —транзакт в списке будущих событий; МС — индикатор синхронизации (если МС=4 то транзакт находится в блоках MATCH. ASSEMBLE или GATHER); PC — счетчик прерываний; PF —флаг прерываний. Приложение 4 Наиболее употребительные символы в схемах алгоритмов и программ Название символа Обозначение символа Функция» выполняемая символом Процесс Выполнение операции или группы опера- ций, в результате которых изменяется зна- чение, форма представления или расположе- ние данных 129
Приложение прилож. 4 Название символа Обозначение символа Функция, выполняемая символом Решение Выбор направления выполнения алгорит- ма или программы в зависимости от неко- торых условий Модификация Выполнение операций, меняющих коман- ды или группу команд, изменяющих про- грамму Предопреде- ленный процесс Использование ранее созданных и отдель- но описанных алгоритмов или программ Соединитель Пуск — оста- нов Комментарий Ввод — вывод Преобразование данных в форму, пригод- ную для обработки (ввод) или отображе- ния результатов обработки (вывод) Указание связи между прерванными ли- ниями потока, связывающими символы Начало, конец, прерывание процесса об- работки данных или выполнения программ Связь между элементом схемы и поясне- нием
Приложение 5 Образец Министерство высшего и среднего специального образования СССР Наименование института Наименование факультета Наименование кафедры Пояснительная записка к курсовой работе по дисциплине «МОДЕЛИРОВАНИЕ СИСТЕМ» на тему ______________________________________________________ (наименование темы курсовой работы в соответствии с заданием) Студент группы________________________ (подпись) Руководитель ____________________________ (должность, подпись) Оценка ___________________ Комиссия: ________________ (подписи) 198 г. (_____________) (Ф. И. О.) (___________________________) (Ф. И. О.) (Ф. И. О.) Приложение 6 Единая система программной документации (перечень основных ГОСТ) ГОСТ ГОСТ ГОСТ ГОСТ ГОСТ ГОСТ ГОСТ ГОСТ ГОСТ 19.001—77 ЕСПД. Общие положения. 19.002 -80 ЕСПД. Схемы алгоритмов и программ. Правила выполнения. 19 003 80 ЕСПД. Схемы алгоритмов н программ. Обозначения услов- ные гр к} ические. 19.004 80 ЕСПД. Термины и определения. 19.101 77 ЕСПД. Виды программ и программных документов. 19.102 77 ЕСПД. Стадии разработки. 19.103—77 ЕСПД. Обозначение программ и программных документов. 19.104 78 ЕСПД. Основные надписи 19.105—78 ЕСПД. Общие требования к программным документам. 131
ГОСТ 19,201—78 ЕСПД. Техническое задание. Требования к содержанию и оформлению. ГОСТ 19.202—78 ЕСПД. Спецификация. Требования к содержанию и оформ- лению. ГОСТ 19.301—79 ЕСПД. Порядок и методика испытаний. Требования к со- держанию и оформлению. ГОСТ 19.401—78 ЕСПД. Текст программ. Требования к содержанию и оформ- лению. ГОСТ 19.402—78 ЕСПД. Описание программы. ГОСТ 19.404 79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению. ГОСТ 19.502—78 ЕСПД. Общее описание. Требования к описанию и оформле- нию ГОСТ 19.503—79 ЕСПД. Руководство системного программиста. Требования к содержанию и оформлению. ГОСТ 19.504—79 ЕСПД. Руководство программиста. Требования к содержа- нию и оформлению. ГОСТ 19.505—79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению. ГОСТ 19.506—79 ЕСПД. Описание языка. Требования к описанию и оформ- лению. ГОСТ 19.507—79 ЕСПД. Ведомость эксплуатационных документов.
СПИСОК ЛИТЕРАТУРЫ Основная 1. Материалы XXVII съезда Коммунистической партии Советского Со- юза. М„ 1986. 2. Автоматизированные системы управления предприятиями/ Под ред. В. Н. Четверикова. М„ 1979. 3. Автоматизированные системы управления экспериментом/Советов Б. Я-, Яковлев С. А. и др. Л., 1980. 4. Бусленко Н. П. Моделирование сложных систем. М., 1968. 5. Голованов О. В., Дуванов С. Г., Смирнов В. Н. Моделирование слож- ных ^дискретных систем на ЭВМ третьего поколения (Опыт применения GPSS). 6. Данильченко И. А., Мясников В. А., Четвериков В. Н. Автоматизиро- ванные системы управления предприятиями. М., 1984. 7. Древе 10. Г., Золотарев В. В. Имитационное моделирование и его при- менение при проектировании автоматизированных систем управления. М., 1981. 8. Единая система программной документации. М., 1985. 9. Единая система электронных вычислительных машин. Пакет приклад- ных программ для моделирования на ЭВМ сложных дискретных систем. Об- щее описание. Калинин, 1982. 10. Единая система электронных вычислительных машин. Пакет приклад- ных программ для моделирования на ЭВМ сложных дискретных систем. Опи- сание языка. Калинин, 1982. 11. Единая система электронных вычислительных машин. Пакет приклад- ных программ для моделирования на ЭВМ сложных дискретных систем. Ру- ководство программиста. Калинин, 1982. 12. Кинд лер Е. Языки моделирования. М„ 1985. 13. Нейлор Т. Машинные имитационные эксперименты с моделями эко- номических систем. М., 1975. 14. Общие указания по организации и методике проведения курсового проектирования в высших технических учебных заведениях.— В кн.: Высшая школа.— М„ 1978, с. 181 — 187. 15. Программирование на ПЛ/1 ОС ЕС/Аугустон М. Н., Балодис Р. П. и др. М.« 1979. 16. Рябов В. Ф., Советов Б. Я Яковлев С. А. Машинное моделирование пг>и проектировании больших систем. Л., 1978. 17 Система виртуальных машин для ЕС ЭВМ. Справочник/Под ред. Э. В. Ковалевича. М., 1985. 18. Советов Б. Я., Рухман Е. Л., Яковлев С. А. Системы передачи инфор- мации от терминалов к ЦВМ. Л., 1978. 19. Советов Б. Я-, Сочнее А. В., Яковлев С. А. Организация имитацион- ных экспериментов в процессе обучения студентов специальности АСУ.— В кн.: Применение ЭВМ в учебном процессе. Л., 1983, с. 45—52. 20. Советов Б. Я.. Яковлев С. А. Моделирование систем. М„ 1985. 21. Сочнее А. В., Яковлев С. А. Методические указания к выполнению кур- совой работы по дисциплине «Моделирование систем». Л., 1986. 22. Фролов Г. Д., Олюнин В Ю. Практический курс программирования на PL/1. М„ 1983. 23. Четвериков В. И. Подготовка и телеобработка данных в АСУ. М., 1981. 133
24. Шрайбер Т. Дж. Моделирование на GPSS. М., 1980. 25. Якимов И. М„ Мосунов В. Е., Яхина 3. Т. Имитационное моделирова- ние сложных систем. Казань, 1984. Дополнительная 26. Балашов Е. П. Эволюционный синтез системы. М., 1985. 27. Дегтярев Ю. И. Исследование операций. М., 1986. 28. Древе Ю Г., Золотарев В. В., Шитова Н. А. Применение имитацион- ного моделирования при проектировании систем управления реального време- ни. М„ 1982. 29. Ивахненко А. Г., Юрачковский Ю. П. Моделирование сложных систем по экспериментальным данным. М„ 1987. 30. Имитационное моделирование в задачах синтеза структуры сложных систем/А. Д. Цвиркун и др. М., 1985. 31. Клейнрок Л. Вычислительные системы с очередями. Пер. с англ. М., 1979. 32. Кругликов В. К- Вероятностный машинный эксперимент в приборо- строении. Л., 1985. 33. Мамиконов А. Г. Основы построения АСУ. М„ 1981. 34. Мизин И. А., Богатырев В. А., Кулешов А. П. Сети коммуникации па- кетов. М„ 1986. 35. Прицкер А. Введение в имитационное моделирование и язык СЛАМП. Пер. с аигл. М., 1987. 36. Фельдман Л. П., Слепцов А. И. Методы программного моделирования вычислительных систем. Донецк, 1981. 37. Четвериков В. И. Подготовка и телеобработка данных в АСУ. М„ 1981.
ОГЛАВЛЕНИЕ Предисловие........................................................ 3 Введение........................................................... 5 Глава 1. Организация выполнения курсовой работы на ЕС ЭВМ . 7 § 1.1. Указания и правила выполнения курсовой работы......... 7 § 1.2. Основные этапы машинного моделирования при выполнении курсовой работы ................................................ 9 § 1.3. Сроки контроля и представления курсовой работы к защите 12 Глава 2. Особенности использования пакета моделирования дискрет- ных систем ПМДС................................................ 14 § 2.1. Принцип функционирования ПМДС.......................... 14 § 2.2. Основы организации ПМДС................................ 19 § 2.3. Особенности построения моделей с помощью средств ПМДС 22 § 2.4. Общие сведения об объектах ПМДС....................... 28 § 2.5. Блоки, связанные с динамической категорией............. 37 § 2.6. Блоки, описывающие аппаратную категорию ............... 46 § 2.7. Блоки, изменяющие маршруты транзактов.................. 50 § 2.8. Блоки, относящиеся к статистической категории.......... 55 § 2.9. Технология применения ПМДС на базе ЕС ЭВМ при выпол- нении курсовой работы.......................................... 58 Глава 3. Этапы выполнения курсовой работы . ............... 59 § 3.1. Построение концептуальной модели системы и ее формали- зация ......................................................... 59 § 3.2. Алгоритмизация модели и ее машинная реализация......... 71 § 3.3. Получение и интерпретация результатов моделирования ... 79 Глава 4. Тематика курсовых работ.................................. 87 § 4.1. Общие требования к тематике курсовых работ............. 87 § 4.2. Варианты типовых заданий для моделирования............. 87 Глава 5. Требования к курсовой работе............................ 18 8 § 5.1. Объем и содержание курсовой работы § 5.2. Оформление курсовой работы.............................. 97 Г л* в я 6 Примеры моделирования при выполнении курсовых работ 101 § 6.1. Задача оценки страховых заделов на участке комплектации сборочного цеха................................... 101 § 6.2. Задача исследования вероятностно-временных характеристик процесса функционирования вычислительного центра .... 111 Заключение....................................................... 120 Приложения....................................................... 122 Список литературы................................................ 133
Учебное издание Борис Яковлевич Советов, Сергей Алексеевич Яковлев МОДЕЛИРОВАНИЕ СИСТЕМ: КУРСОВОЕ МОДЕЛИРОВАНИЕ Зав. редакцией Н. И. Хрусталева Редактор И. А. Кузьмина Мл. редактор Н. £. Овчеренко Художник В. И. Мешалкин Техн, редактор Ю. А. Хорева Корректор В. В. Кожуткина ИБ № 7158 Изд. № Стд-577. Сдано в набор 09.09.87. Подписано в печать 10.11.87. Т 20971. Формат 60х88’/]6. Бум. офс. № 1. Гарнитура литературная. Печать офсетная Объем 8,33 усл. печ. л 8,71 усл. кр.-отт. 8,03 уч.-изд л Тираж 25 000 экз. Зак. № 1559. Цена 30 коп. Издательство «Высшая школа», 101430, Москва, ГСП-4, Неглинная ул., д. 29/14. Московская типография № 8 Союзполиграфпрома при Государственном коми- тете СССР по делам издательств, полиграфии и книжной торговли, 101898, Москва, Центр, Хохловский пер., 7.
30 коп.