13
ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА 2013 Математика. Механика. Информатика Вып.4(23) УДК 681.3 Особенности моделирования распределенных информационных систем Е. Б. Замятина, А. И. Миков, Р. А. Михеев Пермский государственный национальный исследовательский университет Россия, 614990, Пермь, ул. Букирева, 15 [email protected]; (342) 2 396 594 Статья посвящена имитационному моделированию распределенных информационных систем. В настоящее время существует большое количество специализированных программных си- стем, которые предназначены для построения имитационной модели распределенных систем и последующего проведения имитационного эксперимента. В статье рассматриваются программ- ные и языковые средства системы автоматизированного проектирования Triad.Net, особенно- сти построения Triad-модели и вопросы автоматизации изменения Triad-модели в ходе имита- ционного эксперимента. Среди свойств распределенных систем можно выделить свойства масштабируемости и отказоустойчивости, в результате которых количество вычислительных узлов системе изменяется. Особое внимание в статье уделяется автоматизации операций добав- ления и удаления объектов модели, ассоциируемых с вычислительными узлами. Ключевые слова: распределенные информационные системы; имитационное моделирование; масштабируемость; отказоустойчивость; автоматизация, онтологии. Введение 1 При проектировании распределенных информационных систем, а также, при разра- ботке алгоритмов и программного обеспече- ния, поддерживающих их функционирование очень часто применяется имитационное моде- лирование. В настоящее время существует большое количество специализированных программных систем, которые предназначены для построения имитационной модели распре- деленных систем, для последующего проведе- ния имитационного эксперимента, сбора ста- тистических данных и представления ре- зультатов имитационного моделирования [1, 2, 3]. К имитационным моделям предъявляет- ся требование качества (квалиметрия имита- ционной модели), которое, в частности, пред- полагает, что изменение структуры и алгорит- 1 © Замятина Е. Б., Миков А. И., Михеев Р. А., 2013 Работа выполнена при финансовой поддержке гранта РФФИ №12-07-00302_а, гранта Министер- ства образования и науки (проект № 8.5782.2011), гранта РФФИ 13-07-96506 № р-юг-а. мов поведения модели не повлечет за собой ухудшения характеристик модели, определяю- щих ее способности удовлетворять установ- ленным или предполагаемым потребностям пользователя [4]. Распределенные информационные си- стемы обладают рядом характерных особен- ностей, к которым можно отнести свойство масштабируемости (наращивание вычисли- тельных мощностей) и отказоустойчивости (неизменность выполнения распределенных вычислений программ при выходе из строя вычислительных узлов). Это означает, что имитационная модель распределенной инфор- мационной системы при выполнении опера- ций по добавлению или удалению ее компо- нентов, ассоциирующихся с наращиваемыми или вышедшими из строя вычислительными мощностями, должна сохранять свои характе- ристики и предоставлять пользователям до- стоверные результаты. Существует целый класс распределен- ных алгоритмов (волновые, выбора лидера, определения лидера), описание которых мож- но найти, например, в книгах Э.Таненбаума 107

УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

В Е С Т Н И К П Е Р М С К О Г О У Н И В Е Р С И Т Е Т АВ Е С Т Н И К П Е Р М С К О Г О У Н И В Е Р С И Т Е Т А2013 Математика. Механика. Информатика Вып.4(23)

УДК 681.3

Особенности моделированияраспределенных информационных системЕ. Б. Замятина, А. И. Миков, Р. А. Михеев

Пермский государственный национальный исследовательский университет Россия, 614990, Пермь, ул. Букирева, [email protected]; (342) 2 396 594

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

Ключевые слова: распределенные информационные системы; имитационноемоделирование; масштабируемость; отказоустойчивость; автоматизация, онтологии.

Введение1

При проектировании распределенныхинформационных систем, а также, при разра-ботке алгоритмов и программного обеспече-ния, поддерживающих их функционированиеочень часто применяется имитационное моде-лирование. В настоящее время существуетбольшое количество специализированныхпрограммных систем, которые предназначеныдля построения имитационной модели распре-деленных систем, для последующего проведе-ния имитационного эксперимента, сбора ста-тистических данных и представления ре-зультатов имитационного моделирования [1,2, 3]. К имитационным моделям предъявляет-ся требование качества (квалиметрия имита-ционной модели), которое, в частности, пред-полагает, что изменение структуры и алгорит-

1© Замятина Е. Б., Миков А. И., Михеев Р. А.,2013

Работа выполнена при финансовой поддержкегранта РФФИ №12-07-00302_а, гранта Министер-ства образования и науки (проект № 8.5782.2011),гранта РФФИ 13-07-96506 № р-юг-а.

мов поведения модели не повлечет за собойухудшения характеристик модели, определяю-щих ее способности удовлетворять установ-ленным или предполагаемым потребностямпользователя [4].

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

Существует целый класс распределен-ных алгоритмов (волновые, выбора лидера,определения лидера), описание которых мож-но найти, например, в книгах Э.Таненбаума

107

Page 2: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Е. Б. Замятина, А. И. Миков, Р. А. Михеев

[5] и Ж.Теля [6]. В ряде алгоритмов определе-ны структуры данных (массивы, записи), раз-меры которых зависят от количества взаимо-действующих процессов, функционирующихна различных вычислительных узлах. Приме-ром такого алгоритма служит протокол при-нятия согласованного решения (задача визан-тийских генералов). Напомним, что это алго-ритм, поддерживающий отказоустойчивостьраспределенной вычислительной системы(маскирует отказы). Более подробно этот алго-ритм будет описан ниже. При изменении то-пологии распределенной вычислительной си-стемы меняются и структуры данных алгорит-мов, которые выполняются в этой распреде-ленной вычислительной среде. Следователь-но, возникает необходимость и в изменениисценария поведения имитационной модели, аточнее, в изменении алгоритмов и соответ-ствующих структур данных, описывающихповедение моделируемых объектов.

