Главное отличие человека от животного – его способность к абст-рактному мышлению. Абстрактное мышление, снабженное определен-ной методологией и технологией, и есть, по сути дела, моделирование, позволяющее с использованием некоторых воображаемых образов и объ-ектов анализировать и проектировать окружающую нас реальность. В на-стоящее время нельзя назвать область человеческой деятельности, в ко-торой в той или иной степени не использовались бы методы моделирова-ния. Особенно это относится к сфере создания сложных информационно-управляющих систем. Именно сложность подобных систем определяет отсутствие возможности их разработки и познания на базе аналитических (расчетных) методов в рамках какого-либо единого математического ап-парата.
В подобных ситуациях, когда отсутствует возможность матема-тической формализации, обеспечивающей аналитическое решение за-дачи, единственным подходом является использование методов моде-лирования систем и, в частности, методов имитационного моделирова-ния на ЭВМ (компьютерного моделирования, цифрового моделирова-ния, машинного моделирования). В более широком смысле использо-вание методов моделирования позволяет определить эффективные стратегии принятия решений в сложных, проблемных и плохо опреде-ленных ситуациях применительно к самому разнообразному кругу за-дач анализа и синтеза информационных систем в экономике и управле-нии производством, в бизнесе, при исследовании экологических про-блем, в медицине и биологии.
Наибольшее внимание в данной книге уделяется методологии и технологии имитационного моделирования сложных систем с приме-нением ЭВМ – компьютерному моделированию. В странах, занимаю-щих лидирующее положение в создании новых компьютерных систем и технологий, научное направление Computer Science использует эту методологию как одну из основных, а в программах подготовки спе-циалистов по данному направлению имеется соответствующая учебная дисциплина. Как основа методологии современного системного анали-за компьютерное моделирование постоянно развивается. Совершенст-вуются технологии компьютерного моделирования систем, появляются инструментальные средства моделирования, обладающие принципи-ально новыми возможностями, общей является тенденция интеграции средств моделирования и автоматизированного проектирования ин-формационных систем. Имеется большое количество замечательных монографий и учебников, изданных в нашей стране и посвященных рассматриваемому вопросу. Здесь, прежде всего, следует отметить мо-нографию Н.П. Бусленко «Моделирование сложных систем», а также классический учебник Б.Я. Советова, С.А. Яковлева «Моделирование систем», неоднократно переиздаваемый в РФ. В тоже время, требуется постоянная коррекция и адаптация учебно-методического обеспечения с учетом специфики преподавания соответствующих дисциплин для различных специальностей и специализаций.
В основу настоящего издания положены материалы лекций и ла-бораторно-практических занятий курса «Моделирование систем», чи-таемого студентам факультета компьютерных наук Воронежского го-сударственного университета. Книга состоит из шести глав, посвящен-ных различным аспектам разработки и эксплуатации компьютерных моделей, направленных на оценку эффективности сложных систем различного назначения.
В первой главе рассматриваются основные понятия и определения общей теории систем. Дается формализованная постановка задач анали-за и синтеза сложных систем. Рассматривается соотношение качествен-ных и количественных методов системного анализа и обосновывается эволюционная технологическая схема проектирования сложных систем, реализующая многоуровневую иерархию моделей с различной степенью абстрагирования. Излагаются основы современных графических техно-логий и языков концептуального и функционального моделирования систем (ERD, IDEF, DFD, UML) в рамках методологии структурного системного анализа.
Вторая глава посвящена изложению принципов и технологий имитационного моделирования сложных систем в интересах оценки их эффективности. В полном объеме рассматриваются все основные эта-пы разработки моделей, организации и проведения модельного экспе-римента на основе стратегического и тактического планирования ис-следований. Особое внимание уделяется вопросам организации мо-дельного времени и способам описания динамики системы в имитаци-онных моделях. Специальный раздел посвящен моделированию слу-чайных величин с заданным законом распределения.
В третьей главе излагаются основы построения математических моделей и моделирующих алгоритмов систем на основе механизма типо-вых математических схем, реализующих известные подходы к описанию элементов систем и их взаимодействия. Даются развернутая, наиболее полная классификация и определения типовых математических схем, ис-пользуемых при разработке имитационных моделей, включая сетевые модели и комбинированные модели (агрегаты, гибридные автоматы).
Четвертая глава посвящена описанию принципов построения имитационных моделей систем и сетей массового обслуживания. Да-ются классификация основных типов систем массового обслуживания и вводятся показатели их эффективности. Приводятся аналитические решения для простейших систем. Подробно рассматриваются принци-пы и алгоритмические основы построения имитационных моделей сложных систем массового обслуживания на основе использования формализма типовых математических схем.
Пятая глава посвящена описанию принципов построения имита-ционных моделей сложных систем на основе комбинированного под-хода, ориентированного на использование гибридных математических схем. Рассматриваются схемы агрегата и кусочно-линейного агрегата и их использование при разработке имитационных моделей. Детально рассматривается схема гибридного автомата (карты состояний Харела), используемая в современных средствах визуального имитационного моделирования. Кратко описываются современные реализации языков и инструментальных средств имитационного моделирования и воз-можности CASE-технологий при разработке имитационных моделей систем.
В шестой главе излагаются практические основы разработки ими-тационных моделей, направленных на проведение оценки эффективности систем в многофункциональной интегрированной среде MATLAB (7.0) + Simulink + Stateflow. Приводятся примеры построения имитационных моделей, которые могут использоваться как шаблоны для выполнения лабораторного практикума по означенной тематике. Рассматривается разработка моделей систем передачи информации (Simulink) и систем массового обслуживания (Simulink + Stateflow), оболочкой которой слу-жит управляющая программа (MATLAB), в полном объеме реализующая стратегическое и тактическое планирование модельного эксперимента. Наиболее подробно описывается процесс программирования моделей со-бытийно-управляемых систем с использованием пакета Stateflow. При этом рассматриваются различные варианты построения моделей и их ин-теграции с MATLAB и Simulink
Основы современной методологии компьютерного моделирования сложных систем по тексту книги сопровождаются многочисленными ил-люстративными примерами, а также контрольными вопросами и зада-ниями для самостоятельной работы.
Каждая глава завершается списком литературы, положенной в ос-нову излагаемого материала и позволяющей, при необходимости, полу-чить более глубокие знания по интересующим
1 МОДЕЛИРОВАНИЕ КАК УНИВЕРСАЛЬНЫЙ МЕТОД
ИССЛЕДОВАНИЯ И ПРОЕКТИРОВАНИЯ СЛОЖНЫХ СИСТЕМ
1.1 Математические описания систем и моделей систем в рамках
теоретико-множественного подхода
Как уже отмечено, в ситуациях, когда отсутствует возможность математической формализации, обеспечивающей аналитическое решение задачи, единственным подходом является использование методов моделирования систем и, в частности, методов имитационного моделирования на ЭВМ (компьютерного моделирования, цифрового моделирования, машинного моделирования).
Для того, чтобы более конкретно говорить об особенностях решения сложных проблем на основе методологии системного моделирования, следует напомнить ряд определений и понятий общей теории систем. К их числу относятся следующие категории.
Система – целостное, органично единое образование, состоящее из множества элементов, находящихся в отношениях или связях друг с другом.
Целостность или эмерджентность, есть, по видимому, важнейшая характеристика системы (С), которая проявляется в том, что в процессе взаимодействия элементов, входящих в состав системы, появляется принципиально новое качество, свойство, которым не обладает ни один из входящих в С элементов.
Структура – описание совокупности элементов (состав С) и наиболее устойчивых связей между ними.
Взаимодействие систем или элементов в рамках данной системы – взаимное влияние, приводящие к некоторым существенным изменениям в их состоянии (энергетическим, химическим, физическим, информационным и пр.).
Целевое назначение – желаемый результат, который должен быть достигнут в процессе функционирования системы.
Используя эти определения, можно ввести, например, понятие информационной системы (ИС) как системы, целевое назначение, состав и структура которой ориентированы на различного рода преобразования информации. Соответственно, основным видом взаимодействия в ИС является информационное взаимодействие.
Внешняя среда – совокупность элементов (объектов) естественного или искусственного происхождения, не входящих в состав системы, но оказывающих на нее определенное воздействие и определяющих существенные условия ее функционирования.
Особо следует остановиться на понятии иерархии.
Иерархия – расположение частей и элементов целого в порядке от высшего к низшему. При иерархическом описании сложных систем применяются различные способы. Во всех них используется родовое понятие – уровень иерархии, имеющее различный смысл в зависимости от способа описания. Существует три типа иерархии:
1) на основе выделения страт – уровней абстрагирования (аспектов) при описании системы;
2) на основе выделения слоев – уровней сложности принимаемых решений при достижении глобальной цели;
3) на основе выделения эшелонов или уровней в организационной структуре системы, имеющей четко выделенные семейства управляющих и подчиненных элементов.
При рассмотрении вопросов синтеза и анализа сложных ИС обычно проводится их функционально-структурная декомпозиция на системы низшего уровня, которые называют подсистемами и которые, в свою очередь, обладают функциональной целостностью, выполняя определенные операции, обеспечивающие достижение общей цели. Дальнейшая декомпозиция подсистем приводит к образованию многоуровневой иерархии, которая предполагает не только разделение систем, подсистем на части, но и использование различных аспектов описания системы, понимания ее как объекта материального мира.
Например, для сложных технических систем часто ограничиваются введением четырех уровней такой иерархии: уровень самой системы; уровень подсистем; уровень технических устройств или функциональных звеньев; уровень схемных элементов, являющихся в данном случае предельными единицами иерархического описания. При этом на верхнем уровне рассматривается процесс функционирования системы как субъекта экономики, производства и т.п. в смысле реализации ее основных потребительских свойств. На уровне подсистем описываются процессы преобразования информации в ходе функционирования системы. Уровень технических устройств одновременно предполагает описание преобразований сигналов – носителей информации. Низший уровень определяет описание физических процессов, протекающих в элементах системы.
Таким образом, можно сделать вывод, что любая система определяется тремя основными категориями: элементы, отношения, свойства. Однозначное и полное задание этих категорий фактически определяет систему: ее целевое назначение, структуру, качества. Рассмотрение возможных способов формализованного описания системы однозначно связано с понятием модели.
Модель (лат. «мера») – объект-заменитель объекта-оригинала, обеспечивающий изучение наиболее существенных в интересующем нас аспекте свойств оригинала и, наоборот, позволяющий абстрагироваться от его несущественных, в рамках данного рассмотрения, свойств.
При математической формализации описания систем и, вообще, при реализации любого способа моделирования различают два подхода: структурный, в рамках которого сосредотачиваются на анализе и воспроизведении в модели внутренних свойств и состояний системы, и функциональный, при котором сосредотачиваются на изучении и воспроизведении внешних проявлений системы как преобразователя «вход-выход», а сама система при этом рассматривается как «черный ящик». Примером структурного подхода является модель иерархической системы управления предприятием, содержащая описание функциональной и материальной структуры этой системы. Примером функционального подхода является любая модель преобразования данных, реализованная на основе нейронной сети (многослойного персептрона).
Напомним некоторые определения, используемые при описании систем и моделей систем в рамках теоретико-множественного подхода.
Декартовым произведением множеств является множество всех упорядоченных пар , где ; . Введем также понятие отношения как подмножества декартова произведения двух множеств, образующих множество упорядоченных пар. Для элементов и обозначение следует понимать как ( находится в отношении к ). Важным и часто встречающимся типом отношений является отношение эквивалентности, которое удовлетворяет следующим трем условиям:
– рефлексивность;
– симметричность;
– транзитивность.
Данный тип отношений, определенных на декартовом произведении двух множеств, называется бинарным отношением (БО). Левой областью БО или левой проекцией на называется множество первых элементов пар (см. рис. 1.1). Правой областью или правой проекцией на называется множество вторых элементов пар. Множество , называется диагональю.
Рис. 1.1. Иллюстрация бинарного отношения
В общем случае может быть задано декартово произведение множеств. На нем аналогичным образом задается -арное отношение.
Тогда в соответствии с теоретико-множественным подходом общая система , заданная на семействе множеств , определяется как -арное отношение на этом семействе или подмножество декартова произведения вида
. (1.1)
Данное общее определение в зависимости от того, какое содержание и какая дополнительная структуризация закладывается для , позволяет получить определение системы в соответствии с тем или иным подходом. При этом элементы , сами могут рассматриваться как множества, наделенные определенной структурой. Так, например, даже в условиях предельно нечетко выраженного вербального (словесного) описания систему можно представить в виде , где – множество лингвистических переменных (денотат), определяющих объекты рассмотрения, а – множество функторов – лингвистических переменных, определяющих отношения или формы связи между ними. В этом плане система является отношением на и , то есть подмножеством правильных, то есть наделенных смыслом высказываний, описывающих содержательную взаимосвязь между объектами.
Рассмотрим другой пример. Введем понятие универсума, под которым будем понимать базовое множество, содержащее все элементы (объекты) какой-либо области материального или духовного мира. Пусть – универсум элементов; – универсум отношений между ними; – универсум свойств, реализуемых на этих элементах. Тогда система определяется как
, (1.2)
где – универсум данного класса систем. Определяя как универсум структурных характеристик или структур, а – как универсум параметров систем, которые обеспечивают необходимый уровень детализации элементов и связей между ними, без которого невозможно информативное описание системы, получим, что приведенное определение соответствует описанию и терминологии, введенным ранее для различных уровней иерархического описания систем. В частном случае данное определение фактически соответствует другому известному в математике определению системы как пары , где – подмножества элементов, а – множество (семейство) -арных отношений, заданных на . В данном случае может рассматриваться как элемент , определяемый в соответствии с (1.2). Такая система в математике называется реляционной системой. В простейшем случае данный вариант математического определения системы сводится к заданию пары , где – конечное множество элементов, а – бинарное отношение на . Данная алгебраическая структура часто интерпретируется как граф, в котором при наличие отношения , , проводится направленная дуга. Отношение означает наличие петли (см. рис. 1.2).
Рис. 1.2. Структурное описание систем и гомоморфизма систем с использованием направленных графов
Все перечисленные выше примеры математического определения систем реализуют, прежде всего, структурный подход к их описанию, так как в них в явном виде присутствуют компоненты, отвечающие за описание внутренних свойств и элементов системы.
Введенное выше общее определение системы позволяет также перейти и к реализации функционального подхода. Первым шагом в этом направлении является определение двух множеств: входных объектов и выходных объектов . Тогда система может быть определена как бинарное отношение
. (1.3)
При реализации функционального подхода в чистом виде вместо отношения используется отображение или функция
. (1.4)
Отображение – это такой тип отношений, для которого выполняется
,
или иначе
и .
Определенная таким образом система называется функциональной. Иногда еще такое отношение обозначается как , причем, если , то это обозначается как . Отображение является взаимно-однозначным или инъективным, если при , и выполняется
.
Отображение называется сюрьективным, если для следует, что существует такой, что . Это означает свойство полного заполнения в случае применения к и обозначается как . Если отображение иньективно и сюрьективно, то оно биективно.
Необходимо отметить, что содержательная основа определений (1.3) и (1.4) отображает, в сущности, различные подходы. В первом случае предполагается установление некоторого правила отбора пары на (рис. 1.1) при рассмотрении этого множества в целом. Напротив, функциональному определению в чистом виде соответствует более конкретное задание системы, фактические определяющее правило получения для любого некоторого конкретного (рис. 1.3).
Рис. 1.3. Иллюстрация понятий иньекция, сюрьекция, биекция
Для формального определения понятия модели системы широко используются определения теории категорий и, прежде всего, морфизмы. Морфизм в общем случае означает соответствие, то есть правило, по которому каждому элементу пространства ставится в соответствие элемент другого пространства . Пространство, вообще говоря, синоним множества, однако его употребляют в тех случаях, когда вместе с множеством элементов указаны еще и некоторые свойства: операции, отношения, заданные на этом множестве. В случае, когда отображается не обязательно на все , но с сохранением некоторых общих свойств, такое соответствие называется гомоморфизмом. Если же морфизм отображает взаимно однозначно на всё , то это называется изоморфизмом, а пространства и – изоморфными.
В плане математического определения модели системы обычно используется понятие гомоморфизма. В случае, если акцентируется структурный подход к описанию систем, то рассматривается гомоморфизм отношений.
Пусть, например, и две алгебраические структуры или системы. Тогда отображение такое, что для , из следует или
,
называется гомоморфизмом из в , а система называется моделью . В качестве примера гомоморфизма структуры систем, описываемых таким образом, можно привести соотношение графов, представленных на рис. 1.2.
Для общего определения систем может быть введено следующее понятие модели. Пусть и , а и два отображения. Тогда отображение , называется гомоморфизмом отношений из в , а система называется моделью в случае, если
Иногда в этом определении для отображения требуют выполнения свойства сюрьективности.
Гомоморфизм вполне можно рассматривать как функции моделирования. Под этим подразумевается то, что во многих случаях он упрощает структуру исходной системы, сохраняя все наиболее существенные связи и опуская менее существенные детали. Выбор соответствующего гомоморфизма зависит от того, какие свойства исходной системы считаются существенными при моделировании. Требование сюрьективности только для отображения означает, например, некое угрубление спектра входных воздействий модели. При этом гомоморфный образ исходный системы в общем случае оказывается собственным подмножеством своей модели. Поэтому модель позволяет делать некоторые выводы, которые могут не иметь места для исходной системы, и это также согласуется с интуитивным представлением о моделях.
1.2 Системный подход и системный анализ. Качественные методы
Системный подход – термин, который возник на начальном этапе развития общей теории систем. Он, прежде всего, означает многоаспектный характер исследования сложного объекта с разных сторон (точек зрения, аспектов). Одновременно, выдвигается требование сохранения комплексного характера проводимого исследования, что предполагает учет взаимовлияния различных аспектов и разнородных факторов. Оказалось, что при реализации этих концепций системного подхода, в отличие от ранее принятого разделения на химические, физические и др. исследования, в ходе исследований можно получить более полное и правильное представление о реальных сложных объектах, выявить их новые и, подчас, неожиданные свойства, лучше определить взаимоотношения объекта с внешней средой. Наглядное представление о существе многоаспектного подхода в познании свойств простых и сложных объектов дает рис. 1.4. Смысл рисунка состоит в том, что познание свойств простого объекта (шара) требует использования только одной точки зрения (аспекта), тогда как свойства сложного объекта могут быть поняты (вообще говоря, не до конца) с использованием различных точек зрения. Несмотря на внешнюю очевидность (на уровне здравого смысла) подобного подхода, в реальной жизни он реализуется далеко не всегда.
Рис. 1.4. Многоаспектное восприятие сложного объекта
Системный анализ – термин, обозначающий исследования сложной системы (проблемы), или системные исследования, снабженные определенной методологией, позволяющей разбить изучаемый процесс на отдельные подпроцессы, выделить этапы исследования, расчленить проблему на более простые подпроблемы и т.п. Другими словами, системный анализ предполагает использование некоторой методологии, обеспечивающей научное формирование структурной основы проведения исследований в интересах решения сложной проблемы (например, проектирования сложной системы) по частям.
В ходе системного анализа (СА) могут исследоваться такие понятия, как целевые функции системы; планирование поведения системы; структура и эффективность в зависимости от основных факторов внешней среды. Для подобных исследований также характерно сочетание формальных и неформальных методов и приемов, которые каждый раз находятся в соответствии с существом решаемой проблемы.
Методы описания сложных систем в ходе СА классифицируются в порядке возрастания степени формализации от качественных до количественных.
В качественных методах основное внимание уделяется организации постановки задачи, первому этапу ее формализации, формированию множества альтернативных вариантов решения, выбору подходов к оценке вариантов. Эти методы и подходы являются эвристическими, то есть опирающимися на опыт, творческую потенцию, а, зачастую, и интуицию исследователя.
Количественные методы СА связаны, прежде всего, с оценкой или анализом вариантов: их показателями эффективности, точности, корректности. В том или ином виде анализ в рамках количественных методов опирается на системное моделирование с применением ЭВМ. Для постановки задачи эти методы почти не имеют средств, практически полностью оставляя осуществление этого этапа за человеком.
Между этими крайними классами методов имеются методы и подходы, которые направлены на то, чтобы в максимально возможной степени охватить обе эти стадии (постановки задачи, выбора альтернативных вариантов, их исследования и количественной оценки). К ним относятся кибернетический подход, синергетический подход, различные методы ситуационного моделирования.
Если говорить об истории развития СА, то можно выделить несколько этапов, показанных на рис. 1.5.
Рис. 1.5. Этапы развития методологии системного анализа
На начальном этапе можно говорить о возникновении системного подхода как идейной, концептуальной основы СА. На первом этапе развития собственно СА в качестве методологии исследований использовались методы теории оптимизации и исследования операций. При этом особое внимание уделялось получению в той или иной форме соотношений, связывающих цели со средствами, то есть показателей эффективности со структурой и параметрами объекта, который пытались отобразить в виде хорошо организованной системы.
На современном этапе в дополнение к методам теории оптимизации и исследования операций большое внимание уделяется использованию неформальных, качественных методов анализа и количественных методов, основанных на реализации различных способов моделирования систем.
Единой платформой для проведения системных исследований всегда являлись аналитические и статистические методы, теоретико-множественный подход и другие методы и подходы современной математики общего назначения.
Остановимся более подробно на качественных методах СА, применяемых в настоящее время при проведении системных исследований и направленных на активизацию использования опыта и интуиции специалистов.
Метод «мозгового штурма» или коллективной генерации идей (КГИ). Данная концепция получила развитие с начала 50-х годов как метод систематической тренировки творческого мышления, нацеленный на открытие новых идей и достижение согласия группы людей на основе интуитивного мышления.
Обычно при проведении мозговой атаки или сессий КГИ реализуются следующие правила и принципы обсуждения:
приветствуются любые идеи и обеспечивается свобода мышления в высказывании новых идей, какими бы сомнительными они не оказались изначально;
не допускается критика, не объявляется ложной и не прекращается обсуждение ни одной идеи;
желательным является высказывание как можно большего числа идей, особенно нетривиальных;
наиболее ценными считаются идеи, которые связаны с ранее высказанными, представляют их развитие и обобщение.
Участникам сессий КГИ не разрешается зачитывать списки заранее подготовленных предложений. В то же время, им заранее предоставляется некоторая предварительная информация о существе обсуждаемой проблемы. Одной из задач такой подготовки является задача преодоления стереотипов. Таким образом, сущность данного подхода состоит в обеспечении возможности достаточно свободного, но, в то же время, конструктивного обсуждения максимального количества идей или вариантов решения сложной системной проблемы.
Метод сценариев. Метод подготовки и согласования взглядов на проблему и возможные пути ее решения, представленных в письменной форме, получил название метода сценариев. Сценарием называется любой документ, подготовленный группой специалистов и содержащий анализ рассматриваемой проблемы, предложения по ее решению, прогнозы относительно развития системы. Первоначально предложения по подготовке подобных документов пишутся индивидуально, а затем формируется согласованный текст.
Сценарий предполагает наличие не только содержательных рассуждений, но и, как правило, результатов технико-экономического или статистического анализа с предварительными выводами, которые можно получить на их основе. Группа экспертов, подготавливающих сценарии, пользуется обычно правом получения необходимых справок от предприятий и организаций, а также консультаций всех ведущих специалистов.
Сценарий является предварительной информацией, на основе которой проводится дальнейшая работа по прогнозированию развития отрасли, предприятия или перспективы различных вариантов проекта. Таким образом, метод сценариев позволяет составить обобщенное исходное представление о проблеме, а затем приступить к более формализованному описанию системы для проведения экспертного опроса и применения других методов СА.
Метод экспертных оценок (ЭО). Термин «эксперт» происходит от латинского слова «expert», означающий опытный. Неизвестная характеристика исследуемого явления или процесса в рамках данного метода трактуется как случайная величина, отражением закона распределения которой является индивидуальная оценка специалиста эксперта о достоверности и значимости того или иного события, высказывания, предположения. Проводится опрос группы экспертов и получается совокупность оценок. Если в ходе подобных оценок привлекается достаточно представительная группа квалифицированных экспертов, то можно ожидать, что получаемые результаты позволят снизить априорную неопределенность по рассматриваемой проблеме. Другими словами, когда оценки получены от группы экспертов, предполагается, что истинное значение исследуемой характеристики находится внутри диапазона оценок и что обобщенное коллективное мнение является достоверным.
Основной целью ЭО является, как правило, прогноз эффективности того или иного варианта решения сложной проблемы, научного направления, варианта построения проектируемой системы и т.д.
Решение задачи ЭО осуществляется различными методами, в которых обеспечивают оптимизацию выбора группы экспертов, способов опроса и анализа результатов опроса. Надежность получаемых групповых оценок определяется выполнением ряда требований: гладкости распределения оценок, близости оценок при использовании одинаковых подгрупп экспертов. Используются для этой цели и математические методы. Например, при обработке материалов коллективной экспертной оценки используются методы ранговой корреляции: для оценки степени согласованности мнений экспертов вычисляется так называемый коэффициент конкордации
где количество экспертов; количество рассматриваемых свойств (вариантов); место (ранг), которое заняло -ое свойство в ранжировке, выполненной -ым экспертом; отклонение суммы рангов по -му свойству от среднего арифметического сумм рангов по свойствам.
Если коэффициент конкордации равен , то это означает полную противоположность мнений, напротив, значение соответствует полному совпадению ранжировок. Хорошими считаются значения .
Метод «Дельфи». Название этого метода связано с древнегреческим городом Дельфи, где при храме Аполлона существовал Дельфийский оракул предсказатель.
В отличие от традиционного подхода к достижению согласованности мнений специалистов путем открытой дискуссии метод Дельфи предполагает полный отказ от коллективных обсуждений. Это делается для того, чтобы исключить влияние таких психологических факторов, как присоединение к мнению авторитетов, следование за мнением большинства, боязнь отказа от публично выраженного мнения. Здесь публичные дебаты заменены тщательно разработанной программой индивидуальных опросов. Ответы экспертов обобщаются и вместе с новой дополнительной информацией поступают в распоряжение экспертов, после чего они уточняют или изменяют свои первоначальные ответы. Такая процедура итеративно повторяется несколько раз по достижении приемлемой сходимости совокупности высказанных мнений. Существуют различные модификации метода Дельфи, например, использование в каждом туре специалистов различного профиля.
Метод анализа иерархий (МАИ). Данный метод относится к числу наиболее эффективных методов принятия решений в сложных ситуациях и направлен на выбор альтернативных вариантов поведения с использованием мнений лиц, принимающих решения, а также специальной математической обработки этих мнений, обеспечивающей формирование глобальных приоритетов (рейтингов вариантов). Метод предложен и апробирован американским ученым Т. Саати. МАИ может использоваться как на ранних стадиях проектирования сложных систем, вплоть до решения проблемы целеполагания, так и на завершающем этапе, когда требуется принятие окончательных решений по выбору альтернативных вариантов.
Реализация МАИ предполагает выполнение нескольких этапов исследования сложной проблемы. На первом этапе осуществляется декомпозиция проблемы в виде иерархии, в вершине которой лежит цель (фокус проблемы), на следующем нижележащем уровне определяются частные критерии или факторы, от которых зависит достижение цели, и, наконец, на самом нижнем уровне иерархии размещаются альтернативные варианты, каждый из которых может быть характеризован общим набором критериев, определенных на втором уровне. На следующем этапе осуществляется формирование множества сравнительных попарных суждений, обеспечивающих численные оценки превосходства одного критерия над другим в плане достижения общей цели, а также одного варианта над другим по отношению к каждому из критериев. В результате на каждом уровне формируются матрицы попарных сравнений. Наконец, на последнем этапе осуществляется синтез приоритетов, то есть установление абсолютных рейтингов каждого из критериев второго уровня в смысле влияния на достижение цели, а затем, с учетом важности критериев, установление глобальных рейтингов каждого альтернативного варианта решения проблемы. При формировании приоритетов используются математические методы, обеспечивающие анализ степени согласованности матриц попарных сравнений, что позволяет либо продолжить анализ проблемы в случае отсутствия требуемого уровня согласованности, либо перейти к окончательному выбору вариантов.
Метод анализа иерархий представляется более универсальным, чем, например, метод Дельфи: он допускает использование как групповых сравнительных суждений лиц, принимающих решения, так и использование независимых суждений, которые затем объединяются в рамках матриц попарных сравнений. Важным также является то, что МАИ обеспечивает структурирование проблемы участниками обсуждения непосредственно в процессе ее решения. При этом структуризация может уточняться в процессе анализа в интерактивном режиме так, чтобы повысить степень согласованности сравнительных суждений.
Морфологические методы (морфология строение, форма). Основная идея морфологических методов систематическое нахождение всех «мыслимых» вариантов решения проблемы или реализаций сложной системы путем комбинирования выделенных элементов или их признаков. В систематизированном виде подход был разработан и применен швейцарским астрономом Ф. Цвикки, который предложил три метода.
Первый из них метод систематического покрытия поля, основанный на выделении опорных пунктов знания в исследуемой области и заполнении поля на основе сформулированных принципов мышления.
Второй метод отрицания и конструирования исходит из того, что на пути прогресса стоят догмы и компромиссы, которые есть смысл отрицать и, следовательно, сформулировав некоторые очевидные предположения полезно заменить их на противоположные, а затем использовать при проведении анализа.
Наибольшее распространение получил метод морфологического ящика Цвикки. Он состоит в определении всех мыслимых параметров, от которых может зависеть решение проблемы и представлении их в виде матриц-строк. Затем производится определение морфологического ящика-матрицы всех возможных сочетаний по одному из каждой строки. Полученные таким образом варианты могут подвергаться анализу с целью выбора наилучшего.
Используя идею морфологического анализа для моделирования информационных систем в технике, разрабатывают языки моделирования или языки проектирования, которые применяют для порождения возможных ситуаций в системе, возможных вариантов решения и т.д.
Помимо рассмотренных качественных методов системного анализа следует упомянуть такие, как метод дерева целей, метод организованных стратегий и др.
Таким образом, нами дан краткий обзор качественных методов и подходов СА, направленных, в первую очередь, на изыскание возможных вариантов построения системы или решения проблемы.
Количественные методы СА, как уже упоминалось, направлены, прежде всего, на оценку этих вариантов и их окончательный выбор. Важнейшим и наиболее универсальным из этих методов является метод моделирования (математического, физического, смешанного, компьютерного и т.п.). Поэтому в литературе термины «системный анализ» и «моделирование систем» часто отождествляют.
Рассмотрим теперь роль методов моделирования для решения задачи синтеза сложной системы более конкретно.
1.3 Задачи анализа и синтеза систем.
Эволюционная технологическая схема синтеза сложных систем
Вернемся к исходному определению системы в рамках теоретико-множественного подхода (1.2). Будем называть вариантом построения системы пару , , , то есть некоторый упорядоченный набор данных, характеризующих ее структуру и параметры. Будем считать, что в области ответственности исследователя система конкретно определена, если задан вариант и обозначать этот факт следующим образом: .
Совокупность задач, возникающих в связи с исследованием сложных систем, разбивается на два класса: анализ и синтез систем.
Задача анализа состоит в изучении свойств системы, если заданы:
характеристики внешней среды, а также любых структурных и параметрических неопределенностей и возмущений в виде упорядоченного набора данных ;
структура и параметры варианта системы ;
оценочное отображение вида : , где – множество значений оценочной функции, описывающей набор из показателей эффективности.
Тогда в ходе анализа изучение свойств системы сводится к расчету значений как функции .
Таким образом, задача анализа задана, если известна тройка .
Задача синтеза заключается в выборе оптимальных, в известном смысле, структуры и/или параметров системы при заданных характеристиках внешней среды и налагаемых ограничениях. Ее постановка предполагает определение:
множества характеристик внешней среды , описывающее в общем случае любые возмущения внешнего и внутреннего характера;
ресурсные (физические) ограничения, определяемые отображением и уровнем удовлетворения ( – множество, каждый элемент которого содержит набор из внешних параметров системы);
критериальные ограничения в виде отображения : и отображения : ;
правило предпочтения в виде бинарного отношения порядка («быть лучше») на , обладающее свойствами рефлексивности, транзитивности и антисимметричности.
Если такая совокупность задана, то задача синтеза формулируется как задача нахождения варианта такого, что для любых и выполняется
, , , (1.4)
где в данном случае обозначения определяют бинарные отношения порядка на и , обеспечивающие выполнение соответствующих неравенств для всех компонентов векторных величин. Множество , называется множеством допустимых систем, а система – допустимой системой. Множество , , , называется множеством строго допустимых систем, а система – строго допустимой.
Таким образом, можно утверждать, что задача синтеза системы на множестве определена заданием совокупности данных , включающих, в том числе, соответствующие уровни сатисфакции (удовлетворения) для внешних параметров и показателей эффективности системы.
Во многих случаях , то есть не зависит от . Тогда введения отображения не требуется.
В качестве распространенных отношений предпочтения при выборе вариантов систем можно привести реализуемые на основе следующих подходов:
критерия безусловного предпочтения, обеспечивающего превосходство по всем компонентам эффективности , ;
критерия, базирующегося на сведении частных показателей эффективности к одной скалярной величине , , , и ее максимизации;
минимаксного критерия, обеспечивающего наибольшее значение для наименьшего из нормированных значений частных показателей качества .
Еще один подход к проблеме выбора оптимальных систем состоит в использовании стратегии Парето. Она состоит в поиске так называемых нехудших вариантов.
Вариант построения системы является нехудшим, если для него на множестве не существует безусловно лучшей системы , то есть такой, что : . В противном случае такая система называется худшей. Применение безусловного критерия предпочтения позволяет разбить множество на два непересекающихся множества – множества нехудших систем (рис. 1.6) и – множества худших систем.
Рис. 1.6. Иллюстративные примеры задания множества нехудших систем
Представленные простейшие примеры иллюстрируют наличие определенных сложностей, возникающих при выборе оптимальных вариантов систем в многомерном пространстве показателей эффективности, что требует использования специальных приемов и методов их разрешения. Чтобы выбрать окончательно один из нескольких нехудших вариантов (стратегий) необходимо располагать дополнительной информацией, позволяющей учесть дополнительные факторы в пользу того или иного варианта. В случае отсутствия подобной информации окончательный выбор может быть сделан на основе качественных методов системного анализа, например, того же метода иерархий.
Для подавляющего большинства систем решение задачи синтеза в постановке (1.4) не может быть получено на основе одной формально определенной операции оптимизации, как это, например, осуществляется при рассмотрении некоторых задач синтеза оптимального управления в простых системах. Поэтому в ходе реального синтеза сложных систем применяется системный подход, одна из основных идей которого состоит в сочетании неформальных (эвристических) приемов, направленных на расчленение процесса решения проблемы на отдельные составляющие, но при этом таким образом, чтобы по возможности учесть связи между ними и сохранить целостное представление о системе. Рассматривая этот вопрос более детально, можно утверждать, что в рамках системного подхода при решении задачи проектирования информационных и управляющих систем обычно руководствуются следующими принципами и приемами.
1. Сочетание декомпозиции, композиции и иерархичности. Декомпозиция представляет собой разъединение системы на части с последующим самостоятельным рассмотрением частей. В ходе декомпозиции связи между элементами рассекаются таким образом, чтобы минимальным образом нарушались их основные свойства, при этом вводятся такие эквиваленты этих связей, которые позволяют перейти к отдельному рассмотрению частей системы. Декомпозиция является мощным и, зачастую, главным приемом исследования, так как решить задачу системотехнического синтеза одновременно для всех частей системы не удается.
Композиция представляет собой процесс объединения различных элементов системы с целью рассмотрения ее как единое целое. Это обратный декомпозиции процесс, имеющий целью рассмотрение системы с более общих позиций. Часто композиция проводится после декомпозиции и исследования системы (синтеза и анализа) по частям с целью восстановления представления о системе в целом и получения интегральных выводов о результатах решений, принятых для выделенных элементов. При этом может образовываться несколько циклов «декомпозиции - композиции».
Иерархичность, как уже было сказано, предполагает выделение нескольких уровней рассмотрения системы, имеющих различную степень абстракции, сложности, приоритетности и находящихся вследствие этого в соподчиненных отношениях. Проведение декомпозиции зачастую приводит к появлению иерархичности при рассмотрении системы, а проведение композиции – к ее снятию.
2. Выделение нескольких этапов создания системы, позволяющих представить процесс ее синтеза как динамический, последовательно развивающийся во времени. Каждый такой этап характеризуется более глубоким познанием системы и происходящих в ней процессов и фиксирует скачкообразное снижение уровня априорной неопределенности относительно облика создаваемой системы.
3. Всестороннее рассмотрение взаимодействия системы с внешней средой, включая взаимоотношения с обществом и природой, обмен полезной и мешающей информацией с другими системами, влияние внешних физических воздействий и условий функционирования (температура, влажность, радиация и т.п.). Всестороннее рассмотрение основных видов взаимодействия внутри системы между ее элементами (функционального, информационного, энергетического, конструктивного и др.). Реализация данного принципа так же, как и предыдущих, тесно связана с проведением декомпозиции и введением иерархического описания системы.
4. Сочетание различных методов и подходов и, прежде всего, математических, численных методов исследования систем с эвристическими, реализующими творческий подход и неформальные приемы, опирающиеся как на всю сумму знаний, накопленных в данной предметной области, так и на интуицию исследователя.
Учет предыстории развития данного класса систем позволяет вводить в действие решения, которые ранее в силу тех или иных причин были признаны непригодными, но на очередном витке развития науки и техники или при появлении элементной базы с принципиально новыми возможностями становятся перспективными и эффективными. Можно утверждать, что почти все важные этапы развития информационных и управляющих систем связаны с совершенствованием элементной базы.
5. Учет возможности изменения исходных данных и даже содержания решаемой задачи в ходе многоэтапного процесса создания системы. Отсюда вытекает необходимость обеспечения по возможности большей универсальности системы, а также разрабатываемых в ее рамках подсистем и функционально законченных модулей при вариации исходных данных в широких пределах.
Перечисленные принципы и подходы составляют основу эволюционной технологической схемы процесса реального синтеза сложной системы. Она базируется на введении исходной функциональной иерархии принятия решений на основе слоев – уровней принятия решений в условиях априорной неопределенности, в рамках которых фиксируются промежуточные параметры решения общей задачи по частям. Эти уровни представлены на схеме рис. 1.7 и имеют следующий смысл:
Рис. 1.7. Иерархия уровней принятия решений
1) слой выбора (генерации) множества неопределенностей и альтернативных стратегий, в рамках которого задается дискретно-непрерывное множество вариантов системы и исходных данных для ее исследования
: ;
2) слой обучения или адаптации, задачей которого является сужение множества неопределенностей за счет изучения внешней среды во всех ее случайных проявлениях и на котором фактически проводится анализ каждого из альтернативных вариантов системы
: ;
3) слой самоорганизации, на котором окончательно выбираются структуры, функции и стратегии, используемые на нижестоящих уровнях, так, чтобы по возможности приблизиться к глобальной цели
: , , .
Если общая цель в рамках введенных ограничений не достигается, то слой самоорганизации имеет право изменить стратегии и принципы проведения исследований на нижестоящих слоях.
Более сложную иерархию процесса принятия решений в рамках эволюционной технологической схемы проектирования сложных систем иллюстрирует рис. 1.8. Фактически данная схема реализует решение задачи синтеза «через анализ», что достаточно широко используется в практике исследования сложных систем различного назначения. Здесь с привлечением эвристики и методов СА при генерации множества альтернатив дальнейшая детализация процесса принятия решений по синтезу осуществляется на основе стратификации системы, т.е. выделения различных уровней абстрагирования при ее описании, а также выделения временных этапов создания системы. При этом осуществляется проекция многослойного процесса принятия решений на последовательно детализируемый и уточняемый облик системы, где переход на каждый этап сопровождается переходом на новую страту, имеющую более низкий уровень абстракции.
Выделяемые в схеме рис.1.8 уровни обычно соответствуют:
общему концептуальному представлению системы во взаимодействии с другими элементами надсистемы и внешней средой;
функциональному представлению системы в виде совокупности взаимосвязанных подсистем, наделенных характеристиками «входа-выхода»;
рассмотрению системы и подсистем как совокупности технических устройств (модулей), обеспечивающих согласованное преобразование сигналов и информации в соответствии с функциональными задачами подсистем;
схемотехническому представлению устройств, подсистем и системы в целом в виде совокупности единиц элементной базы.
По времени процесс синтеза реализуется через выделение этапов проектирования, что соответствует выдвинутым ранее принципам системного подхода. При проектировании сложных технических и информационно-управляющих систем обычно выделяют следующие этапы, переход к которым, как правило, объективно связан с переходом к более низкому уровню стратифицированного описания, обеспечивающему качественно новую степень детализации при рассмотрении системы.
1. Этап предпроектирования, в ходе которого определяются цели проектирования, формируются исходные данные и, в первом приближении, структурный облик системы. Этот этап реализуется, прежде всего, на страте концептуального синтеза. Этап завершается подготовкой технического задания на ОКР.
2. Этап определения принципов построения системы как совокупности подсистем, исходных данных для синтеза подсистем и, в первом приближении, принципы их действия. Впервые реализуется на страте функционального синтеза и завершается подготовкой эскизного проекта создаваемой системы.
3. Этап аппаратурного синтеза, обеспечивающий аппаратурную реализацию выбранных на предыдущих этапах принципов построения системы и подсистем, выбор элементной базы, информационное и сигнальное согласование всех разрабатываемых устройств. Впервые осуществляется соответственно на страте технического синтеза и завершается составлением технического проекта.
ЭТАПЫ
Рис. 1.8. Иерархическая схема «синтеза через анализ»
4. Этап конструирования и технологии, иногда называемый этапом рабочего проектирования. Завершается подготовкой конструкторско-технологической документации, изготовлением и предъявлением опытного образца к испытаниям.
5. Этап проведения различного вида испытаний разработанной системы и ее отдельных составляющих. Завершается передачей изделия в серийное производство.
Таким образом, в ходе основных этапов, являющихся классическими этапами системотехнического проектирования, осуществляется концептуальный, функциональный, технический и конструктивный синтез. Если первый этап у нас часто называется внешним проектированием, то все остальные реализуют внутреннее проектирование системы.
Необходимо отметить, что в схеме рис. 1.8 реализуется итерационная процедура, где на каждом шаге обеспечивается уточнение исходных данных и решений, принятых на предыдущих шагах. При этом с вышестоящих страт на нижестоящие передаются исходные данные и ограничения для проведения синтеза на нижестоящих стратах, где осуществляется дальнейшая декомпозиция системы. Наоборот, с нижестоящих на вышестоящие страты передается информация о возможных, то есть функционально, технически или технологически реализуемых в условиях этих ограничений вариантах. Нижестоящие уровни являются как бы своеобразными генераторами альтернатив для уточнения решений, ранее принятых при исследовании на вышестоящих стратах, после перехода на каждый новый этап. Здесь проводится композиция и снова исследуется поведение системы в более глобальных аспектах, но уже при конкретных знаниях о свойствах ее элементов. Тем самым реализуется спиралевидный, эволюционный процесс проектирования, в ходе которого проводится уточнение и селекция альтернативных вариантов построения системы на различных уровнях и который сопровождается постоянным повышением уровня обоснованности принимаемых решений.
Представленная на рис. 1.8 схема позволяет проиллюстрировать ключевую роль моделирования в процессе создания и исследования систем, так как введенная иерархия страт является фактически иерархией моделей. Проведение оценки вариантов в многослойном и многоаспектном процессе принятия решений направлено на исследование поведения этих вариантов в условиях существующих неопределенностей и возмущений и реализуется через статистическое моделирование. Математическое и, в частности, статистическое имитационное моделирование является универсальной и мощнейшей синтетической методологией исследования сложных систем. Не случайно в некоторых источниках понятия «системный анализ» и «моделирование систем» отождествляются.
Следует отметить, что рассмотренная выше иерархия систем, подсистем, устройств, схемных элементов, порождающая иерархию соответствующих моделей процессов и этапов исследования, является типовой, но далеко не единственной. Количество выделяемых уровней и их содержание в общем случае зависит от объекта исследования и от разработчиков, которые проводят декомпозицию проблемы в соответствии с собственными предпочтениями.
Остается открытым вопрос о роли строгих математических методов при проведении исследования системы и ее элементов в рамках рассматриваемой технологической схемы. Ответ на этот вопрос может быть получен, если вернуться к исходному определению дискретно-непрерывного множества альтернативных вариантов системы (подсистемы и т.д.) в многослойной иерархии принятия решений. Учитывая, что при задании структурных характеристик важную роль играет эвристический подход, а также с учетом самого определения понятия структуры, можно предположить, что дискретная составляющая при формировании исходного множества альтернатив определяется именно наличием конечного числа вариантов структур (множество ). Множество параметров системы в большинстве случаев носит условно (в рамках фиксированной структуры) непрерывный характер , где – подмножества параметров для каждого варианта структуры. Конкретное задание структурных характеристик открывает возможность проведения более строгого синтеза алгоритмов обработки информации и оптимизации параметров для основных элементов при частично определенном облике системы (подсистемы и т.п.). Данная логика получила отражение в известной постановке задачи «дискретного выбора систем», предусматривающей проведение следующей последовательности действий:
1) задание (в простейшем случае путем перебора) конечного числа вариантов структурных характеристик системы, частично определяющих ее облик;
2) синтез оптимальных (квазиоптимальных) алгоритмов функционирования элементов системы, то есть отыскание наилучших, в известном смысле, алгоритмов преобразования сигналов и информации в рамках каждого из вариантов структурного облика системы;
3) обоснование оптимальных значений параметров системы и ее элементов на основе получения и анализа параметрических зависимостей для показателей эффективности алгоритмов обработки сигналов и информации;
4) выбор из конечного множества исходных вариантов оптимального или нескольких допустимых вариантов, имеющих соответствующие структуры, оптимизированные на этой структуре алгоритмы функционирования и параметры элементов системы.
Важное место в данном процессе играет статистический синтез оптимальных алгоритмов обработки сигналов и информации, который осуществляется по отношению к тем предельным элементам системной иерархии, когда уже возможна строгая формализованная постановка задачи такого синтеза. После проведения последнего появляется возможность «усечения» оптимальных алгоритмов на рациональной основе с целью получения аппаратурно-ориентированных квазиоптимальных алгоритмов.
Проведение оптимизации параметров предполагает получение зависимостей для показателей эффективности решения внутриобусловленных задач (задач, возложенных на внутренние элементы), то есть зависимостей для компонентов векторов , от значений при фиксированной структуре системы , а затем и показателей качества выполнения внешнеобусловленных задач и внешних параметров, используемых для оценки ресурсных ограничений . Только после этого могут быть определены оптимальные и допустимые значения внутренних параметров системы, в результате чего получают содержательное наполнение внутрисистемные характеристики варианта.
В заключение необходимо еще раз подчеркнуть два важнейших принципа проектирования любой сложной ИС.
1. Синтез любой сложной системы осуществляется через анализ и селекцию большого числа различных вариантов ее построения с отображением неких неопределенностей и возмущений, которые в общем случае носят статистический характер.
2. В процессе анализа вариантов разработчик, как правило, оперирует не с реальными системами, а с некими их обобщенными описаниями, представлениями о них, то есть моделями систем, имеющими различную степень абстракции и сложности.
Из этого следует, что универсальным и эффективным методом проектирования сложных систем, главным инструментом деятельности любого системного аналитика, является моделирование, сводящееся к построению моделей на различных уровнях описания и к их исследованию во взаимодействии с внешней средой, отображение которого носит статистический характер.
1.4 Современные информационные технологии структурного
системного анализа. Графические языки концептуального
и функционального моделирования систем
Рассмотренная в предыдущем разделе схема фактически реализует известные идеи структурного системного анализа. Под ним принято понимать метод исследования, который начинается с наиболее общего описания системы с последующей детализацией представления отдельных аспектов ее поведения и функционирования. При этом общая модель системы строится в виде некоторой иерархической структуры, которая отражает различные уровни абстракции с ограниченным числом наиболее существенных компонентов на каждом из уровней. При членении исследуемой системы на отдельные подсистемы (модули) выдвигается ряд принципов: определенности – вход и выход каждого элемента должны быть ясно понимаемы независимо от сложности процесса; единственности в рамках выбранного варианта (стратегии) разработки; полноты описания в рассматриваемом аспекте и т.д.
В рамках данной идеологии весьма эффективное приложение получили информационные технологии графического стандартизированного описания процессов и систем – технологии графических нотаций (ERD, IDEF, DFD и т.п.) и универсального графического языка моделирования UML (Unified Modeling Language). Они применяются, прежде всего, для концептуального и функционального моделирования систем, а также для начального этапа инфологического моделирования. Наибольшее распространение технологии построения графических моделей систем получили для описания экономических процессов и систем, а также при разработке программного обеспечения информационно-управляющих систем различного назначения. Однако они с успехом могут применяться и для других классов систем. Настоящий параграф посвящен краткому обзору этих технологий, которые детально рассматриваются в специальной литературе.
При проектировании систем принято рассматривать три вида графических нотаций, получивших название диаграмм: диаграммы «сущность - связь» – ERD (Entity – Relationship Diagrams); диаграммы функционального моделирования IDEF (Integration Definition for Function Modeling) в рамках общей методологии SADT (Structured Analysis and Design Technique); диаграммы потоков данных или – DFD (Data Flow Diagrams).
Диаграммы ERD предназначены для графического представления моделей данных разрабатываемой системы и предлагают некоторый набор стандартных обозначений для определения данных и отношений между ними. С помощью этого вида диаграмм можно описать некоторые компоненты концептуальных моделей данных и объектов, а также совокупность взаимосвязей между ними, имеющих существенное значение для разрабатываемой системы. Основными понятиями данной нотации являются понятия сущности и связи. Наибольшее использование модели ERD получили при проектировании реляционных баз данных.
Под сущностью (entity) понимается произвольное множество реальных или абстрактных объектов, каждый из которых обладает своими свойствами и характеристиками. Каждый объект рассматривается как экземпляр одной и только одной сущности, имеет уникальное имя или идентификатор и отличается от других экземпляров данной сущности. Примерами сущностей являются компьютер, терминал, оператор, банк, клиент банка и т.п. Каждая из сущностей может рассматриваться с различной степенью детальности на различных уровнях абстракции, исходя из постановки задачи. Стандартные обозначения сущностей представлены на рис. 1.9.
Рис. 1.9. Стандартные графические изображения сущностей
Отношения или некоторые ассоциации между отдельными сущностями называются связями (relationship). Разделяют связи, реализующие отношения принадлежности или подчиненности типа «отец – сын», «начальник – подчиненный», и связи, реализующие отношения обладания некоторыми свойствами. Связи графически изображаются в виде ромбов с соответствующим именем (рис. 1.10).
Рис. 1.10. Стандартные графические изображения связей
Графическая модель данных строится таким образом, чтобы отражались не только семантический характер описываемого отношения, но и дополнительные аспекты обязательности связи, а также кратности
участвующих в данных отношениях сущностей, которые отображаются указанием значений соответствующих переменных. В качестве примера на рис. 1.11 представлена диаграмма ERD, отображающая модель компании, разрабатывающей некоторые проекты.
Несмотря на существующие модификации диаграмм ERD, развивающие этот подход, они обладают определенной ограниченностью, прежде всего, в части отображения поведенческого аспекта для выделенных компонентов системы.
Технология концептуального и функционального моделирования SADT первоначально предназначалась для проектирования новых средств и систем вооружений США с использованием перспективных компьютерных технологий. Исходная посылка состояла в том, что обычный описательный язык оказался не эффективен для документирования и моделирования процессов функционирования сложных систем, так как не обладает требуемой степенью непротиворечивости, однозначности и полноты.
Рис. 1.11. Диаграмма «сущность - связь» для общего примера компании
В рамках SADT было разработано несколько графических языков функционального моделирования систем под общей аббревиатурой IDEF. Из них наибольшее распространение получили нотации IDEF0 и IDEF3.
Технология IDEF0 реализует методологию функционального моделирования систем в целом как множество взаимозависимых действий или функций. Важно подчеркнуть именно функциональную направленность IDEF0 – функции системы исследуются независимо от объектов, которые обеспечивают их выполнение. Это позволяет четко отделить целевые аспекты системы и подсистем от аспектов технической и физической реализации. Поэтому данная нотация в основном применяется для описания систем на ранних стадиях проектирования.
Итак, согласно технологии IDEF0 анализируемый процесс или система представляется в виде совокупности действий, или работ А (Activities), которые взаимодействуют между собой на основании определенных правил С (Control) с учетом потребляемых информационных, человеческих и производственных ресурсов М (Mechanism) и имеют четко определенные вход I (Input) и выход О (Output). На диаграммах каждое действие отображается в виде прямоугольника, который называется блоком. Указываются имена функций-блоков с использованием глаголов или отглагольных существительных. Для отображения C, М, I, О используются стрелки (интерфейсные дуги), причем положение стрелок однозначно определяется их видом, как это показано на рис. 1.12.
Для названий стрелок, как правило, используются имена существительные.
Рис. 1.12. Обозначения действий и стрелок на диаграммах IDEF0
и пример простой IDEF0-диаграммы
Одной из наиболее важных особенностей технологии IDEF является введение постепенной детализации модели системы по мере разработки отдельных диаграмм.
Поскольку модели IDEF0 представляют систему как множество иерархически вложенных функций, в первую очередь должна быть определена функция, описывающая систему в целом – контекстная функция. Данный блок подвергается последующей декомпозиции на составляющие его блоки и т.д. Такая декомпозиция выявляет полный набор подфункций, каждая из которых представлена как отдельный блок, границы которого определены интерфейсными дугами.
Стрелки, входящие в блок или выходящие из него на диаграмме верхнего уровня, являются теми же самыми, что и стрелки, входящие в блоки или выходящие из блоков диаграммы нижнего уровня, потому, что блок и диаграмма представляют одну и ту же часть системы.
Декомпозицию часто ассоциируют с движением «сверху – вниз», однако в данном случае декомпозицию корректнее определять как движение «снаружи – вовнутрь». В конечном итоге модель IDEF0 представляет собой набор иерархически взаимосвязанных диаграмм с сопроводительной документацией, которая разбивает исходное представление сложной системы на отдельные составные части. Детали каждого из основных процессов представляются в виде более детальных процессов на других диаграммах. Весьма существенным при моделировании и декомпозиции систем на основе IDEF-технологий является определение границ моделирования. Границы определяются шириной охвата и глубиной детализации. При этом наиболее существенные усилия затрачиваются на разработку исходной контекстной диаграммы, которая обобщает цели и определяет границы моделирования.
Все функциональные блоки модели IDEF0 нумеруются. Номер блока проставляется за префиксом, в качестве которого обычно используется префикс А. Контекстный блок всегда имеет номер А0. Префикс при декомпозиции повторяется для каждого блока модели. Номера используются для отражения уровня декомпозиции. Блок А0 декомпозируется в блоки А1, А2, А3 и т.д. Блок А1 декомпозируется в А11, А12, А13 и т.д.
При декомпозиции каждого блока полезно рассмотреть его жизненный цикл. Например, жизненный цикл блока «Передача сообщения» (рис. 1.12) состоит из следующей последовательности действий «Кодирование сообщения», «Определение частоты и временного интервала передачи сообщения», «Модуляция и излучение радиосигнала». При декомпозиции важно иметь в виду, что граница «детской» диаграммы есть граница «родительского» функционального блока. Это означает, что вся работа выполняется блоками самого нижнего уровня. Другими словами, «дети» – это те же объекты, что и «родители», только показанные с большей детализацией.
На рис. 1.13 представлен пример построения иерархии диаграмм IDEF0, иллюстрирующий описанные принципы.
Рис. 1.13. Иерархия IDEF0-диаграмм
На диаграммах IDEF0 явно не указываются ни последовательности выполнения действий, ни время. Этот недостаток в известной степени восполняет использование еще одной распространенной в рамках технологии SADT графической нотации – IDEF3. Нотация IDEF3 ориентирована на описание бизнес-процесса на основе сбора данных, необходимых для проведения структурного анализа системы. Она дополняет технологию IDEF0. С помощью IDEF3 мы имеем возможность уточнить картину процесса, привлекая внимание аналитика к очередности выполнения функций и бизнес-процесса в целом. Логика этой технологии позволяет строить и анализировать альтернативные сценарии развития изучаемых процессов (модели типа «что - если»?).
Основной компонент нотации IDEF3 также отображает действие (работу) и изображается в виде прямоугольника с указанием имени действия и уникального идентификационного номера блока. Связи отображаются стрелками трех типов: временное предшествование; объектный поток; нечеткое отношение. Для первых двух видов связей предполагается, что исходное действие должно завершиться прежде, чем начинается конечное действие. Для последней связи вид взаимодействия задается аналитиком отдельно для каждого случая. Все связи являются однонаправленными; при этом диаграммы IDEF3 обычно разворачиваются слева направо, характеризую временной характер поведения системы. Еще одним важным компонентом данной нотации являются соединения. Соединения определяют ветвление процесса и указывают порядок завершения или начала выполнения нескольких действий. В табл.1.1 представлены основные типы соединений.
Таблица 1.1. Типы соединений в модели IDEF3
Графическое обозначение Название Вид Правило инициации действий
Соединение «И» Разворачивающее
Сворачивающее Каждое конечное действие обязательно инициируется
Каждое исходное действие обязательно завершается
Соединение «эксклюзивное ИЛИ» Разворачивающее
Сворачивающее Одно и только одно конечное действие инициируется
Одно и только одно исходное lдействие завершается
Соединение «ИЛИ» Разворачивающее
Сворачивающее Одно (или более) конечное действие инициируется
Одно (или более) исходное действие завершается
На рис. 1.14 представлен пример построения диаграммы IDEF3, описывающий процесса выдачи денег со счета в соответствии с требованием клиента.
Рис. 1.14. Пример диаграммы IDEF3
Помимо рассмотренных компонентов на диаграммах IDEF3 используются так называемые указатели – специальные символы, применяемые для привлечения внимания к каким-либо важным аспектам модели или их пояснения. Типы указателей следующие: объект, единица действия, заметка, уточнение. Указатель изображается на диаграмме в виде прямоугольника. Имя указателя включает его тип и идентификатор.
Диаграммы потоков данных DFD ориентированы, прежде всего, на описание процесса обмена информацией между элементами изучаемой системы, а также между системой и пользователями. Модель системы в контексте DFD представляется в виде некоторой информационной модели, основными компонентами которой являются различные потоки данных, которые переносят информацию от одной подсистемы к другой. Каждая из подсистем выполняет определенные преобразования входного потока и передает результаты обработки информации в виде потока данных для других подсистем. Имеются различные разновидности нотаций DFD – нотации Гейна-Сарсона, рассматриваемые далее, и нотации Йордана-Де Марко. Тем не менее, все они ориентированы на описание, прежде всего, информационного аспекта поведения системы.
Основными компонентами DFD-нотаций являются (см. рис. 1.15): внешние сущности, выступающие в виде источника или приемника информации и изображаемые в виде прямоугольника с тенью; процессы или подсистемы, изображаемые как функциональные блоки, реализующие определенные действия и имеющие вид прямоугольников со скругленными краями и с внутренними полями; потоки данных, изображаемые в виде стрелок; хранилища информации, определяющие способ хранения данных того или иного вида и изображаемые в виде прямоугольника с двумя полями для указания номера (идентификатора) хранилища и его имени.
Рис. 1.15. Графические изображения основных компонентов нотаций DFD
Таким образом, мы видим, что диаграммы потоков данных, как и IDEF0, моделируют систему как набор действий, соединенных друг с другом стрелками. Кроме того, они содержат два новых типа объектов – внешние сущности и хранилища. В отличие от IDEF0, рассматривающую систему как множество взаимно пересекающихся действий, в названиях объектов DFD чаще встречаются имена существительные. Контекстная DFD-диаграмма состоит из одного функционального блока и нескольких внешних сущностей. Стрелки в DFD (в отличие от IDEF0, которые там иллюстрируют отношения) показывают как объекты, в том числе и данные, реально перемещаются от одного действия к другому.
Следует также отметить, что построение DFD-диаграмм изначально ассоциировалось с разработкой программного обеспечения. Однако их можно использовать для описания любых процессов и систем, имеющих ярко выраженный информационный характер. В качестве примера на рис. 1.16 представлена простая модель вхождения в связь, реализованная в стандарте нотаций DFD.
Рис. 1.16. Пример простой DFD-диаграммы
Для реализации кратко рассмотренных выше технологий структурного анализа и моделирования систем в нотациях ERD, IDEF и DFD используются достаточно развитые средства инструментальной поддержки. К ним относятся пакеты ERwin (ERD), BPwin версии 2.5 /4.0 (SADT, DFD), Design/IDEF (SADT, ERD), Visio 2000–2002 (ERD, DFD), Designer/2000 (ERD,DFD) и др., то есть достаточно известные и широко применяемые средства CASE-технологий автоматизированного проектирования информационных систем.
Например, с использованием пакета BPWin реализуется процесс автоматизированного формирования диаграмм указанных типов с возможностями декомпозиции используемых компонентов, расщепления и слияния моделей во всех возможных модификациях IDEF0, IDEF3, DFD.
Все рассмотренные выше графические нотации имеют один общий недостаток: отсутствие явных средств создания объектно-ориентированных моделей сложных систем, а также представления сложных алгоритмов обработки данных. Не удалось также на их основе провести унификацию многочисленных языков объектно-ориентированного моделирования и программирования, появившихся на рубеже 70-х и 80-х годов.
Эти недостатки позволяет восполнить UML – универсальный многоцелевой язык моделирования, разработанный для спецификации, визуализации, проектирования и документирования компонентов программного обеспечения, бизнес-процессов и других систем.
Язык UML является достаточно мощным средством моделирования, который может быть использован для построения концептуальных, функциональных, логических моделей систем и, далее, для автоматизации проектирования программного обеспечения с использованием различных программных продуктов. UML – это графический язык и его изучение следует начинать с изучения применяемых в нем графических образов или нотаций.
Конструктивное использование UML базируется на понимании общих принципов моделирования сложных систем и особенностей объектно-ориентированного подхода, в явном или неявном виде нами уже рассмотренных.
К этим принципам, прежде всего, относится принцип абстрагирования, который предписывает включать в модель только те аспекты проектируемой системы, которые имеют непосредственное отношение к выполнению системой своих функций или своего целевого назначения и предметно рассматриваются на данной стадии проектирования. При этом все второстепенные детали опускаются, чтобы чрезмерно не усложнять процесс анализа и исследования полученной модели.
Другой принцип прикладного системного анализа, реализованный в UML, является принцип иерархического построения моделей. Он, как нам уже известно, предписывает рассматривать процесс построения модели на разных уровнях абстрагирования или детализации в рамках фиксированных представлений. Исходная или первоначальная модель имеет наиболее общее (концептуальное) представление системы и может не содержать многих деталей и аспектов, выявляемых на поздних стадиях описания системы.
Еще одним, тесно связанным с предыдущими принципом построения моделей на основе UML, является принцип многомодельности. Он реализует утверждение о том, что никакая единственная модель не может с достаточной степенью адекватности описывать различные аспекты сложной системы. Поэтому в UML полная модель имеет некоторое количество взаимосвязанных представлений, каждое из которых отражает некоторый поведенческий аспект или структурные характеристики системы. При этом наиболее общими представлениями сложной системы принято считать статическое и динамическое представления, которые, в свою очередь, могут подразделяться на другие, более частные представления. Напомним, что феномен сложной системы как раз и состоит в том, что никакое единственное ее представление (формализованное описание) не является достаточным для адекватного выражения всех особенностей и свойств.
В рамках языка UML все представления о сложной системе фиксируются в виде специальных графических конструкций, получивших название диаграмм. К этим диаграммам относятся:
диаграмма вариантов использования (use case diagram);
диаграмма классов (class diagram);
диаграмма состояний (statechart diagram);
диаграмма деятельности (activity diagram);
диаграммы взаимодействия (interaction diagrams), включающие диаграммы последовательностей и диаграмму кооперации;
диаграммы реализации (implementation diagrams), включающие диаграмму компонентов и диаграмму развертывания.
Перечень этих диаграмм и их названия являются каноническими. Процесс проектирования системы неразрывно связан с процессом их построения. Таким образом, интегрированная модель сложной системы в нотациях UML представляется в виде, показанном на рис. 1.17. В качестве CASE-средств, поддерживающих процесс разработки сложных информационных систем на основе UML-представлений, следует назвать пакеты Silverrun, Rational Rose, Paradigm Plus и др.
В настоящее время имеется огромное количество источников, в которых дается детальное описание UML и даются конкретные примеры его применения. Мы же на этом остановимся, отметив только, что UML-представления активно используются и поддерживаются в специализированных инструментальных средствах динамического
Рис. 1.17. Интегрированная модель сложной системы в нотации UML
моделирования систем. Например, рассматриваемый в 6 главе этой книги пакет событийного моделирования Stateflow использует для описания объектов так называемые карты состояний, описания которых совпадают с описаниями, используемыми в диаграммах состояний UML. Описание динамики состояний, как будет дальше видно, являются наиболее важным представлением с точки зрения разработки компьютерных имитационных моделей сложных систем.
В заключение данного раздела следует отметить, что рассмотренные здесь информационные технологии, несмотря на их очевидную пользу при проведении содержательного структурного описания системы, не имеют средств и возможностей для ответа на главный вопрос: какова будет эффективность рассматриваемой системы (варианта системы) в динамике функционирования и во взаимодействии с внешней средой? Для этих целей при моделировании на любых уровнях иерархического описания системы могут использоваться только методология и технологии имитационного моделирования, которые, естественно, базируются на результатах графического моделирования при разработке своих приложений. Поэтому далее именно имитационному моделированию будет уделяться наибольшее внимание на страницах этой книги.
Контрольные вопросы и задания
1. Дайте определение системы и модели системы в рамках теоретико-множественного подхода.
2. Сформулируйте постановку задачи анализа системы.
3. Сформулируйте постановку задачи синтеза системы.
4. Назовите основные этапы развития методологии системного анализа.
5. Перечислите качественные методы системного анализа.
6. Назовите основные уровни стратифицированного описания системы в схеме эволюционного синтеза.
7. Охарактеризуйте основные временные этапы в схеме эволюционного синтеза.
8. Опишите информационные взаимодействия между уровнями и этапами в схеме эволюционного синтеза.
9. Перечислите основные подходы к решению задачи выбора оптимального варианта системы при многокритериальной оптимизации.
10. Сформулируйте основные принципы и области применения рассмотренных языков графического моделирования систем.
Литература
1. Острейковский В.А. Теория систем / В.А. Острейковский. – М.: Высшая школа, 1997. – 240 с.
2. Советов Б.Я. Моделирование систем / Б.Я. Советов, С.А. Яковлев. – М.: Высшая школа, 2001. – 275 с.
3. Месарович М. Теория иерархических многоуровневых систем / М. Месарович, Д. Мако, И. Такахара. – М.: Мир, 1978. – 311 с.
4. Радзиевский В.Г. Информационное обеспечение радиоэлектронных систем в условиях конфликта / В.Г. Радзиевский, А.А. Сирота. – М.: Радиотехника, 2001.
5. Гультяев А.А. Визуальное моделирование в среде MATLAB: учебный курс/А.А. Гультяев. – СПб: Питер, 2000. – 432 с.
6. Андрейчиков А.В. Интеллектуальные системы/ А.В. Андрейчиков, О.Н. Андрейчикова. – М.: Финансы и статистика, 2004. – 424 с.
7. Сирота А.А. Основы теории управления в простых и сложных системах / А.А. Сирота. – Воронеж: изд. ВГУ, 2005. – 182 с.
8. Черемных С.В. Моделирование и анализ систем. IDEF-технологии: практикум/С.В. Черемных, И.О. Семенов, В.С. Ручкин. – М.: Финансы и статистика, 2002. – 192 с.
9. Леоненков А.В. Самоучитель UML/А.В. Леоненков. – СПб.: БХВ-Петербург, 2002. – 304 с.