интересно
Предыдущая | Содержание | Следующая

Управление материальными и денежными ресурсами

Моделирование материальных и денежных ресурсов учитывает подобие их основных характеристик: остаток ресурса похож на положительное сальдо, дефицит подобен отрицательному сальдо. Есть и другие аналогии (кроме перечисления денег и бухгалтерских проводок).

Функция запроса ресурсов со склада. Каждый склад ресурсов описывается в имитационной модели в виде узла типа attach. В узле attach образуется очередь транзактов, которая может быть организована по приоритетному принципу: чем меньше транзакт запрашивает единиц, тем более он приоритетен. Соответствующая функция имеет вид:

Эта функция включает 4 параметра.

Параметр pi - символическое имя узла-ресурса: строка длиной до 14 символов, включая пробелы (char).

Параметр р2 - требуемое число элементов ресурса (long).

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

Параметр р4 - номер узла-приемника (int). Таким узлом может быть только узел-менеджер (manage).

Функция имитации менеджера ресурсов. Обслуживанием транзактов занимается узел типа менеджер - manage {см. рис. 2.5). Обслуженный транзакт проходит узел manage и путешествует с захваченными единицами по графу модели. Транзакт может несколько раз становиться в очередь к одному и тому же ресурсу, получая дополнительные единицы. Соответствующая функция имеет вид

9

включая два параметра.

Параметр pi - символическое имя узла-менеджера: строка длиной до 14 символов, включая пробелы (char).

Параметр рг - номер узла-приемника (int). Таким узлом может быть любой узел модели, кроме manage.

Этот узел имеет пять параметров.

- символическое имя узла-ресурса: строка длиной до 14 символов, включая пробелы (char).

- узел-счет, на который необходимо перевести заданную суммуОпг);

Параметр рз - размер заданной суммы (double). Единицы измерения финансовых средств - любые (рубли, доллары и т.д.). После точки обязательно необходимо указывать одно или два числа - доли используемых единиц измерений. Например: 1000000.00 (Один миллион руб. 00 коп.).

Параметр р4 - возможность работы с приоритетами: prty или попе. Если указано prty, то требования на перечисление денег со счета i в случае отсутствия необходимой суммы образуют очередь в узле send, причем соответствующие транзакты располагаются в порядке убывания значения приоритета (ближе к голове очереди находится самая приоритетная группа транзактов). Внутри приоритетной группы транзакты расположены в следующем порядке: чем меньше требуемая сумма, тем ближе транзакт находится к голове своей приоритетной группы. Если же суммы одинаковы, то транзакты расположёны в хронологическом порядке (правило fifo): чем раньше транзакт пришел в очередь, тем раньше он обслужен. Когда указано значение попе, работает только правило fifo.

Параметр ps - номер узла типа финансовый директор (узла direct), который осуществляет финансовый менеджмент и выполняет проводки по мере необходимости.

Событием в узле типа send является факт выполнения проводки со счета i на счет рг. Момент времени такого события - это момент времени проводки, определяемый выводом транзакта из узла send.

В каждом узле типа send имеется внутренний атрибут saldo, который отражает остаток средств на счете i. Дефицит средств на счетах бухгалтерского учета содержится в другом атрибуте - defic. Если атрибут saldo в узле i имеет нулевое значение и в этом узле имеются транзакты (один или несколько), запросившие проводки, то суммарный дефицит затребованных этимварщзактами сумм автоматически отражается в атрибуте defic.

Имитация работы бухгалтера

Обслуживание очередей типа send возможно с помощью одного или нескольких узлов типа финансовый директор. Описание такого узла:

Эта функция имеет два параметра.

- символическое имя узла-ресурса: строка длиной до 14 символов, включая пробелы (char).

Параметр р2 - это узел-приемник транзакта, выполнившего проводку. Этот узел может быть любого типа, кроме direct. При моделировании бизнес-процесса небольшого предприятия достаточно одного узла типа direct. Однако можно имитировать одновременную работу нескольких бухгалтеров, каждый из которых отвечает за свою группу бухгалтерских операций.

Пример работы с материальными и денежными ресурсами изложен в главе 8.