В дальнейшем материал статьи будетизложен в следующей последовательности:программные средства имитационного моде-лирования распределенных систем и особен-ности их реализации, алгоритм принятия кол-лективного решения, языковые и программ-ные средства Triad.Net, реализация алгоритмапринятия коллективного решения, слой сооб-щений, использование онтологий.

Программные средстваимитационного моделированияраспределенных систем

Распределенные информационные си-стемы в настоящее время находят все большееприменение. Это связано с настоятельнойнеобходимостью обрабатывать большиеобъемы данных (Big Data). Известно, что дляобработки больших объемов данных необхо-димо привлекать дополнительные вычисли-тельные мощности, используя аппаратныесредства суперкомпьютеров, распределенныхсистем (вычислительных узлов, связанныхлиниями связи), кластерные, Grid и Cloud-тех-нологии. Однако применение распределен-ных информационных систем связано с разра-боткой новых алгоритмов (например, алго-ритмы маршрутизации), новых протоколов.Для их разработки, анализа и оценки эффек-тивности применяются специализированныепрограммные средства, обзоры которых мож-

но найти в работах зарубежных авторов [7, 8,9, 10]. Примерами таких систем служат систе-мы Parasol [11], SimGrid [12], NS-2 [1], OP-NET [2], OMNet ++[3] и т.д. Подобные специ-ализированные программные системы разра-батываются и в РФ [13, 14].

Практически все эти работы обладаюттакими чертами, как [15]: модульный подход к построению моде-

лей; возможность многоуровневого описания

исследуемой системы; наличие библиотек готовых модулей,

имитирующих работу различного теле-комму-никационного оборудования ипротоколов;

развитые средства сбора статистики; возможность графического конструиро-

вания отдельных фрагментов модели наоснове объединения готовых модулей.К недостаткам подобных программных

систем некоторые авторы [16] относят: направленность их, прежде всего, на мо-

делирование работы коммуникационныхсистем, ограниченные возможности опи-сания вычислительного процесса в са-мих узлах сети;

скрытость алгоритмов функционирова-ния ряда модельных блоков и отсутствиеисходных кодов инструментальныхсредств;

отсутствие в некоторых случаях возмож-ности создания собственных блоков иограничения на выбор уровней детализа-ции;

высокая стоимость годовой лицензии ис-пользования пакетов.Хотелось бы отметить еще ряд суще-

ственных черт, которые, по возможности,должны присутствовать в системах автомати-зированного проектирования и моделирова-ния распределенных систем:- Наличие программных средств опти-

мизации имитационного экспериментапо времени. Такая необходимость возни-кает при решении задач, требующих зна-чительных вычислительных ресурсов, вчастности, при проектировании припроектировании распределенных вычис-лительных систем (крупномасштабныесети (large-scale networks)). Моделирова-ние сетей, насчитывающих сотни, тыся-

108

Page 3: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Особенности моделирования распределенных информационных систем

чи и десятки тысяч узлов, должно завер-шаться за приемлемое время [17, 18]. Аэто возможно при использовании много-процессорной или кластерной аппарату-ры, на которой проводится имитацион-ный эксперимент, и соответствующегопрограммного обеспечения, реализующе-го параллельный алгоритм продвижениявремени [19; 20, 21, 22]. Здесь же возни-кает проблема равномерной загрузкиузлов при выполнении имитационногоэксперимента, надежности и отказоустой-чивости симулятора, использующегонесколько вычислительных узлов [23, 24,25, 37]. В настоящее время появился и ещеодин класс симуляторов, использующихвысокопроизводительную аппаратуру, –это симуляторы, предназначенные длявыполнения на графических процессорах[26].

- Наличие программных средств для опи-сания операций над структурой модели.Во время имитационного экспериментаструктура моделируемой распределеннойсистемы может быть изменена: добавле-ние линий связи, удаление линии связи.добавление вычислительного узла, уда-ление узла. Следовательно, в имитаци-онной модели необходимо предусмот-реть операции над моделью.

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

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

- Адаптируемость программного обеспе-чения симуляторов распределенных ин-формационных систем к включению вимитационную модель новых устройстви новых алгоритмов, которые управ-ляют их работой. Наиболее известныепрограммные продукты для проектиро-вания и моделирования распределенныхвычислительных систем перечисленывыше. Каждый из продуктов действи-тельно имеет характерные особенности.Одни средства рассчитаны на управле-ние локальными сетями, а другие пред-назначены для администраторов терри-ториально-распределенных сетей. Однипросто позволяют строить схемы сетей иобладают ограниченными возможностя-ми моделирования, другие же способныпроизводить сложный анализ глобаль-ных сетей. Предлагаемые программныепродукты не могут решить все задачи,поскольку одни направлены на решениезадач анализа сетей, другие – на реше-ние задач проектирования, одни иссле-дуют только локальные сети, другие –сенсорные. Поскольку технологии рабо-ты с сетями развиваются очень быстро,быстро сменяются типы сетей, то сред-ство проектирования, анализа и модели-рования компьютерных сетей должнобыть адаптируемыми к этим изменени-ям.

