
- •Имитационное моделирование и функционально-стоимостной анализ
- •Введение
- •1.Термины, определения и сокращения
- •1.1.Термины и определения
- •1.2.Сокращения
- •2.Назначение имитационного моделирования и функционально-стоимостного анализа
- •3.Технология проведения фса в системе Business Studio
- •3.1.Описание методики имитационного моделирования
- •3.2.Описание методики фса
- •3.3.Этапы проведения имитационного моделирования и фса процесса
- •Настройка диаграммы
- •Задание правил возникновения стартовых событий диаграмм процессов
- •Задание условий перехода к следующему процессу в точке ветвления
- •Задание условий перехода к следующему шагу в точке слияния
- •Заполнение параметров фса процесса
- •Заполнение параметров фса ресурсов
- •Назначение ресурсов на процесс
- •Заполнение списка «Продукты» процесса
- •Запуск имитации
- •Ход имитации
- •Анализ результатов имитации
- •Анализ ключевых параметров процессов
- •Анализ параметров временных ресурсов
- •Анализ производства и потребления материальных ресурсов
- •Анализ статистики по изменению значений всех переменных
- •Оптимизация бизнес-процесса
- •3.4.Отчеты по фса
- •Библиография
Задание условий перехода к следующему шагу в точке слияния
Разветвившись в точке ветвления процесса, параллельно выполняемые ветки могут снова объединиться в одной точке слияния (Рис.33). Продолжительность каждой параллельной ветки, в общем случае, будет разной, следовательно, в точку слияния они попадут в разное время. Первая ветка процесса, достигшая точки слияния, может ожидать в ней поступления остальных параллельных веток, а может продолжить движение без остановки. Время, в течение которого она ожидает поступления остальных параллельных веток в точке слияния, называется временем синхронизации.
Рис.33. Диаграмма с параллельными ветками, объединенными в точке ветвления
Задание времени синхронизации для процессов в нотации ЕРС
На диаграмме процесса в нотации ЕРС в качестве точки слияния параллельных веток процесса используются операторы. Время синхронизации задается в окне свойств каждого оператора (Рис.34).
Рис.34. Задание времени синхронизации для оператора
Оператор «И»
Если в качестве оператора слияния используется оператор «И», дальнейший ход выполнения процесса запустится только в случае, если выполнятся все ветки, входящие в этот оператор. Выполнение одной из веток запускает время синхронизации, в течение которого процесс ожидает выполнения остальных веток. Если по окончании времени синхронизации остальные ветки процесса не выполнились, процесс останавливается.
Если время синхронизации в операторе не задано, процесс будет ожидать выполнения остальных веток до окончания имитации.
Оператор «ИЛИ»
Если в качестве оператора слияния используется оператор «ИЛИ», выполнение одной из веток, входящей в оператор, запускает время синхронизации и дальнейший ход выполнения процесса. Если в течение времени синхронизации выполняются другие ветки процесса, дальнейший ход процесса они не запускают.
Если время синхронизации в операторе не задано, каждая ветка процесса, входящая в оператор, запускает дальнейший ход выполнения процесса. Исключением являются те ветки процесса, которые выполняются в одно время. В этом случае дальнейший ход процесса запускает только одна из выполненных веток.
Оператор «Исключающее ИЛИ»
Если в качестве оператора слияния используется оператор «Исключающее ИЛИ», вне зависимости от значения времени синхронизации каждая ветка процесса, входящая в этот оператор, запускает дальнейший ход выполнения процесса.
Задание времени синхронизации для процессов в нотациях Процесс, Процедура
На диаграммах процессов в нотациях Процесс, Процедура в качестве точки слияния параллельных веток используется блок процесса, у которого несколько входящих стрелок «Связь предшествования».
Время синхронизации задается для всех диаграмм процессов нотациях Процесс, Процедура один раз в параметре «Время синхронизации для Процессов/Процедур» (меню ФСА −> Параметры ФСА).
В течение времени синхронизации процесс будет ожидать выполнения всех веток, входящих в точку ветвления. Дальнейший ход процесса запустится, только если в течение времени синхронизации выполнятся все ветки процесса. Если этого не произойдет, по окончании времени синхронизации процесс остановится.
Если значение времени синхронизации не установлено, процесс будет ожидать выполнения всех веток в точке слияния до окончания имитации.
Управление ходом процесса в точке слияния при помощи переменных
В точке слияния веток процесса время синхронизации запускается для каждого экземпляра процесса отдельно. Это означает, что Функция 3, представленная на Рис.35, никогда не выполнится, т.к. ветки процесса, которые сливаются в операторе «И», выполняются в рамках разных экземпляров процесса.
Рис.35. Параллельные ветки, запущенные в рамках разных экземпляров процесса
В этом случае управлять ходом процесса в точке слияния можно при помощи переменных. Для того чтобы процесс «Сборка изделия» начал выполняться в момент, когда возникнут события «Деталь 1 сформирована», «Деталь 2 закуплена», необходимо:
Преобразовать диаграмму к виду:
Рис.36. Преобразованная диаграмма процесса
В списке «Переменные» процесса «Формирование детали 1» задать переменную x (Тип переменной – Целый, Стартовое значение = 0).
В списке «Действия с переменными» процесса «Формирование детали 1» задать действие: x = 1.
В списке «Условия» события «Деталь 2 закуплена» задать логическое выражение: x=5.
В списке «Условия» события «Деталь 2 не закуплена» задать логическое выражение: x != 5.
Для вспомогательного процесса задать минимальное время выполнения (см. Рис.37).
Процесс «Сборка изделия» начнет выполняться только тогда, когда выполнятся оба события: «Деталь 1 сформирована» и «Деталь 2 закуплена».