CLAIM – научно-образовательный кластер

Филиппович Андрей, Шапиро Илья

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

Содержание

Введение

Современные подходы к визуальному моделированию

Краткое описание программы

Основные термины

Функциональные задачи, решаемые программой

Алгоритм моделирования

Возможности системы

Пример моделирования

Заключение

 

Введение

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

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

  1. проведения на модели экспериментов, которые невозможно или сложно провести на реальном объекте (что предоставляет возможность получения новых знаний об объекте);
  2. ускорения, удешевления, упрощения и любого другого усовершенствования процесса проектирования, достигаемого за счет работы с более простым объектом, чем исходный, то есть с моделью.

В настоящее время известны и широко используются в научных исследованиях и инженерной практике различные типы моделей и многочисленные методы моделирования. Если взять за основу степень абстрактности (степень отличия от реального объекта), то можно определить следующие типы моделей:

  1. физические (натурные) модели (воспроизводят изучаемый процесс с сохранением его физической природы и являются инструментом физического моделирования);
  2. аналоговые модели (заменяют один объект на другой с похожими свойствами);
  3. математические модели (абстрактные модели, существуют в форме специальных математических конструкций и имеют смысл только для интерпретирующего их человека или машины).

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

Современные подходы к визуальному моделированию

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

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

В данной статье речь пойдет о визуальной системе имитационного моделирования сектора допечатной обработки – программе “Симулятор”.

Краткое описание программы

Программа “Симулятор” ориентированна на анализ работы сектора допечатных процессов. Программа предоставляет пользователю средства для проектирования и визуального отображения модели полиграфической фирмы, а также возможность проведения испытаний над этой моделью в разных масштабах времени. Интерфейс пользователя с программой реализуется посредством стандартных механизмов системы Windows, таких как диалоговые окна, “плавающие” панели инструментов, “перетаскивания” мышью и т.д., а также без непосредственного взаимодействия с программой при помощи исполнения специального скрипт-файла. Программа содержит около 10 различных групп объектов, используемых при проектировании модели, с возможностью масштабирования и пополнения базы данных типовых устройств. К особенностям проекта следует также отнести наличие различных режимов моделирования, таких как пошаговое моделирование, моделирования с различной скоростью течения системного времени, а также моделирование решения одной задачи, многих задач одновременно и моделирование решения потока задач.

Основные термины

Система или программа – под этими терминами в дальнейшем будет пониматься система имитационного моделирования “Симулятор”.

Модель – это описанный в программе сектор допечатной подготовки полиграфической фирмы, представленный визуально в графическом виде.

Объект – это элемент модели. Вся модель состоит из отдельных объектов, соединенных между собой в соответствии с определенной логикой. Фактически объектами являются устройства (различное оборудование: компьютеры, сканеры и т.д.) или исполнители (сотрудники фирмы, выполняющие заказы).

Проектирование – процесс составления модели из отдельных элементов.

Моделирование или Симуляция – проведение испытаний над моделью.

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

Функциональные задачи, решаемые программой

Главными функциональными задачами программы являются:

  1. Создание модели сектора допечатной подготовки полиграфической фирмы;
    1. Добавление в модель объектов;
    2. Изменение свойств объектов модели;
    3. Анализ модели;
  2. Создание заказа;
    1. Анализ заказа;
    2. Вычисление стоимости заказа;
  3. Выполнение моделирования;
  4. Составление отчета.

Выполнение этих задач в программе может осуществляться двумя способами:

  • с использованием интерфейса программы (экранных форм, панелей инструментов и т.д.);
  • путем выполнения функций (команд) специального скрипт-файла.

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

sm.exe /ExecScript <ScriptFile>

где sm.exe – исполняемый файл программы;

/ExecScript - ключ запуска программы со скрипт-файлом;

<ScriptFile> - имя скрипт-файла (включая путь к нему).

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

Создание модели сектора допечатной подготовки полиграфической фирмы

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

 

Синтаксис Описание

new

Функция создает новую модель. Вызывается без параметров, создает модель, не содержащую объектов. После вызова функции рекомендуется сохранить модель под другим именем.

save <название_файла.db>

Функция сохранения модели. Параметр <название_файла.db> указывает название файла сохраняемой модели, при необходимости следует указать полный путь к сохраняемому файлу и обязательно расширение db.

open <название_файла.db>

Если требуемая модель уже была создана и сохранена, то имеет смысл загрузить ее, для этого используется данная функция. Параметр <название_файла.db> указывает название файла модели, которую следует загрузить.

adding <база> <id_объекта_в_базе> <x> <y>