- Наличием программных средств, позво-ляющим адаптировать симулятор рас-пределенных информационных системна конкретную предметную область.При проектировании распределенныхинформационных систем целесообразнопривлекать специалистов в областипроектирования, которые используют

109

Page 4: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Е. Б. Замятина, А. И. Миков, Р. А. Михеев

тот или иной математический аппарат,например, теорию графов, теорию очере-дей, системы массового обслуживания,сети Петри [28, 29]. Зачастую графиче-ское представление объектов имитаци-онной модели представлено в виде диа-грамм UML или IDEF [30]. Однако вданном случае речь идет не только лишьо графическом представлении модели,но и о средствах анализа распределен-ной информационной модели. Так прианализе структуры распределенной ин-формационной системы возникает необ-ходимость в получении такой информа-ции, как множество вершин (структурапредставлена в виде графа), множествосмежных вершин по входу, множествосмежных вершин по выходу, степень вы-бранной вершины, диаметр графа, кото-рый представляет собой структуру моде-лируемой распределенной информаци-онной системы и т.д. При анализе ими-тационной модели, в основе которой ле-жит система массового обслуживанияпроектировщиков интересуют занятостьодноканальных и многоканальныхустройств, средняя и текущая длина оче-реди и т.д.

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

проектирования и анализа распределенныхинформационных систем группой авторовбыли учтены выдвинутые выше требования(программная система TRIADNS). Программ-ная система TRIADNS построена на основеCAD Triad [31, 32].

Для того чтобы система имитации соот-ветствовала требованиям, предъявленнымвыше, в системе TRIADNS разработаны: языковые конструкции и соответствую-

щее программное обеспечение для опи-сания структуры имитационной модели(граф с вершинами, которые представ-ляют моделируемые объекты, дуги графа

представляют собой связи между объек-тами, которые обмениваются друг с дру-гом сообщениями), сценарии поведенияобъектов, описания сообщений сложнойструктуры;

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

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

ненты, которые придают разработанным про-граммным средствам определенную гибкость,позволяя добавлять новые объекты, доопреде-лять модели, выполнять интеллектуальныйанализ результатов моделирования.

Компоненты TRIADNSСИМ TriadNS включает следующие

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

переводит описание имитационной мо-дели с языка Triad во внутреннее пред-ставление);

110

Page 5: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Особенности моделирования распределенных информационных систем

TriadDebugger (отладчик, использует ме-ханизм информационных процедур алго-ритма исследования, локализует ошибкии вырабатывает рекомендации для ихустранения на основании правил из базыданных, для каждого класса ошибок осу-ществляется поиск по онтологии соот-ветствующего обработчика ошибок);

TriadCore (ядро системы, включает биб-лиотеки классов основных элементов мо-дели),

TriadEditor (редактор моделей, предна-значен для работы с моделью как в уда-ленном, так и локальном режимах, ло-кальный режим предполагает работу ссистемой в том случае, если нет удален-ного доступа),

TriadSecurity (подсистема безопасности,этот компонент используют при удален-ном доступе к системе моделрования),

TriadBuilder (подсистема автоматическо-го доопределения частично описанноймодели), база данных, где хранятся эк-земпляры элементов модели,

TriadMining (набор процедур для иссле-дования результатов модели методамиDataMining),

TriadBalance (подсистема балансировки), TriadRule – алгоритм синхронизации

объектов распределенной модели, исполь-зующей для вычислительного эксперимен-та ресурсы нескольких вычислительныхузлов.Далее более подробно рассмотри пред-

ставление имитационной модели.

Представление имитационноймодели в TRIADNS

В Triad принято трехуровневое пред-ставление имитационной модели: M = (STR,ROUT, MES), где STR – слой структур, ROUT– слой рутин, MES – слой сообщений.

Слой структур представляет собой сово-купность объектов, взаимодействующих другс другом посредством посылки сообщений.Каждый объект имеет полюсы (входные и вы-ходные), которые служат соответственно дляприёма и передачи сообщений. Основа пред-ставления слоя структур – графы. В качествевершин графа следует рассматривать отдель-ные объекты (концентраторы, маршрутизато-ры, серверы, рабочие станции, например, или

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

Объекты действуют по определённомусценарию, который описывают с помощьюрутины. Рутина представляет собой последо-вательность событий ei, планирующих другдруга (E – множество событий; множество со-бытий рутины является частично упорядочен-ным в модельном времени). Выполнение со-бытия сопровождается изменением состоянияобъекта. Состояние объекта определяется зна-чениями переменных рутины. Таким образом,система имитации является событийно-ориен-тированной.

Рутина так же, как и объект, имеет вход-ные и выходные полюса. Входные полюса слу-жат соответственно для приёма сообщений,выходные полюса – для их передачи. В множе-стве событий рутины выделено входное собы-тие ein. Все сообщения, которые поступают навходные полюса рутины, обрабатываютсявходным событием. Обработка сообщений, ко-торые генерируются на выходных полюсах ру-тины, осуществляется обычными событиямирутины. Для передачи сообщения служит спе-циальный оператор out (out <cообщение>through <имя полюса>). Совокупность рутинопределяет слой рутин ROUT.

Слой сообщений (MES) предназначендля описания сообщений сложной структуры.

Система моделирования Triad реализо-вана таким образом, что пользователю необя-зательно описывать все слои. Так, если возни-кает необходимость в исследовании структур-ных особенностей модели, то можно описатьтолько слой структур.

Triad-модель рассматривается как пере-менная. Она может быть построена с помо-щью операций над моделью.

Как уже было сказано ранее, модельвключает описание структуры, рутин и слоясообщений.

Синтаксис слоя структур:structure <имя структуры> def (<список

настроечных параметров>) (<список входныхи выходных параметров>) <описание пере-менных> <операторы>) endstr

