Научная статья на тему 'Формирование имитационного процесса на основе алгоритмического описания функционирования информационной системы'

Формирование имитационного процесса на основе алгоритмического описания функционирования информационной системы Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
77
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИМИТАЦИОННЫЙ ПРОЦЕСС / ДИСКРЕТНЫЕ СИСТЕМЫ / ОТОБРАЖЕНИЕ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ НА ИМИТАЦИОННЫЙ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Черненький В. М.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Формирование имитационного процесса на основе алгоритмического описания функционирования информационной системы»

электронное научно-иехническое издание

НАУКА и ОБРАЗОВАНИЕ

Эл № фс 77 - 30569. Государственная регистрация №0421100025. ISSN 1994-0408

77-30569/291975 Формирование имитационного процесса на основе алгоритмического описания функционирования информационной системы

# 11, ноябрь 2011 автор: Черненький В. М.

УДК 004.436.4

МГТУ им. Н.Э. Баумана [email protected]

Поскольку изложение материала статьи опирается на определение алгоритмической модели процесса, кратко изложим содержание этого понятия.

Процесс 2 есть четверка [1]:

2=< З, Т, Е а >

где:

З - пространство состояний системы, определенное ранее;

Т - множество моментов времени изменения состояний системы;

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

Пусть имеем объект О/ в системе О. Тогда генерация процесса может быть выполнена путем задания оператора [1]:

где: ' ;

А - множество аргументов :.4 О:

ю- случайное число.

Остальные определения опираются на материал [2].

В ходе развития процесса совокупность аргументов во множестве ^ * может изменяться. Таким образом, состав элементов

4 а Л(0'

множества ^ в общем случае зависит от времени. Обозначим эту зависимость как 1 . Рассмотрим два объекта О/ и От в

системе О. Пусть ; ^ , а процессы в них заданы следующими операторами:

ї°г = Н0і{л0і,!„4 г?" =

Если

времени ti.

, то такие процессы и объекты называются не сцепленными в момент

Если , то объект От сцетен с объектом О/ в момент времени t\. То же относится и к их процессам. Это

означает, что для определения состояния объекта Om в момент времени ti, необходимо знание состояния объекта Oi в это же время. Обозначим отношение сцепления как O^Om. Не следует смешивать отношение сцепления и зависимости. Так, если Om^Ol и O^Ot, то вовсе не обязательно, чтобы Om^Ot. Таким образом, отношение сцепления не является транзитивным.

Если к отношению сцепления добавить полное транзитивное замыкание, то получим отношение зависимости. Т.е. если Ol зависит от Om, а Ot зависит от Ol, то Ok зависит и от Om. Таким образом, отношение сцепления можно определить как отношение непосредственной зависимости.

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

Рассмотрим дискретный во времени процесс Z. Пространство состояний S может быть как непрерывным, так и дискретным. Поставим в соответствие каждой i-ой точке процесса (момент времени изменения состояния tj) некоторый оператор ^ . Оператор ^

5, e,S

вычисляет значение СОСТОЯНИЯ ’ В момент времени ti!

і( = й;(4,ї„ю)

Оператор описывает вычисление только одной і-й точки процесса 2. В силу этого условия будем в дальнейшем называть этот оператор элементарным.

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

f If If

А ?**■

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

, Я

1 f '—1

линейной последовательности операторов ' ^ и перемещения по этой последовательности инициатора /, сцепляющегося с

элементарными операторами в заданные моменты времени ь изменения состояния процесса. Алгоритмическая модель описания процесса предполагает, что моменты сцепления инициатора с элементарными операторами определяют сами элементарные

операторы. С этой целью вводится оператор условия сцепления инициатора ^ , который определяет условие, при выполнении

которого инициатор сцепляется со следующим оператором ^ * . Возможны следующие варианты задания такого условия:

а) указание момента времени сцепления инициатора с оператором

б) определение логического условия, при выполнении которого инициатор сцепляется с оператором Таким образом, определим элементарный оператор А, как двойку:

При сцеплении инициатора с элементарным оператором Н; происходит мгновенное выполнение его обеих составных частей:

выполнение позволяет вычислить новое состояние ^ процесса 2, а выполнение оператора дает возможность определить момент времени, либо логическое условие сцепления инициатора со следующим элементарным оператором к1+1. Линейную последовательность элементарных операторов назовем треком ТЯ:

Таким образом, можно АМП определить как двойку:

АМП=<ГД/>.

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

Пусть заданы два элементарных оператора Ні и Нк одного процесса 2, причем Н^Нк, (Нк сцеплен с А;.).

Утверждение 1. Если Н^Ні, то

а) іі>!і