Добавляет объект в модель. Параметр <база> указывает на таблицу технических характеристик, из которой берется объект (scan - таблица сканеров, empl - таблица исполнителей и т.д.). Параметр <id_объекта_в_базе> соответствует идентификационному номеру (т.е. полю Id) модели устройства в таблице технических характеристик. Аргументы <x> и <y> передают геометрические координаты положения объекта в модели. Таким образом, происходит добавление записи в таблицу объектов модели. Некоторые значения полей записи заполняются в соответствии с параметрами команды, остальные программа сама заполняет по своему усмотрению (в частности значение поля Object).

delete <объект>

Удалить объект из модели можно при помощи этой функции. Параметр <объект> соответствует значению поля Object объекта, который следует удалить. При удалении объекта разрываются все соединения, которые были с ним связаны.

connect <объект1> <объект2>

Для соединения между собой двух объектов используется данная команда. Параметр <объект1> соответствует значению поля Object объекта, который следует соединить с объектом <объект2>.

selectid <объект>

Чтобы изменить свойства какого-либо объекта, необходимо сделать этот объект активным при помощи этой функции. Где <объект> - соответствует значению поля Object объекта, который следует сделать активным.

object.<поле> <значение>

После того, как объект сделан активным, можно изменить его свойства этой командой. Параметр <поле> указывает на то поле, значение которого требуется изменить, в параметре <значение> передается новое значение этого поля.

Создание заказа

Возможно создание заказа несколькими способами:

  • с использованием заполнения таблицы заказов (transacts.db);
  • функцией tCreate;
  • путем генерации случайного заказа.

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

 

Синтаксис Описание

TCreate <Тип_текста> <Тип_графики> <Объем_текста> <Объем_графики> <Формат_текста> <Формат_графики> <bpp> <dpi> <продукция> <загрузка> <приоритет>

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

<Тип_текста> - число [0,1,2], характеризует предаваемые заказчиком исходные текстовые материалы.

0 – текст в электронном виде (txt);

1 – печатный текст;

2 – рукописный текст.

<Тип_графики> - число [0,1,2], характеризует предаваемые заказчиком исходные графические материалы (иллюстрации).

0 – текст в электронном виде (tif, psd и др.);

1 – изображение на бумаге;

2 – изображение отсутствует (требуется отрисовка).

<Объем_текста> - количество страниц текста формата А4;

<Объем_графики> - количество графических изображений;

<Формат_текста> - число, означающее формат текста.

0 – формат А4;

1 – формат А3;

2 – формат А2;

3 – формат А1.

<Формат_графики> - число, означающее формат графических изображений.

0 – формат А4;

1 – формат А3;

2 – формат А2;

3 – формат А1.

<bpp> - определяет требуемую глубину цвета бит на пиксель при сканировании изображения (если производится сканирование).

<dpi> - определяет требуемое оптическое разрешение при сканировании изображения (если производится сканирование).

Примечание: параметры сканирования текстовой информации с печатного листа не задаются, т.к. они выбираются минимальными при возможности успешного распознавания текста (глубина цвета 1 бит/пиксель, оптическое разрешение 300 точек на дюйм).

<прокуция> - параметр представляет собой флаг, содержащий 5 бит, соответствующих требуемой продукции. Флаг имеет формат ххххх, где каждый х принимает значения 0 и 1 и означает выполнять данную работу или нет.

х1 – документ после верстки;

х2 – растрированное изображение;

х3 – получение фотоформы;

х4 – распечатка;

х5 – цветопроба.

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

<загрузка> – аргумент означает разрешаемую загрузку исполнителей модели в процентном отношении от общего числа исполнителей. Параметр принимает значения от 5 (минимальная загрузка) до 100 (полная загрузка).

<приоритет> – параметр характеризует приоритет заказа по отношению к другим заказам. Принимает значения от 0 (низший приоритет) до 10 (наивысший приоритет).

TGenerate

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

tMaxTxt <величина>

Переменная указывает максимальный объем текста (по умолчанию 50). Используется для генерации случайного заказа.

tMaxImg <величина>

Переменная указывает максимальный объем графики (по умолчанию 50). Используется для генерации случайного заказа.

Выполнение моделирования

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

 

Синтаксис

Описание

Run

Моделирование выполняется после вызова данной команды.

Stop

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

Продолжить моделирование после его остановки можно при помощи указанной выше команды Run.

SysTime <величина>

Скорость проведения моделирования можно варьировать при помощи этой переменной. Где <величина> означает реальное время в миллисекундах, соответствующее 1 минуте моделируемого времени. Чем меньше значение параметра, тем быстрее протекает моделирование. Переменная принимает значения от 10 до 20000, по умолчанию 500.

RunStream

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

tInterval <величина>

Переменная определяет время поступления новых заказов. Где параметр <величина> указывает моделируемое время (в минутах), через которое поступают новые заказы. Переменная принимает значения от 10 до 1500, по умолчанию 60.

tCount <величина>