111

Page 6: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Е. Б. Замятина, А. И. Миков, Р. А. Михеев

В качестве переменных можно использо-вать переменные типа «вершина», «граф», «по-люс» и т.д. Операторы выполняют операциинад вершинами, графами, полюсами, структу-рами.

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

structure КлиентСервер[integer числоКли-ентов ] def

КлиентСервер := node Сервер<ПРИЕМ,ВЫДАЧА> +node Клиент[0:числоКлиентов-1] <ПРИ-

ЕМ,ВЫДАЧА>; integer i;for i := 0 by 1 to числоКлиентов - 1 doКлиентСервер := КлиентСервер + arc( Клиент[ i ].ВЫДАЧА -- Сервер.ПРИ-

ЕМ )+arc(Сервер.ВЫДАЧА--Клиент[i ].ПРИ-

ЕМ );endf;endstr

Рис. 1. Слой структур с описаниемструктуры компьютерной сети «Кли-ент-сервер»

На рис. 1. представлена структура сети«КлиентСервер», которая строится в виде вер-шины «Сервер» и присоединенным к неймассивом вершин «Клиент».

Связи между вершинами устанав-лива-ются в цикле for с помощью дуг, при этомуказываются входные и выходные полюса(arc(Сервер.ВЫДАЧА--Клиент[i].ПРИЕМ )).

Слой структур представляет собой пара-метризованную процедуру. Изменив значе-ние входного параметра «числоКлиентов»,можно получить в результате модель со струк-турой, в которой определено уже другое коли-чество клиентов.

Переопределить количество клиентовможно перед началом или в ходе имитационно-го эксперимента. Во втором случае переопреде-ление выполняется в условии моделирования.

Сценарий работы клиента описывают спомощью рутины, синтаксис и текст которойприведены ниже:

Синтаксис:routine<имя>(<список настроечных пара-

метров>)(<список входных и выходных фор-мальныхх параметров>) initial <последова-

тельность операторов> endievent <последовательность

операторов> endeevent <наименование события> <после-

довательность операторов> ende …event<наименование события><после-

довательность операторов> ende endrout

Пример рутины:

routine Клиент (input ПРИЕМ; output ВЫ-ДАЧА )[ real deltaT ]

initial boolean запросПослан;запросПослан := false; schedule ЗАПРОС in 0; Print "Инциализация клиента"; endievent ЗАПРОС;out "Запрос на обслуживание" through

ВЫДАЧА; Print "Клиент послал запрос серверу";schedule ЗАПРОС in deltaT;ende endrout

Рис. 2. Рутина «Клиент»

Рутина также представляет собой пара-метризованную процедуру, которая наряду спараметрами интерфейса (входные и выход-ные полюса рутины «Прием» и «Выдача»),включает формальные параметры deltaT –временной интервал между запросами Клиен-та к Серверу.

Экземпляры рутин формируются опера-тором let Клиент( clientDeltaT ) be клиент, аналожение рутины на соответствующую вер-шину графа выполняется оператором put кли-ент on Модель.Клиент[i]<ПРИЕМ=ПРИЕМ,ВЫДАЧА=ВЫДАЧА>.

При этом входные и выходные полюсарутины сопоставляются с входными и выход-ными полюсами вершины.

Графический интерфейсВ TRIADNS реализован графический

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

112

Page 7: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Особенности моделирования распределенных информационных систем

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

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

Рис. 3. Слой структур, определен-ный средствами графического ре-дактораСистема Triad реализована таким об-

разом, что пользователю необязательно описы-вать все слои. Так, если возникает необходи-мость в исследовании структурных особенно-стей модели, то можно описать в модели толькослой структур. Если есть необходимость в ис-следовании поведения какого-либо объекта, томожно рассмотреть отдельную рутину, подав навход соответствующие сигналы и т.д. Таким об-разом, в системе моделирования TRIADNS надмоделью в целом определены такие операции,как выделение слоя структур, выделения слоясообщений, выделение слоя рутин, а также опе-рации наложения рутины, определения типаданных, наложения слоя структур и т.д.

Алгоритм исследованияАлгоритмом имитации называют сово-

купность объектов, функционирующих поопределённым сценариям, и синхронизи-рую-щий их алгоритм.

Для сбора, обработки и анализа имита-ционных моделей в системе Triad.Net суще-ствуют специальные объекты – инфор-маци-онные процедуры и условия моделирования.Информационные процедуры и условия моде-лирования реализуют алгоритм исследованиямодели.

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

Условия моделирования анализируютрезультат работы информационных процедури определяют, выполнены ли условия завер-шения моделирования. Приведем синтаксисусловий моделирования:

Conditions of simulation<наименованиеусловий моделирования>(<список настроеч-ных параметров>)(<список входных и выход-ных параметров>) initial <последовательностьоператоров> endi <список информационыхпроцедур> <последовательность операторов>processing <последовательностьоператоров>…endcond

Запуск модели на выполнение осуще-ствляется оператором simulate, приведем при-мер оператора, который запускает модель М:

simulate M on Generals(4) (M.MyGeneral[1].result).

Условия моделирования можно исполь-зовать для изменения условий проведенияэксперимента и выполнения операций над мо-делью в целом или каких-либо ее элементовили слоев во время проведения имитационно-го эксперимента.

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

