logo
Имитационное моделирование

Сложные системы в процессе построения имитационных моделей

Описание динамики системы или ее поведения, составляет ос­нову любой имитационной модели. В качестве исходных данных для решения этой задачи используются результаты, полученные на этапе разработки концептуаль­ной модели системы. К ним относятся:

- определение принадлежности моделируемой системы одному из известных классов;

- описание рабочей нагрузки системы;

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

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

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

- формальное (математическое) описание случайных факторов, подлежащих учету в модели;

- выбор механизма изменения и масштаба модельного времени.

Дадим определения следующим понятиям: «процесс», «работа», «событие», «транзакт».

Работа (активность) — это единичное действие системы по обработке (пре­образованию) входных данных.

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

Каждая из работ характеризуется временем выполнения и потребляемыми ре­сурсами.

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

Любой процесс характеризуется совокупностью статических и динамических характеристик.

К статическим характеристикам процесса относятся:

- длительность;

- результат;

- потребляемые ресурсы;

- условия запуска (активизации);

- условия останова (прерывания).

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

Динамической характеристикой процесса является его состояние (активен или находится в состоянии ожидания).

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

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

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

Событие представляет собой мгновенное изменение некоторого элемента сис­темы или состояния системы в целом. Событие характеризуется:

- условиями (или законом) возникновения;

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

- нулевой длительностью.

События подразделяют на две категории:

- события следования, которые управляют инициализацией процессов (или от­дельных работ внутри процесса);

- события изменения состояний (элементов системы или системы в целом).

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

Еще один способ имитационного моделирования систем основан на использо­вании понятия транзакта.

Транзакт — это некоторое сообщение (заявка на обслуживание), которое по­ступает извне на вход системы и подлежит обработке.

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