б) первым должен вычисляться оператор Ні.

Рассмотрим влияние отношения сцепления на последовательность выполнения операторов при моделировании. Пусть заданы два процесса 21 и 22, условно изображенные на рис. 1.

І, 1, 1, I- X, ц

Рисунок 1. Пример сцепления процессов

Дискретные состояния процесса 21 пронумерованы от 1 до 13, а процесса 22 - от 14 до 26. Рассмотрим четыре типовых случая:

а) моделируется один процесс причем его операторы не сцеплены между собой.

б) моделируется процесс 21 без ограничения на сцепленность элементарных операторов;

в) моделируются два процесса 21 и 22, при этом эти процессы не сцеплены между собой;

г) моделируются два сцепленных процесса 21 и 2]

На рис. 1 стрелками указано отношение сцепления.

А. Моделирование процесса 21 при несцепленных операторах А (VI).

Поскольку сцепление к^к1+1 отсутствует для всех 1, то последовательность вычислений элементарных операторов не имеет значения и операторы к (VI). могут вычисляться в любом порядке.

Б. Моделирование процесса 21 в общем случае наличия сцепленности.

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

Предположим, что кг-*1ц+1, для всех ' . Из утверждения 1 следует, что в таком случае и+1>и для всех

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

В. Моделирование несцепленных между собой процессов 21 и 2г.

Предполагаем, что процессы 21 и 22 в отдельности представлены общим случаем. Если к;1 - операторы процесса 21, а к/ - операторы процесса 22, то по предположению отсутствует сцепление между к;1 и к/ для всех 1 и _/. Так же, как и в случае А, здесь последовательность вычислений элементарных операторов из разных процессов не имеет значения. Однако, поскольку все к;1 сцеплены между собой, и все к/ также сцеплены между собой, важно, чтобы в этой последовательности выполнялся порядок а1 для процесса 21 и а2 для процесса Ъг. В частности, возможен вариант вычисления сначала всех операторов процесса 21, а затем всех операторов процесса Ъг. Очевидно, что порядок а1 и а2 при этом сохраняется.

Г. Моделирование сцепленных между собой процессов 21 и Ъг. Пример сцепления показан на рис. 1.

В этом случае должен быть обязательно выдержан порядок а1 для 21 и а2 для 22, поскольку в общем случае внутри каждого процесса существует сцепленность элементарных операторов. Кроме того, необходимо выполнить условия Утверждения 1 для любой пары сцепленных операторов из разных процессов. Так, для приведенного на рисунке 1 примера в соответствие с условиями Утверждения 1, из операторов к1 и к14 первым должен вычисляться оператор к1, из к5 и к18 первым - к18 и т.д.

Получим возможный порядок вычислений: к1, к14, (к2, к15), (к3, к16), к17, к4 и т.д.

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

На основании проведенного анализа можно сделать следующие выводы:

1. Для каждого процесса в ходе вычисления операторов необходимо строго придерживаться порядка а на Т.

2. Выполнение п.1. обеспечивает реализацию сцепленности операторов к^к^ если , в рамках реализации одного процесса.

3. При выполнении п.1 указание сцепленности операторов с разным значением ^ в рамках одного процесса не добавляет новых ограничений на порядок расчета и может быть опущено.

Действительно, если вычислены элементарные операторы к10 и к23 в момент времени г10, то указание к23^к11 не меняет порядок вычислений, поскольку к моменту времени г11 будет рассчитан оператор к23. При этом условие сцепленности выполняется автоматически.

4. Для определения порядка расчета операторов, принадлежащих разным процессам, важно знание отношения сцепления для операторов разных процессов с одинаковым значением времени г.

Таким

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