Переменная определяет общее количество заказов. Где параметр <величина> указывает общее количество случайных заказов, которые поступят в систему. Переменная принимает значения от 1 до 100, по умолчанию 5.

Создание отчета

Создание отчета выполняется программой автоматически при моделировании. В отчет заносится информация:

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

 

Синтаксис Описание

SaveReport <файл_отчета>

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

Алгоритм моделирования

Моделирование в программе осуществляется следующим образом:

  1. Создание заказа и поступление его в систему;
  2. Разбиение заказа на транзакты и распределение их по исполнителям;
  3. Исполнители определяют свободное устройство и выполняют на нем транзакт. Если свободные устройства нужного типа отсутствуют, то исполнитель ожидает освобождения устройства в очереди.
  4. Когда все транзакты одного типа выполнены, они собираются и заказ анализируется.
  5. Если заказ еще не выполнен, то он снова разбивается на соответствующие транзакты, иначе составляется отчет и заказ удаляется из системы.

 

Возможности системы

Количественные характеристики. На данный момент в программе представлено около 10 видов различных объектов, таких как компьютерные устройства, сканеры, принтеры и т.д. А также специальные объекты – исполнители и транзакты. Все классы объектов содержат 4-8 базовых моделей, представленных своими характеристиками. Пользователь может пополнить таблицы технических характеристик требуемыми моделями устройств.

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

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

Система приоритетов и очередей. Система очередей соответствует механизму многоканальных систем массового обслуживания (СМО) с бесконечным числом мест в очереди. При моделировании каждое устройство представляет собой канал СМО для заявок исполнителей с соответствующими типами транзактов. Таким образом, исполнитель “становится в очередь” ко всем устройствам, выполняющим данный вид работ, и, когда его очередь подойдет, занимает первое освободившееся устройство. Продвижение исполнителя в очереди непосредственным образом связанно с системой приоритетов. Приоритеты в общем случае бывают двух видов: приоритет по порядку поступления и приоритет заказа. Приоритет по порядку поступления определяет продвижение в очереди в соответствии с правилом “первый пришел – первый ушел”. Приоритет заказа имеет большую значимость, чем приоритет по порядку поступления. Значение приоритета заказа при попадании в систему назначается (пользователем или случайным образом) от 1 до 10. При разбиении заказа приоритет распространяется на его транзакты. Транзакты с более высоким приоритетом заказа при попадании в очередь замещают собой на устройстве выполнения транзакты с более низким приоритетом.

Разбиение заказа на транзакты. Разбиение заказа на транзакты осуществляется в соответствии с логикой текущего процесса, параметрами заказа и количеством исполнителей. С учетом параметра “загрузка модели” определяется количество исполнителей, которые будут задействованы в выполнении данного заказа. Задача разбиения заказа состоит в равномерном распределении видов и объемов работ по исполнителям. Разбивается заказ на транзакты – отдельные составляющие заказа, соответствующие определенным технологическим процессам. Транзакт характеризуется типом (сканирование, печать и т.д.) и объемом. Сборка заказа производится после выполнения технологического цикла, т.е. при завершении всех транзактов одного типа.

Пример моделирования

Для примера была спроектирована модель небольшого сектора допечатных процессов, представленная на рисунке 1. Проектирование модели осуществлялось стандартными средствами, которые предоставляет программа.

 

Рис.1 Пример допечатного сектора.

После проектирования был проведен анализ модели для того, чтобы убедится, что в процессе проектирования не было допущено ошибок. Данная функция позволяет также получить отчет обо всех основных устройствах, составляющих модель. Результаты анализа модели были предоставлены программой в окне “Моделирование” на рисунке 2.

 

Рис. 2 Анализ модели.

Как видно из рисунка, ошибок обнаружено не было, а также модель содержит необходимые устройства для обработки любых типов заказов. Для выполнения моделирования в системе был создан стандартный заказ со 100% загрузкой исполнителей (рисунок 3). При создании заказа в системе решаются следующие вопросы:

  • определяется возможность выполнения заказа данной моделью;
  • вычисляется цена заказа на основе стоимости видов работ;
  • заказ разбивается на транзакты.

Рис. 3 Добавление заказа.

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

 

Рис. 4 Фрагмент моделирования.

По окончанию процесса моделирования системой был предоставлен отчет (рисунок 5), содержащий:

  • анализ заказа;
  • сведения о привлеченных к работе исполнителях;
  • время выполнения заказа.

 

Рис. 5 Результаты моделирования.

Заключение

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

Программа “Симулятор”, как большинство современных систем моделирования, позволяет использовать при проектировании и моделировании визуальные средства и скриптовые (программные) методы.

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

 © НОК CLAIM, 2006-2012. Замечания, вопросы и сведения об ошибках просим сообщать в форуме или присылать администратору сайта.

OZON.ru Rambler's Top100