В слое структур определены также про-цедуры и функции: Nodeset (in ref Graph G) –

113

Page 8: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Е. Б. Замятина, А. И. Миков, Р. А. Михеев

множество вершин графа;Nodenames (in refGraph G) – множество имен вершин графа;Nodenumber(in ref Graph G) – количество вер-шин графа. Процедуры и функции определе-ны также и для смежных вершин, полюсов,событий, типов сообщений.

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

Протокол принятия согласованногорешения

Рассмотрим классический пример про-токола принятия согласованных решений –задачу "Византийских генералов". Протоколизложен в книге Э. Таненбаума и лекцияхВ.А. Крюкова [33].

В этой задаче армия зеленых находитсяв долине, а n синих генералов возглавляютсвои армии, расположенные в горах. Связьосуществляется по телефону и является на-дежной, но из n генералов m являются преда-телями. Предатели активно пытаются воспре-пятствовать согласию лояльных генералов.

Согласие в данном случае заключаетсяв следующем: каждый генерал знает, скольковоинов находится под его командой. Ставитсяцель, чтобы все лояльные генералы узналичисленности всех лояльных армий, т.е. каж-дый из них получил один и тот же вектор дли-ны n, в котором i-й элемент либо содержитчисленность i-й армии (если ее командир лоя-лен) либо не определен (если командир преда-тель).

Рассмотрим алгоритм для случая n=4 иm=1. Структуру модели опишем с помощьюграфического редактора.

Рис. 4. Структура модели, реализующей про-токол принятия согласованного решения

В текстовом редакторе для определенияструктуры необходимо описать ее следующимобразом:

Structure Army (integer n) def Army:=compl (n)(Con(n-1))End;

Здесь структура имитационной моделиописана графовой константой compl –связный граф, n – входной формальный пара-метр, необходим для указания общего количе-ства генералов.

В этом случае алгоритм осуществляетсяв 4 шага.

1 шаг. Каждый генерал посылает всемостальным сообщение, в котором указываетчисленность своей армии. Лояльные генералыуказывают истинное количество, а предателимогут указывать различные числа в разныхсообщениях. Генерал-1 указал 1 (одна тысячавоинов), генерал-2 указал 2, генерал-3 указалтрем остальным генералам соответственно x,y, z, а генерал-4 указал 4.

В имитационной модели этот шаг мо-жет быть описан событием Greeting, приве-денным ниже.

event Greeting;//шаг первый, каждый генерал посылаетсообщение о численности своей армии (но-мер рабочей станции)out NumberWorkStation through Con[0];//Укажем,что первый шаг выполненMode:=1;ende

Рис. 5. Сообщение о численности армиилояльного генерала

114

Page 9: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Особенности моделирования распределенных информационных систем

event GreetingSpy; //шаг первый, каждый генерал посылаетсообщение о численности своей армии (но-мер рабочей станции)out NumberX through Con[0];out NumberY through Con[1];out NumberZ through Con[2];//Укажем,что первый шаг выполнен Mode:=1;ende

Рис. 6. Сообщение о численности армиигенерала-предателя

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

Выходные полюса являются и входны-ми (тип InOut). Выходные и входные полюсацелесообразно описать в виде массива с коли-чеством элементов, равным (n-1), где n – ко-личество генералов.

Напомним, что описание слоя структур,рутин, а также, слоя сообщений являются па-раметризованными процедурами. Если в каче-стве входного параметра будет использованозначение количества рабочих станций, то присоздании модели пользователь получит экзем-пляры структур, рутин и сообщений с конкрет-ным значением количества вершин. В нашемслучае будет создана модель, в слое структуркоторой определены 4 вершины (см. рис. 4.).

2-ой шаг. Каждый генерал формируетсвой вектор из имеющейся информации. В ре-зультате получается четыре вектора: vector1(1,2,x,4); vector2 (1,2,y,4); vector3 (1,2,3,4);vector(1,2,z,4).

Второй шаг реализуется в Triad-моделиво входном событии. Здесь используется пере-менная типа Vector (n), где n – количество ге-нералов (или рабочих станций в сети).

При изменении количества генералов(рабочих станций в сети) соответственнодолжно измениться и количество элементовэтого вектора.

Поэтому целесообразно описать этот типданных в слое сообщений. О слое сообщенийподробнее расскажем несколько позже.

Итак, каждый генерал посылает сфор-мированный на предыдущем шаге вектор всемостальным (генерал-3 посылает опять произ-вольные значения).

На 3-м и на 4-м шагах каждый генералбудет оперировать с матрицей, описываемойтипом Matrix. Действительно, каждый из ге-нералов получает по n-1 (3, в конкретном при-мере) длины n: первый – ((1,2,y,4), (a,b,c,d),(1,2,z.4)); второй – ((1,2,x,4) (e,f,g,h) (1,2,z.4));третий – ((1,2,x,4),(1,2,y,4),(1,2,z.4)), четвер-тый – ((1,2,x,4), (1,2,y,4), (i,j,k.l)).

На 4-м шаге каждый генерал проверяетэлементы во всех полученных векторах и,если какое-то значение элемента совпадает,по меньшей мере, в двух векторах, то оно по-мещается в результирующий вектор, иначесоответствующий элемент результирующеговектора помечается «неизвестен». В результа-те все лояльные генералы получают одинвектор (1, 2, «неизвестен», 4) – согласие до-стигнуто. Здесь лучше всего воспользоватьсяпроцедурой, которая преобразует матрицутипа martix в результирующий вектор Resultтипа vector.