Пусть заданы треки процессов Е (

для всех г. Пусть текущее значение времени равно X и все

элементарные операторы И, у которых І<і , вычислены. Для всех И ^ , имеющих І=і и обладающих условным временным оператором

временным оператором. Получим множество " . Назовем его активным временным множеством.

Это множество содержит по одному значению от каждого процесса, остановленного на элементарном операторе, содержащем временное условие продвижения инициатора. Определим очередное значение времени по формуле:

множеству Т. Аналогично доказывается, что если элемент принадлежит Т, то он же принадлежит и Т*. Таким образом, утверждение 2 доказано.

Рассмотрим множество Т с порядком а1. Возьмем два любых его элемента 4 и Л. Пусть в соответствие с а1 Хк<Л;. Тогда, в соответствие с (2.14) 4 окажется минимальным элементом в {х^} раньше, чем Л, и следовательно, войдет во множество Т раньше, чем /У Поскольку упорядочение в Т определяется порядком поступления элементов в Т, то, следовательно, и в Т Xк<Х1. Аналогично можно провести доказательство и для остальных процессов. Таким образом, утверждение 3 доказано.

На основании Утверждений 2 и 3 можно сделать заключение о том, что формула 1 позволяет построить новое множество Т, включающее все элементы множеств Т (VI) , и провести упорядочение его элементов таким образом, что сохраняются все отношения порядка в каждом из них. Поскольку каждому /£Т (Vг) ставится в соответствие свой элементарный оператор в треке, то определение порядка на Т дает возможность однозначно определить порядок на всем множестве элементарных операторов заданных процессов.

, определим для каждого очередной момент времени ?1+1 сцепления инициатора по своему треку, задаваемый этим

ґ0 =тіп

Последовательное применение формулы строит упорядоченное множество ряд его свойств.

, где а1 -линейный порядок на Т*. Докажем

Для процесса X имеем множество Т и линейный порядок а' (

Т 'т1 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

порядок а на Т, полученный транзитивным замыканием порядков а.

). Рассмотрим множество

Утверждение 2. Множества Т1 и Т равны.

В самом деле, любой элемент /еТ был определен из множества

элементы которого принадлежат Г1 (

І = 1 уП

).

Поскольку

, то они же принадлежат и Т. Следовательно, каждый элемент множества ^принадлежит и

Утверждение 3. На упорядоченном множестве

Рассмотрим последовательность выполнения элементарных операторов в системе. Пусть система содержит 9 объектов, в каждом из которых развивается процесс. На рис. 2 приведен пример организации треков на некотором временном интервале. Пусть в некоторый момент времени система находилась в состоянии, показанном на рис. 2 слева. Назовем его начальным состоянием.

Начальное состояние

2, Л, Мі,.1--

I, Ъ*>

Ї.АЛ V

'и-

Г>

і :<1 ,е Л 1^

Н'-р

:<Ь*; Л,.Е1>

-1 ЗІ -■ л]

І1] 1 .Т» А

1 \ 1 ‘и г •і,". Ц2ґ> ' ЛЛ 'V

\ 4 Ь,!Ц> к ' У < ■и ' |

г £ Г , г ']] - с і -ф 'Е (

<ь>' 4* 5 ^ ъ^> V. р

. ь.(=> й| і Ґ

у 4 к “ / к ,

<к*с “ Г Л

т •її*". 1 * 4-/с,

1 ' ■ ■ і } і •% . 1 р *

V

•и*

Рисунок 2. Пример реализации процессов через события Для каждого процесса 21 указан текущий элементарный оператор в следующих обозначениях:

К*'1’*’’)'

где і -номер процесса (он же- номер строки); п -порядковый номер элементарного оператора в своем треке; с -символ “состояние”;

у=л - символ логического условия продвижения инициатора; у=і - символ временного условия продвижения инициатора.

Предположим, что к этому моменту времени все элементарные операторы вычислены. Тогда активное временное множество на текущий момент равно {Л0, Лі, і621, /9ге,}

Определим в соответствии с (1) очередной момент времени, как:

іо =тт {^1іо, і3ц, і621, ?92б}

Для примера рис. 2 і0=і110 .

Таким образом, из начального состояния система переходит в новое состояние в момент времени і110, соответствующее временному условию к1х9.

В этот момент времени инициатор I! процесса 2! перемещается в элементарный оператор (к1,с10, к1,г10) , вычисляя новое состояние объекта О* а значит, и системы в целом. При этом оказывается выполненным условие к4-Л15 и к7-Л19.. В треке процесса 24 выполняется оператор состояния к4,с16 и устанавливается логическое условие к4-Л16, а в треке процесса 27 - к7-с20 и временное условие к7д20. На рис. 2 соответствующие события отмечены светлыми кружками. Событие по временному условию показано на рис. 6 в виде темного кружка. Так как больше условий не выполняется, то необходимо перейти к новым элементарным операторам в соответствии с треками. В

Ь ,6 л .9 I

1 г *'4 Н'Ч »*26 I

рассматриваемый момент времени следующее активное временное множество имеет вид ' " " " ' . Согласно (1)

1 , £11 | ^1

необходимо перейти к новому моменту времени ' " " ^ . В нашем случае г0= . Первым

М'сау

выполняется оператор 4 ’ , который изменяет состояние объекта 0} и системы в целом, а также формирует новый

заказ времени передвижения своего инициатора 13 в момент времени . При этом выполняются логические условия для процессов 25 и 28. Инициаторы Ь и 18 вызывают выполнение операторов <Ъ5с7,Ъ5л7 > и <1^сз2 соответственно. Формируется новое активное

/р ,Г?] |/?] ,Г?=& I Г21 ^Ьт ?«21 '

