Имитационное моделирование: создание терминов
История создания терминов При создании методики по имитационному моделированию мне понадобилось разобраться с терминами. Проблема была в том, что общепринятые термины не годились для описания статистических данных, собранных в процессе имитации. Термины: процесс и экземпляры процесса были неприемлемы, потому что я не мог работать в парадигме Аристотеля. Парадигма Аристотеля не стыкуется с примененным мной матаппаратом. При этом практическое применение данной методики было простое — моделирование и имитация бизнес-объектов с целью принятия управленческих решений. В программе создавался виртуальный объект, описание которого состояло из описания сценариев и их взаимодействия. Сценарии прогонялись внутри программы, а также моделировались ресурсы и их взаимодействия.Напомню, что:
Имитационное моделирование — метод исследования объектов, основанный на том, что изучаемый объект заменяется имитирующим объектом. С имитирующим объектом проводят эксперименты (не прибегая к экспериментам на реальном объекте) и в результате получают информацию об изучаемом объекте. Имитирующий объект при этом являет из себя информационный объект.
Цель имитационного моделирования — получение приближенных знаний о некотором параметре объекта, не производя непосредственное измерение его значений. Понятно, что это необходимо тогда и только тогда, когда измерение невозможно, или оно стоит дороже проведения имитации. При этом для изучения этого параметра мы можем пользоваться другими известными параметрами объекта и моделью его конструкции. Допуская, что модель конструкции достаточно точно описывает объект, предполагается, что полученные в ходе имитации статистические распределения значений параметра моделирующего объекта будут в той или иной степени совпадать с распределением значений параметра реального объекта.
Понятно, что матаппарат, который был применен, — это статистическая математика. Понятно, что матстатистика не использует термины экземпляры и типы. Она работает с объектами и множествами. В итоге для написания методики я был вынужден был использовать логическую парадигму на основе которой создан стандарт ИСО 15926. Основой его является наличие объектов, классов и классов классов.Я хочу поделиться некоторыми определениями, которые мне пришлось ввести для объяснения механизмов моделирования и анализа результатов имитации. Этих примеров будет достаточно, чтобы понять, с чем я имел дело, когда строил модель предметной области.
Примеры определений: Операция Моделируемая операция: Реальная или проектируемая операция. Описание ее может содержать следующие атрибуты: участвующие в операции объекты и субъекты, события, возникающие в процессе выполнения операции. Пример: операция «Забить гвоздь», которая описывается так: участвовали в операции: доска, молоток, гвоздь, исполнитель — Хруничев Геннадий Петрович события: начало операции в 9–00, окончание — в 9–01. Имитирующая операция: Объект, созданный в программе для имитации моделируемой операции. Имитирующая операция описывается следующими имитирующими событиями: начало операции, завершение операции, завершение времени технологического ожидания, постановка операции в очередь к ресурсам, прерывание выполнения операции, возобновление выполнения операции, действие с переменной и тд. Класс моделируемых операций: Множество моделируемых операций, объединенных по какому-то признаку: например, по совпадению наборов типов входных и выходных объектов. Пример: класс операций «Забить гвоздь» — это множество всех операций, объединенных вместе по признаку совпадения типа предмета труда — гвоздя и однотипности воздействия на него. Класс имитирующих операций: Множество имитирующих операций, имитирующих множество моделируемых операций. Операция (объект в справочнике:) Объект справочника, хранящий информацию о: классе моделируемых операций. Например, закон распределения времени выполнения операции моделируемого класса есть параметр класса. любой моделируемой операции класса. Например, нормативно-правовой акт, в соответствии с которым выполняется каждая моделируемая операция. Операция (как элемент диаграммы:) Графическое обозначение моделируемых операций одного класса на диаграмме. Операция (как элемент нотации): Условное обозначение в нотации моделирования процессов, шаблон для обозначения моделируемых операций. Имеет разные названия в зависимости от нотации Событие Моделируемое событие: Реальное, или проектируемое событие. Пример: Для операции: технологическое ожидание в рамках операции по покраске корпуса машины, закончилось в 09–20. Для процесса: событие заявка оформлена, произошедшее в 09–30, произошло в рамках процесса «прием заявки». Имитирующее событие: Объект, созданный для имитации моделируемого события. Этот объект создается в памяти компьютера в ходе выполнения имитации. Класс моделируемых событий: Множество моделируемых событий, объединенных вместе по какому-то признаку. Пример: Для операции: множество всех событий, знаменующих собой начала операций по оформлению заявок. Для процесса: множество всех событий, которые привели к стартам процессов приема заявок. Класс имитирующих событий: Множество имитирующих событий, созданных для имитации множества моделируемых событий. Примеры: Отчет о событиях, имитирующих начало операций исследуемого класса, можно увидеть в отчетах по проведенной имитации, например, в форме «Хронология выполнения процессов». Событие (как объект в справочнике): Объект справочника «События», хранящий информацию о: классе моделируемых событий, например, закон распределения момента возникновения стартового события есть параметр класса, объектах класса моделируемых событий, например название события. Событие (как объект на диаграмме): Графическое обозначение моделируемых событий одного класса. Используется на диаграмме. Данному событию как элементу на диаграмме соответствует хранимый в системе объект справочника «События». Событие (как элемент нотации): Условное обозначение, используемое в нотации моделирования процессов, для обозначения моделируемых событий. В разных нотациях используются разные условные обозначения для различных классов событий. На рисунке изображено отношение между сущностями: события собраны в классы событий. Класс событий описан при помощи объекта справочника «События». События одного класса изображены на диаграммах процессов при помощи графических элементов. На основе объекта справочника «События» движок имитации создает имитирующие события.
Процесс Моделируемый процесс: Последовательность моделируемых операций. Описание этой последовательности удобно представить в виде диаграммы Ганта. Описание содержит события. Например, события: «старт процесса» и «завершение процесса». Имитирующий процесс: Объект, созданный для имитации моделируемого процесса. Этот объект создается в памяти компьютера в ходе выполнения имитации. Класс моделируемых процессов: Множество моделируемых процессов, объединенных по какому-либо признаку. Самым распространенным объединением является объединение процессов, имеющих общую модель. В качестве модели может быть использована диаграмма процессов, выполненная в любой нотации моделирования: Процесс, Процедура, EPC, BPMN. Класс имитирующих процессов: Множество имитирующих процессов, созданных в рамках имитации, для имитации активности. Процесс (как объект в справочнике): Объект справочника «Процессы. Процесс (диаграмма процессов): Модель процессов одного класса, выполненная в виде диаграммы. На основе этой модели создаются имитирующие процессы. Заключение Спасибо за внимание. Я искренне надеюсь, что мой опыт будет полезен тем, кто желает различать приведенные выше объекты. Проблема современного состояния отрасли такова, что сущности, именованные одним термином, перестают различаться в сознании аналитиков. Я постарался дать вам пример, как можно мыслить, и как можно вводить термины, чтобы различать разные сущности. Надеюсь, чтение было интересным.