Использование слоя сообщений иусловий моделирования дляизменения модели

Итак, слой сообщений предназначен дляопределения типов данных сложной структу-ры, например, Vector(n) is (Element); Ma-trix[n-1,n] is (Element).

Синтаксические правила для определе-ния типа:

<определение типа>::=<имя типа>(<пара-метры>) is (составляющая типа){,<составляю-щая типа>})

<составляющая типа>::=<объявление се-лектора>{or <объявление селектора>}

<объявление селектора> ::=<имятипа>(<параметры>) <идентификатор>(<па-раметры>)[<список граничных пар>]

Пусть составляющая типа Element имеетбазовый тип integer;

Задание переменных типа Vector и Ma-trix выглядит следующим образом: Vector (n)A, где n – входной параметр рутины, опреде-

115

Page 10: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Е. Б. Замятина, А. И. Миков, Р. А. Михеев

ляет количество генералов в описанном вышепримере.

Для того чтобы во время имитационно-го эксперимента можно было бы не изменятьтекст программного кода рутины и заново вы-полнить трансляцию этой рутины, целесооб-разно ввести операции (языковые конструк-ции), позволяющие изменить структуры дан-ных типа Vector и Matrix.

Соответствующее условие моделирова-ние можно описать следующим образом:

conditions of simulation Generals [integer n](input integer (k); output boolean answer) (…m = Nodenumber if m<> n then vector (m) …)

Здесь, если количество вершин измени-лось, то следует заново определить типы vec-tor и matrix, т.е.запустить параметризованнуюпроцедуру. В качестве фактического парамет-ра используют новое значение количествавершин графа, представляющего структуруимитационной модели. Проверка количествавершин выполняется всякий раз по окончанииочередного шага моделирования.

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