временное множество: У , наименьшим в котором является ^х . С оператора ^ -*■ х *■ и

начинается следующий цикл вычислений, и т.д.

На этом примере хорошо иллюстрируется алгоритм продвижения модельного времени и порядок выполнения элементарных операторов в каждом процессе. Сделаем некоторые обобщения.

Выполнение каждого элементарного оператора назовем событием в системе. Событие активное, если оно следует в треке за элементарным оператором, содержащем И. На рис. 2 условия, содержащие И1 , выделены жирным шрифтом. К активным событиям относятся выполнение <И101с,И101л>, <Ип3-С,Ип3-‘>, <И216'С,И216,Ж> и т.д.

Событие пассивное, если оно следует в треке за элементарным оператором, содержащем И. На рис. 2 к пассивным событиям относятся выполнение <Ип1с,Ип1‘>, <И92-с,И92-ж>, <И174-с,И174,1> и т.д.

Множество событий, происходящих в один и тот же момент модельного времени, назовем классом одновременных событий (КОС). На

I

ени

составляют события для 3, 5 и 8-го процессов и т.д.

Рассмотрение КОС примера на рис. 2 показывает, что в каждом КОС содержится активное событие. Введем следующие допущения: Допущение 1. В каждом КОС содержится одно и только одно активное событие.

Тогда: а) все остальные события в КОС, если они есть, являются пассивными;

б) количество КОС равно мощности объединенного множества времен Т.

Допущение 2. Первым событием в любом КОС является активное событие.

1П "Ч

рис. 2 класс одновременных событий в момент времени включает события для 1, 4 и 7-го процессов; в момент времени ■* КОС

Если это так, то оставшиеся пассивные события для определения последовательности своего выполнения требуют знания отношения сцепления. Представим отношение сцепления в КОС в виде направленного графа. На рис. 3 приведен пример некоторого КОС с заданным на нем отношением сцепления.

Рисунок 3. Пример КОС Здесь: Иа - активное событие; Иь, ИС, Ил, Ие, И- пассивные события.

Из графа следует, что после ка необходимо выполнить кь либо ИС; затем кл, либо ке; и наконец к/.

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

Так, условие выполнения события кл должно содержать выражение, проверяющее выполнение события кь. Если это удается сделать, то алгоритм формирования КОС выглядит следующим образом:

1. Выполняется активное событие.

2. Проверяются условия всех возможных в системе пассивных событий.

3. Если выполняется условие пассивного события, то оно вычисляется. Алгоритм продолжается с п.2.

Важно найти признак, по которому можно определить завершенность КОС.

Теорема А

КОС завершен, если все условия, заданные операторами к во всех треках, равны 0.

Поскольку КОС содержит одно активное событие и оно выполняется первым, то все остальные события пассивные. Пассивное событие по определению выполняется, если определяющее его условие равно 1. Однако, по предположению, все условия, заданные И , равны 0. Таким образом, выполнение пассивного события невозможно, а единственное активное событие уже выполнено. Поскольку не выполняется ни один элементарный оператор, состояние системы и параметры условных операторов не могут быть изменены. Состояние системы зафиксировано и не будет изменено вплоть до нового КОС. Что и требовалось доказать.

Теорема Б

Первым событием в КОС является активное событие.

Доказывая теорему А, мы показали, что когда завершен КОС, то все условия в условных операторах системы равны 0, и состояние системы не может быть изменено ни одним пассивным событием. Значит, следующий КОС может начаться только с активного события. Что и требовалось доказать.

Таким образом, наше допущение 2 о начальной функции активного события в КОС доказано строго в теореме Б.

Литература

1. Бусленко Н.П., Калашников В.В., Коваленко И.Н. Лекции по теории сложных систем. - М.: Сов.Радио, 1973. - 438 с.

2. Черненький В.М. Процессно-ориентированная концепция системного моделирования АСУ: диссертация ... доктора технических наук: 05.13.06, М., 2000 - 299 с.ил.

i Надоели баннеры? Вы всегда можете отключить рекламу.