Серия Экономика. Информатика. 2016. № В (230). Выпуск 38
удк 519.876.5
ОБ ИМИТАЦИОННОМ МОДЕЛИРОВАНИИ ФУНКЦИОНИРУЮЩИХ СИСТЕМ
e-mail: [email protected], [email protected], [email protected], [email protected], [email protected]
Аннотация. В работе рассматривается новый метод имитационного моделирования с применением подхода «Узел-Функция-Объект», системно-объектного метода представления знаний, математической теории объектов и языка описания функциональных узлов УФО-скрипт. Приводится фрагмент имитационной модели производственной линии, построенной с применением программного инструментария UFOModeler. Этот инструмент основан на простейших операторах, используемых в языках программирования высокого уровня. Он позволяет создать достаточно приближенную модель поведения системы без потери основных ее свойств и характеристик. Достижение достаточно точной модели является важным показателем для исследования некоторых систем и извлечения из них информации.
Resume. The paper deals with a new simulation method using the approach "Node-function-object" system-object method of knowledge representation, the mathematical theory of objects and functional units of language to describe UFO script. A fragment of a simulation model of a production line, built with the use of software tools UFOModeler. This tool is based on a simple statement, used in high-level programming languages. It allows you to create a approximate model of behavior of the system without loss of its basic properties and characteristics. Achieving sufficiently accurate model is an important indicator for the study of some systems and extract information from them.
Ключевые слова: технология моделирования «Узел-Функция-Объект», имитационное моделирование, системный подход, симуляция функционирования процесса.
Keywords: modeling technology "Node-Function-Object", simulation, system approach, the simulation process operation.
Успехи имитационного моделирования давно привели к его признанию как перспективного научного направления и широкому использованию его инструментальных средств для решения различных практических задач. Однако, естественные в любой развивающейся сфере науки и техники проблемы стимулируют продолжение исследований и разработок, в том числе, и в области имитационного моделирования.
В настоящее время не существует общепризнанного определения понятия «имитационное моделирование». Поэтому необходимо для конкретизации предлагаемых в данной статье результатов уточнить авторское понимание сути данного научно-практического направления. Оно в целом соответствует определениям, изложенным в интервью Президента Национального общества имитационного моделирования России, члена-корреспондента РАН, директора СПИИРАН Р.М. Юсупова [Юсупов Р.М., 2012]. При этом наиболее адекватным направлению деятельности авторов является упомянутое в данном интервью, а также в соответствующей статье Википедии [https://ш.wikipedia.org/wiki/Имитационное_моделирование], понимание имитационного моделирования как «метода исследования, при котором изучаемая система заменяется моделью, с достаточной точностью, описывающей реальную систему, и с ней проводятся эксперименты с целью получения информации об этой системе». Опора на данное определение свидетельствует о том, что исследования и разработки авторов, очевидно, находятся в рамках дискретно-событийного подхода к имитационному моделированию.
Необходимость замены изучаемой системы моделью, с достаточной точностью, описывающей эту систему, естественным образом вынуждает использовать системный подход для создания такой модели. Авторы для моделирования систем применяют оригинальный системно-объектный подход «Узел-Функция-Объект» [Жихарев А.Г., 2011; Маторин С.И., 2011] [УФО-подход:
ON SIMULATION MODELING OF SYSTEMS
А.Г. Жихарев, С.И. Маторин, Я.Н. Рябцева, А.С. Махота, А.В. Капустин A.G. Zhikharev, S.I. Matorin, Y.N. Ryabtseva, A.S. Makhota, A.V. Kapustin
Белгородский государственный национальный исследовательский университет, Россия, 308015, г. Белгород, ул. Победы, 85
Belgorod State University, 85 Pobeda St, Belgorod, 308015, Russia
http://ru.wikipedia.org/wiki/Узел-Функция-Объект]. Данный подход позволяет описывать любую систему как элемент «Узел-Функция-Объект» (УФО-элемент) [Маторин С.И., Жихарев А.Г., 2011,] целостно и при этом одновременно с трех точек зрения:
• как структурного элемента надсистемы в виде перекрестка связей с другими системами -
узла;
• как динамического элемента, выполняющего определенную роль с точки зрения поддержания надсистемы путем балансирования данного узла - функции;
• как субстанциального элемента, реализующего данную функцию в виде некоторого материального образования, обладающего конструктивными, эксплуатационными и т. д. характеристиками - объекта.
УФО-элементы, собранные в различные конфигурации, образуют диаграммы взаимодействия элементов, которые позволяют визуализировать функциональность элементов системы более высоких уровней. Таким образом, разрабатываемая система представляется в виде иерархии УФО-элементов. Данное представление позволяет учесть различные аспекты рассмотрения этой системы (структурные, функциональные, субстанциальные) в одной системно-объектной модели -УФО-модели.
В целях автоматизации применения УФО-подхода спроектирован и реализован CASE-инструментарий UFO-toolkit [свидетельство Роспатента №2006612046, http://www.ufo-toolkit.ru/]. Иерархия УФО-элементов и их конфигураций, которую поддерживает UFO-toolkit, основана на классификации связей (потоков), пересечения которых и образуют узлы. Моделирование любой системы начинается со специализации базовой классификации связей под конкретную предметную область. Абстрактный класс "Связь (L)" в базовой классификации связей делится на подклассы "Материальная связь (M)" и "Информационная связь (I)"; класс материальных связей делится на подклассы "Вещественная связь (S)" и "Энергетическая связь (E)", класс информационных связей - на подклассы "Связь по данным (D)" и "Управляющая связь (C)".
На основе УФО-подхода авторами разработан формализованный «Системно-Объектный Метод Представления Знаний» (СОМПЗ) как инструмент создания универсальных моделей знаний
о системах произвольной природы. Суть данного метода описана в работе [Маторин С.И., Жихарев А.Г. , Зайцева Н.О., 2015]. Формальный аппарат СОМПЗ позволяет описывать УФО-элементы и связи/потоки в терминах исчисления объектов Абади-Кардели [Abadi M., Luca C., 1996; Zhaohui L., 1994] а также X - исчисления [Gérard H., 1975; Hindley J., 1997; Hindley J., Jonathan P., 1986].
При этом УФО-элемент представляется в виде специализированного абстрактного объекта (узлового объекта) данного исчисления:
^ l ? a ? 0\j ''In ?)Hj ''Im ^mj , (1)
где:
• G - узловой объект;
• l?i - поле узлового объекта (может представлять собой набор или множество), которое содержит значение входных потоковых объектов a?i и, соответственно, имеет такой же тип данных;
• l!j - поле узлового объекта (может представлять собой набор или множество) которое содержит значения выходных потоковых объектов a!j и имеет такой же тип данных;
• ln - метод узлового объекта (может представлять собой набор или множество), преобразующий входные потоковые объекты узла в выходные;
• lm - поле узлового объекта (может представлять собой набор или множество), которое содержит основные характеристики данного объект (bm).
Таким образом, узел УФО-элемента описывается наборами входных (a?i) и выходных (a!j) потоков объекта G, функция УФО-элемента - методом (F(l?i)l!j) объекта G, а объект УФО-элемента -в виде набора констант (bm), характеризующих объект G.
Связь/поток также представляется в виде специализированного абстрактного объекта (потокового объекта) [Маторин С.И., Жихарев А.Г., Зайцева Н.О., 2015] упомянутого выше исчисления:
at = \lj = bj j (2)
где:
• ai - потоковый объект;
• lj=bj - поля потокового объекта с некоторыми значениями bj.
Так как вычисление в исчислении объектов представляет собой последовательность вызовов и переопределения методов, для чего определены правила редукции, то в СОМПЗ формальные преобразования выполняются в соответствии с правилом вызова метода узлового объекта следующего вида:
G-lJl l G}. (3)
В терминах УФО-подхода имитационная модель системы, в первую очередь, представляет собой конфигурацию УФО-элементов (УФО-модель), «с достаточной точностью описывающую эту
систему». Математически, в терминах формализма СОМПЗ, имитационная УФО-модель представляет собою комбинацию узловых объектов и потоковых объектов, взаимодействие которых определяется упомянутым выше правилом вызова метода:
at = l = Ъ„\- at = a ? = l ? H Gk L H Ц l ? К aM = lm+i=bJ: a+i = a ?i+i =l ?i+i Gk+i-lm-i H lU l ?i+i H GkJ H ai+i= lm+2= Ъ„Л: ai+i=
a ?i+2 = l ?i+2 H Gk+2-l„+2 H l\j+2 1 ?i+2 H Gk +2} H &+3 = llm+3 = Ът+3] : (4)
Таким образом, функционирование имитационной модели определяется методами узловых объектов, которые описывают как, входные потоковые объекты трансформируются в выходные потоковые объекты.
В настоящее время авторами разрабатывается новая версия программного инструментария системно-объектного моделирования UFO-toolkit, в котором реализована возможность описания методов узловых объектов с помощью языка описания функциональных узлов УФО-скрипт, синтаксически подобного языку программирования Pascal.
Рассмотрим особенности предлагаемого языка подробнее.
Для объявления переменных, используемых в рамках описания функционирования конкретного процесса, используется следующее выражение:
var<имя переменной 1>, <имя переменной 2>,<...>:тип данных.
В приведенном примере имена переменных следуют после ключевого слова «var», далее через запятую перечисляются имена переменных, после двоеточия указывается тип данных, хранящихся в переменных. УФО-скрипт позволяет работать со следующими типами данных: integer - целочисленный тип данных; real - представляет собою дробные числа; string - строковый тип данных; boolean - логически тип данных
Каждый оператор языка УФО-скрипт заканчивается знаком «;». Фрагменты программного кода заключаются в программные скобки, как показано на примере ниже: begin
end
Для обработки разветвляющихся алгоритмов исполнения функций УФО-элементов (методов узловых объектов) УФО-скрипт содержит оператор условия, синтаксис которого показан ниже: if (условие) then begin
//набор операторов № 1
end;
else
begin
//набор операторов № 1 end;
Оператор условия языка УФО-скрипт работает, как и в других языках программирования: если условие принимает истинное значение - выполняется фрагмент программы № 1, иначе, если условие принимает ложное значение, выполняется фрагмент программы № 2.
Для реализации циклических алгоритмов язык УФО-скрипт содержит два вида организации циклов. Первый - цикл со счетчиком, синтаксис которого показан ниже:
for ^=<начальное значение счетчика> to <конечное значение счетчика> do begin
<оператор 1>; <оператор 2>;
<оператор n>; end;
Кроме приведенного выше примера, так же имеется возможность работать с циклом с условием:
while <условие выполнение цикла> do
begin
<оператор 1>; <оператор 2>;
<оператор n>; end;
Приведенный выше цикл будет выполняться, пока истинно условие выполнения цикла, поэтому в теле цикла необходимо предусмотреть условия выхода из цикла.
Кроме стандартных конструкций, УФО-скрипт имеет ряд предопределенных процедур и функций, предназначенных для имитации работы функциональных узлов. Для получения значений входных потоков узла, которому принадлежит функция, описываемая с помощью УФО-скрипта, были разработаны предопределенные функции:
• getlinki ('имя входящего потокового объекта') - входной поток типа integer;
• geffinkr('имя входящего потокового объекта') - входной поток типа real;
• geffinkbCn^ входящего потокового объекта') - входной поток типа boolean;
• geffinksCимя входящего потокового объекта') - входной поток типа string.
После выполнения необходимых действий, необходимо задать значения выходных потоковых объектов, для этого были разработаны следующие процедуры:
• setlinki('имя потокового объекта', значение) - выходящий поток типа integer;
• setlinkr('имя выходящего потокового объекта', значение) - выходящий поток типа real;
• setlinkb(fa^ выходящего потокового объекта', значение) - выходящий поток типа boolean;
• setlinksCимя выходящего потокового объекта', значение) - выходящий поток типа string.
Приведенные конструкции языка описания функциональных узлов позволяю в полной мере
смоделировать функционирование процесса.
Для использования созданной имитационной модели системы, необходимо задать начальные параметры модели. Эти параметры определяются входными потоковыми объектами контекстной модели системы. После задания начальных параметров, модель запускается на исполнение. При запуске имитации, построенная модель транслируется в программу, которая выполняется по следующей схеме: исполняется функция того узла, потоковые объекты которого инициализированы конкретными значениями своих параметров.
Для имитации функционирования процесса в инструменте UFOModeler [www.ufomodeler.ru] имеется отдельный модуль, который позволяет запустить модель, настроить параметры модели, приостановить работу модели, визуализировать результаты имитационного моделирования. Рассмотрим пример создания модели функционирования производственной линии.
Прежде чем говорить об имитации работы технологической лини, рассмотрим ее техническое оснащение. Рассматриваемая технологическая линия состоит из следующих агрегатов: экструдер - аппарат, который производит пленку для последующей формовки изделия. В рассматриваемом случае используется экструдер Алеко Миди 1100-55.
На вход экструдера подаются гранулы ПВД (полиэтилен высокого давления) со следующими физическими характеристиками:
плотность 900-930 кг/мз;
температура плавления 100-115 градусов Цельсия.
После подачи гранул в подготовительный бункер экструдера, гранулы распределяются по камерам нагревания с помощью специального шнека, после чего под давлением формируется пленка с заданной толщиной. Экструдер Алеко Миди 1100-55 имеет производительность 200 кг/час.
Пластиковое полотно далее подается в специальную 3-х метровую печь, которая его нагревает до определенной температуры, что необходимо для придания соответствующей формы. Печь является комплектующим термоформовочной машины HSC-660A, которая в свою очередь имеет следующие технические характеристики:
• площадь формовки (максимально) 250мм*580 мм;
• глубина формовки (максимально) 120 мм
• диапазон ширины листа 300-660 мм
• диапазон толщины листа 0.2-2 мм
• диаметр рулона листа 710 мм
• рабочее давление 0.7 МПа
• расход воды 100 л/мин
• расход воздуха 2000 л/мин
• мощность нагревателей 60 кВт
• мощность главного двигателя 5.5 кВт
• мощность двигателя подачи 2.2 кВт
• мощность двигателя намотчика 0.37 кВт
• производительность 10-35 циклов/мин
Термоформовочный агрегат - представляет собою устройство, в котором в два ряда выполнены формы стаканчиков, в которые полотно засасывает под давлением. Представляет собою часть установки HSC-660A.
Устройство охлаждения заготовок - устройство, предназначенное для охлаждения заготовок, является агрегатом термоформовочной машины HSC-660A.
Триммер - агрегат термоформовочной машины, который вырезает готовые стаканчики из общего полотна. Представляет собою часть установки HSC-660A.
Гранулятор - устройство, необходимое для повторной переработки обрезных отходов триммера в гранулы. В моделируемой линии используется гранулятор Антей 60, с максимальной мощностью - 70 кг/час.
Для разработки имитационной модели функционирования технологической линии, в работе применяется программный инструментарий. Создание модели с применением указанного выше инструмента, начинается с выделения потоковых объектов модели, которые формально представляют собою выражение 2.
В рамках рассматриваемого проекта были выделены следующие потоковые объекты:
• гранулы ПЭВД[вес] - вес гранул измеряется в граммах;
• пленка ПЭВД[длинна, ширина] - значения представляются в миллиметрах;
• нагретая пленка[длинна, ширина] - значения представляются в миллиметрах;
• заготовка[количество];
• охлажденная заготовка[количество];
• готовая продукция[количество];
• отходы триммера[вес] - вес измеряется в граммах;
• гранулы ПЭВД(отход)[вес] - вес измеряется в граммах.
Следующим этапом разработки модели, является разработка схемы технологической линии с основными узлами, и потоковыми объектами. В соответствии с описанным выше алгоритмом функционирования технологической линии, была разработана следующая схема (рис. 1):
Рис. 1. Схема моделируемой технологической линии Fig. 1. Schematic of a simulated production line
Представленная на рис. 1, схема технологической линии определяет границы модели и показывает последовательность преобразования одних потоковых объектов в другие.
На следующем этапе, для каждого узла, представленного на рис. 2, была создана функция, описывающая процесс преобразования входных потоковых объектов в выходные. Для каждой функции так же был создан объект, который ее реализует, в рассматриваемом случае, объектами являются технические устройства, которые реализуют определенный функционал узла. Рассмотрим подробнее имитационную модель экструдера. Для того чтобы смоделировать работу экструдера, необходимо определиться с дискретным временным отсчетом, который в разрабатываемой модели будет равен 1 секунде. То есть, необходимо рассчитать, сколько миллиметров пленки производит экструдер в секунду с учетом использования вышеописанного сырья с заданной плотностью и требуемыми параметрами полотна на выходе, предназначенного для изготовления пластиковой тары. Заранее известно, что вес пленки площадью в 1 кв. м. и толщиной в 1 мм равен 1340 гр. Применяя язык описания функциональных узлов УФО-скрипт [Жихарев А.Г., Маторин С.И., Зайцева Н.О., 2015; ], был реализован скрипт, который описывает работу экструдера:
Разработанная модель, показывает, что экструдер производит 3316.75 мм пластикового полотна шириной 700 мм, толщиной в 1 мм в минуту при условии, использования гранул ПЭВД с описанными ранее характеристиками. Анализ реальной работы экструдера показал, что за 1 минуту аппарат производит 3317 мм (±2 мм). Погрешность модели составляет около 1%, что является допустимым исходя из целей моделирования технологической линии.
Рис. 2. УФО-скрипт, описывающий работу экструдера Алеко Миди 1100-55 Fig. 2. UV-script, describing the work of the extruder Aleko Midi 1100-55
По аналогии с моделированием функционирования экструдера, были описаны все перечисленные агрегаты, участвующие в технологической линии, после чего была получена имитационная модель технологической линии по производству пластиковых стаканчиков. Общий вид модели показан на рис. 3.
Рис. 3. Имитационная модель технологической линии Fig. 3. Simulation model of the production line
Визуализация функционирования отдельного узла на модели отображается наличием красного индикатора в правом верхнем углу (см. рис. 3). Так же слева на изображении узла можно оценить его загрузку. Для удобства использования имитационной модели, имеется возможность выводить текущие значения полей потоковых объектов, участвующих в моделируемом процессе.
Над получено моделью были проведены ряд экспериментов, которые позволяют сделать выводы о том, что: гранулятор, участвующий в технологической линии загружен не полностью. То есть он работает постоянно при включенной линии, но перерабатывает небольшое количество отходов триммера отдельными порциями. Эту проблему можно решить, например, установив некий бункер определенного размера, в который будут поступать отходы триммера и как только, этот бункер будет наполнен, подключать гранулятор. Таким образом, на работу линии будет затрачено меньше электроэнергии.
Значение узлового объекта между печью и термоформовочной машиной, постоянно растет, это говорит о том, что термоформовочная машина не позволяет обработать необходимое количество пленки, таким образом, можно снизить мощность работы печи или увеличить мощность термоформовочной машины.
Разработанная имитационная модель технологической линии удобна для обучения персонала производственного цеха, а также может послужить средством для управления эффективность работы всей технологической линии.
Показанные возможности программного инструмента UFOModeler говорят об универсальности предложенного метода имитационного моделирования, которая достигается за счет описания функциональных узлов с помощью УФО-скрипта. Конечно, здесь можно говорить о лишней трудоемкости написания скриптов, однако эта трудоемкость обеспечивает гибкость такого подхода и возможность моделировать системы самой различной природы.
Серия Экономика. Информатика. 2016. № 9 (230). Выпуск 38
Работа выполнена при поддержке Российского фонда фундаментальных исследований, проекты
№: 16-07-00460, 16-07-00193, 14-47-08003.
Список литературы References
Abadi M., Luca C. 1996. A Theory of Objects. Springer-Verlag, 326.
Gérard H. 1975. A unification algorithm for typed X -calculus. Theoretical Computer Science 1 (1):27-57.
Hindley J. 1997. Basic Simple Type Theory. Cambridge Tracts in Theoretical Computer Science Cambridge University Press. Cambridge, 42.
Hindley J., Jonathan P. 1986 Introduction to Combinators and X-Calculus. London Mathematical Society Student Texts. Cambridge University Press, № 1.
Zhaohui L. 1994. Computation and Reasoning: A Type Theory for Computer Science. International Series of Monographs on Computer Science. Oxford University Press, № 11.
Жихарев А.Г. 2011. О новой технологии представления знаний для систем поддержки принятия решений. Научные ведомости Белгородского государственного университета. Сер. История. Политология. Экономика. Информатика, № 19, (20/1), 151-156.
Zhiharev A.G. 2011. O novoj tekhnologii predstavleniya znanij dlya sistem podderzhki prinyatiya reshenij [About the new technology of knowledge representation for decision support]. Nauchnye vedomosti Belgorodskogo gosudarstvennogo universiteta. Ser. Istoriya. Politologiya. EHkonomika. Informatika, № 19, (20/1), 151-156. (in Russian)
Жихарев А.Г., Маторин С.И., Зайцева Н.О. 2015. Системно-объектный инструментарий для имитационного моделирования технологических процессов и транспортных потоков. Искусственный интеллект и принятие решений, № 4, 72-80.
Zhiharev A.G., Matorin S.I., Zajceva N.O. 2015. Sistemno-ob"ektnyj instrumentarij dlya imitacionnogo modelirovaniya tekhnologicheskih processov i transportnyh potokov [System-object tools for simulation of technological processes and traffic flows]. Iskusstvennyj intellekt i prinyatie reshenij, № 4, 72-80. (in Russian)
Жихарев А.Г., Маторин С.И., Маматов Е.М., Смородина Н.Н. 2013. О системно-объектном методе представления организационных знаний. Научные ведомости Белгородского государственного университета. Сер. История. Политология. Экономика. Информатика, № 8, (26/1), 137-146.
Zhiharev A.G., Matorin S.I., Mamatov E.M., Smorodina N.N. 2013. O sistemno-ob"ektnom metode predstavleniya organizacionnyh znanij [About system-object method for submission of organizational knowledge]. Nauchnye vedomosti Belgorodskogo gosudarstvennogo universiteta. Ser. Istoriya. Politologiya. EHkonomika. Informatika, № 8, (26/1), 137-146. (in Russian)
Маторин С.И., Жихарев А.Г., Зайцева Н.О. 2015. Системно-объектное имитационное моделирование транспортных и технологических процессов. Научные ведомости Белгородского государственного университета. Сер. Экономика. Информатика, №7, (34/1), 159-169.
Matorin S.I., Zhiharev A.G., Zajceva N.O. 2015. Sistemno-ob"ektnoe imitacionnoe modelirovanie transportnyh i tekhnologicheskih processov [System-object simulation of the transport and technological processes]. Nauchnye vedomosti Belgorodskogo gosudarstvennogo universiteta. Ser. EHkonomika. Informatika, №7, (34/1), 159-169. (in Russian)
Маторин С.И., Жихарев А.Г. 2011. Метод формализации организационных знаний. Искусственный интеллект и принятие решений, № 2, 12-18.
Matorin S.I., Zhiharev A.G. 2011. Metod formalizacii organizacionnyh znanij [The method of formalization of organizational knowledge]. Iskusstvennyj intellekt i prinyatie reshenij, № 2, 12-18. (in Russian)
Маторин С.И., Жихарев А.Г. 2011. О новом формализованном методе представления организационных знаний средствами вычислительной техники. Вопросы радиоэлектроники. Сер. Электронная вычислительная техника, № 1, (1), 120-131.
Matorin S.I., Zhiharev A.G. 2011. O novom formalizovannom metode predstavleniya organizacionnyh znanij sredstvami vychislitel'noj tekhniki [About a new formalized method of representation of the organizational knowledge by means of computer equipment]. Voprosy radioehlektroniki. Ser. EHlektronnaya vychislitel'naya tekhnika, № 1, (1), 120-131. (in Russian)
Маторин С.И., Жихарев А.Г., Зайцева Н.О. 2015. Имитационное моделирование с использованием системно-объектного подхода. Прикладная информатика. Т. 10, № 6, 91-104.
Matorin S.I., ZHiharev A.G., Zajceva N.O. 2015. Imitacionnoe modelirovanie s ispol'zovaniem sistemno-ob"ektnogo podhoda [Simulation modeling using system-object approach]. Prikladnaya informatika. T. 10, № 6, 91-104. (in Russian)
Юсупов Р.М. 2012. Национальное общество имитационного моделирования России - начало пути, интервью члена-корреспондента РАН, директора СПИИРАН. CAD/CAM/CAE Observer, № 2, (70), 10-18.
Yusupov R.M. 2012. Nacional'noe obshchestvo imitacionnogo modelirovaniya Rossii - nachalo puti, interv'yu chlena-korrespondenta RAN, direktora SPIIRAN [National society for simulation modeling Russia - the beginning of a journey, an interview of corresponding member of RAS, Director of SPIIRAN]. CAD/CAM/CAE Observer, № 2, (70), 10-18. (in Russian)