conditions of simulation Generals [integern] (input integer (k); output boolean answer)(….m = Nodenumber; (* определим количествовершин*)

if m<> n (* если количество вершин изменилось,

то надо наложить на вершины новый экзем-пляр рутины *)

then let goodgeneral(m) be general; //создание

экземпляра рутины for i:=1 by 1 to m do //Наложение рутин на вершины

put goodgeneral on Army.General[i] endf;

Знания о модели сохраняются в базовойонтологии.[36, 38, 39] При проведении имита-ционного эксперимента знания извлекаютсяиз онтологии и используются ядром для изме-нения всех переменных модели с типами vec-tor и matrix.

ЗаключениеИтак, в языке Triad используются язы-

ковые конструкции и соответствующее про-граммное обеспечение, которые позволяют ав-томатизировать операции добавления и удале-ния вершин в графе, представляющем собойструктуру распределенной информационнойсистемы. Добавление и удаление вычисли-тельных узлов в распределенной вычисли-тельной среде возможно, поскольку свойствомасштабируемости предполагает наращива-ние вычислительной мощности системы приувеличении количества вычислительныхузлов распределенной системы, а свойствоотказоустойчивости – сохранение свойств иработоспособности распределенной системы.В статье представлены языковые конструкцииTriad-системы, позволяющие автоматизиро-вать операции добавления и удаления вершинграфа, который представляет структуру моде-ли. Сложность заключается не только в том,чтобы изменить структуру имитационной мо-дели, но и сценарий поведения вычислитель-ных узлов, реализующих тот или иной алго-ритм или протокол. Изменяются также иструктуры данных (сообщений), которыми об-мениваются вычислительные узлы. Проблемадобавления и удаления узлов, которая сводит-ся к выполнению операций добавления и уда-ления вершин графа имитационной модели входе имитационного эксперимента можетбыть решена при использовании параметризо-ванной процедуры описания структуры моде-ли. Соответственно изменение сценария пове-дения узлов выполняется за счет использова-ния параметризованных процедур обработкиданных в языке Triad, процедуры описанияструктуры сообщений и условий моделирова-ния, которые и указывают, какие изменениянеобходимо выполнить в ходе имитационногоэксперимента. Не возникает необходимостиво внесении изменений в программный код.Это повышает надежность модели (а, следова-тельно, соответствует требованиям ее каче-ства), и достоверность эксперимента.

Информация о структуре, рутинах, со-общениях, которыми обмениваются вершиныграфа, представляющего структуру модели,хранится в онтологиях системы Triad. В си-стеме TRIADNS существуют базовая и пред-метно-ориентированные онтологии. Базовуюонтологию используют для автоматического

116

Page 11: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Особенности моделирования распределенных информационных систем

доопределения модели, автоматизации опера-ций добавления и удаления, а предметно-ори-ентированные – для настройки на предмет-ную область.

Языковые конструкции языка Triad, со-ответствующее программное обеспечение ионтологии позволяют сократить время на раз-работку модели, упростить проведение имита-ционного эксперимента.

Список литературы1. The Network Simulator – NS-2. Доступно на

сайте: http://www.isi.edu/nsnam/ns (Провере-но: 21 ноября 2013).

2. OPNET Modeler. Доступно на сайте:<http://www.opnet.com> (Проверено: 21 ноя-бря 2013).

3. OMNET++ Community Site. Доступно насайте: http://www.omnetpp.org. (Проверено:21 марта 2013).

4. Соколов Б.В., Юсупов Р.М. Концептуальныеосновы квалиметрии моделей и полимо-дельных комплексов // Имитационное моде-лирование. Теория и практика: сб. докл. 2-йвсерос. науч.-практ. конф. ИММОД–2005.Т. 1. СПб: ЦНИИТС. 2005. С. 65–70.

5. Таненбаум Э. Современные операционныесистемы. 3-е изд. Спб.: Питер, 2010. 1120 с.(Сер. "Классика computer science").

6. Тель Ж. Введение в распределенные алго-ритмы. Изд-во МЦНМО, 2009. 616 с.

7. Karatza H.D. Current Trends In Modelling AndSimulation Of Parallel And Distributed Sys-tems. [Электронный ресурс]URL:ijssst.info/Vol-03/No-&2/ Karatza.pdf, 2001. P.1–4 (проверено: 30.11.2013).

8. Sulistio A., Yeo C.E., Buyya R. Simulation ofParallel and Distributed Systems: A Taxonomyand Survey of Tools. [Электронный ресурс]URL: w.cs.mu.oz.au/~raj/papers/simtools.pdf.P. 1–19 (проверено: 30.11.2013).

9. Sulistio A., Yeo C.E., Buyya R. A taxonomy ofcomputer-based simulations and its mapping toparallel and distributed systems simulationSoftw. Pract. Exper. 2004; 34:653–673 [Элек-тронный ресурс] URL:

www.cloudbus.org/papers/simulationtaxonomy.pdf(проверено: 30.11.2013).10. Salmon S, Elarag H. Simulation Based Experi-

ments Using Ednas: The Event-Driven NetworkАrchitecture Simulator. In Proceedings of the2011 Winter Simulation Conference S. Jain,R.R. Creasey, J. Himmelspach, K.P. White, and

M. Fu, eds.. The 2011 Winter Simulation Con-ference 11-14 December 2011Grand ArizonaResort Phoenix, AZ. P. 3266–3277.

11. Neilson J.I. PARASOL: A Simulator for Dis-tributed and/or Parallel Systems. [Электрон-ный ресурс] URL:

www.sce.carleton.ca/rads/lqns/papers/parasol.pdf,1991 (проверено: 30.11.2013).12. Casanova H. Simgrid: A toolkit for the simula-

tion of application scheduling. Proceedings 1stIEEE/ACM International Symposium on ClusterComputing and the Grid (CCGrid2001), Bris-bane, Australia, May 2001. IEEE Computer So-ciety Press: Los Alamitos, CA, 2001.

13. Бродский И.Ю. Модельный синтез и мо-дельно-ориентированное программированиекак технология реализации имитационныхмоделей сложных многокомпонентных си-стем с ориентацией на параллельные и рас-пределенные вычисления // Матер. конф.«Имитационное моделирование. Теория ипрактика» ИММОД–2013. Казань: Фэн Ака-демии наук РТ. 2013. T.1. C. 114–119.

14. Бродский Ю.И. Распределенное имитаци-онное моделирование сложных систем. М.:ВЦ РАН, 2010. 156 с.

15. Бродский Ю.И., Лебедев В.Ю. Инструмен-тальная система имитации MISS. М.: ВЦАН СССР. 1991. 180 с.

16. Бродский Ю.И., Павловский Ю.Н. Разра-ботка инструментальной системы распреде-ленного имитационного моделирования //Информации-онные технологии и вычисли-тельные системы. 2009. № 4. С. 9–21.

17. Миков А.И., Замятина Е.Б. Технология ими-тационного моделирования больших систем// Тр. Всерос. науч. конф. «Научный сервис всети Интернет». М.: Изд-во МГУ. 2008.С.199–204.

18. Liu Y., He Y. A Large-Scale Real-TimeNetwork Simulation Study Using Prime. M. D.Rossetti, R. R. Hill, B. Johansson, A. Dunkin,and R. G. Ingalls, eds. The 2009 Winter Simula-tion Con-ference 13–16 December 2009. HiltonAustin Hotel, Austin, TX. P. 797–806.

19. Riley G., Fujimoto R.M., Ammar M. A GenericFramework for Parallelization of Network Sim-ulations”, in Proc. 7th Int. Symposium on Mod-eling, Analysis, and Simulation of Computer andTelecommunication Systems, 1999. P. 128–135.

20. Fujimoto R.M. Distributed Simulation Systems.In Proceedings of the 2003 Winter SimulationConference S. Chick, P. J. Sánchez, D. Ferrin,and D. J. Morrice, eds. The 2003 Winter Simula-

117

Page 12: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Е. Б. Замятина, А. И. Миков, Р. А. Михеев

tion Conference 7–10 December 2003. The Fair-mont New Orleans, New Orleans, LA. P. 124–134.

21. Замятина Е., Ермаков С. Алгоритм синхро-низации объектов распределенной имитаци-онной модели в TRIAD.Net. Appli-cable In-formation Models. ITHEA, Sofia, Bulgaria,2011. ISBN: 978-954-16-0050-4. С. 211–220.

22. Волканов Д.Ю. и др. Методика использова-ния системы имитационного моделированияРВС РВ Диана, основанной на HLA. Матер.конф. «Имитационное моделирование. Тео-рия и практика» ИММОД–2013. Казань:Фэн Академии наук РТ. 2013. T.1. С. 322–326.

23. Wilson L. F., Shen W. Experiments in load mi-gration and dynamic load balancing in Speedes// Proc. of the Winter simulation conf. / Ed. byD. J. Medeiros, E. F.Watson, J. S. Carson, M.S. Manivannan. Piscataway (New Jersey): Inst.of Electric. and Electron. Engrs, 1998. P. 487–490.

24. Zheng G. Achieving high performance on ex-tremely large parallel machines: Performanceprediction and load balancing: Ph.D. Thesis.Department Comput. Sci., Univ. of Illinois atUrbana-Champaign, 2005. 165 p. [Electron. re-source]. http://charm.cs.uiuc.edu/ (проверено:30.11.2013).

25. Миков А.И., Замятина Е.Б., Козлов А.А.Мультиагентный подход к решению пробле-мы равномерного распределения вычисли-тельной нагрузки. Natural and ArtificialIntelligence, ITHEA, Sofia, Bulgaria, 2010.P.173–180.

26. Djinevski L., Filiposka S, Trajanov D. NetworkSimulator Tools and GPU Parallel Systems. InProceedings of Small Systems Simulation Sym-posium 2012, Niš, Serbia, 12th-14th February2012. P. 111–114.

27. Hu W., Sarjoughian H.S. A Co-Design Model-ing Approach For Computer Network Systems.In Proceedings of the 2007 Winter SimulationConference S.G.Henderson, B.Biller, M.H.Hsieh, J. Shortle, J.D. Tew, and R.R. Barton,eds. The 2007 Winter Simulation Conference 9–12 December 2007 J.W. Marriott Hotel, Wash-ington, D.C. P. 124–134.

28. Ломазова И.А. Вложенные сети Петри: мо-делирование и анализ распределенных си-стем с объектной структурой. M: Научныймир, 2004. 208 с.

29. Башкин В.А., Ломазова И.А. Эквива-лент-ность ресурсов в сетях Петри. М.: Научныймир, 2007. 208 с.

30. В.И.Гурьянов. Моделирование классифи-ка-ций на визуальном языке имитационногомоделирования UMLSP. Матер. конф.«Имитационное моделирование. Теория ипрактика» ИММОД–2013. Казань: Фэн Ака-демии наук РТ, 2013. T.1. С. 128–133.

31. Mikov A.I. Simulation and Design of Hardwareand Software with Triad // Proc.2nd Intl. Conf.on Electronic Hardware Description Languages.Las Vegas, USA. 1995. P. 15-20.

32. Mikov A.I. Formal Method for Design of Dy-namic Objects and Its Implementation in CADSystems // Gero J.S. and Sudweeks F. (eds). Ad-vances in Formal Design Methods for CAD,Preprints of the IFIP WG 5.2 Workshop on For-mal Design Methods for Computer-Aided De-sign. Mexico, 1995. Р. 105–127.

33. Крюков В.А. Операционные системы рас-пределенных вычислительных систем (рас-пределенные ОС). Доступно на сайте www.-parallel.ru (Проверено: 25.11.2013).

34. Замятина Е.Б., Михеев Р.А. Использованиемультиагентного подхода и онтологий длямоделирования компьютерных сетей // Ма-тер. 4 междунар. науч.-техн. конф. «Инфо-коммуни-

118

Page 13: УДК 681.3 Особенности моделирования распределенных ...simulation.su/.../2013-zamyatina-mikov-miheeva.pdf · времени[19; 20,21,22].Здесьжевозни-кает

Особенности моделирования распределенных информационных систем

кационные технологии в науке, производствеи образовании» 28–30 июня 2010. Ставрополь.С. 175–180.

35. Замятина Е.Б., Миков А.И. Программныесредства системы имитации Triad.Net дляобеспечения ее адаптируемости и открыто-сти. Информатизация и связь. 2012. № 5. С.130–133.

36. Миков А.И., Замятина Е.Б. Инструмен-тальные средства имитационного моделиро-вания для анализа бизнес-процессов иуправления рисками // Информатизация исвязь. 2011. № 3. С. 14–16.

37. Mikov A.,Zamyatina E.,Kozlov A. Ermakov S.Some Problems of the Simulation Model Effi-ciency and Flexibility. Proceedings of «2013 8thEUROSIM Congress on Modelling and Simula-

tion EUROSIM 2013», Cardiff, Wales, UnitedKingdom, 10–13 of September. P .532–538.

38. Замятина Е.Б., Миков А.И. Применениеонтологий и принципов организации сер-вис-ориентированно архитектуры припроек-тировании и реализации системыимитационного моделирования // Матер. 3-ймеждунар. науч.-техн. конф. «Технологииразработки информационных систем ТРИС-2012». Т.1. Таганрог. Изд-во Технол. ин-таЮФУ. Ростов-на-Дону, 2012. 9 сентября. С.61–65.

39. Mikov A., Zamyatina E., Mikheev. Linguisticand Program Tools For Debugging and TestingOf Simulation Models Of Computer Networks.International Journal “Information Models andAnalyses, 2013. V. 2. № 1. Sofia. 1000. P.O.B.775. Bulgaria. P. 70–80.

Some features of simulation of the distributedinformation systems E. B. Zamyatina, A. I. Mikov, R. A. Mikheev

Perm State University, Russia, 614990, Perm, Bukirev st., [email protected]; (342) 2 396 594

The problems of simulation of distributed information systems are discussed. There are a largenumber of specialized software systems dedicated to design a simulation model of distributedsystems and to run a simulation experiment. The article deals with software and language tools ofCAD Triad.Net, considers the main features of the simulation model and how to automate changesduring simulation experiment. Among the properties of distributed systems one can emphasizesthe properties of scalability and fault tolerance, as a result of which the number of computingnodes of the system being modelling may be changed. Particular attention is paid to the automationof operations to add and remove model objects associated with the calculating nodes.

Key words: ddistributed information systems; simulation; scalability; fault tolerance;automation; ontology.

119