Студопедия — Обработчики событий
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Обработчики событий






 

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

Для отношения матчинга определено четыре типа событий (рис. 21):

OnEstablish - установить событие резервирования в матчинге,

OnBreak - установить событие разрыва резервирования в матчинге,

OnMatchingFailed – агенты не соглашаются установить отношение матчинга,

OnReservationFailed – агенты устанавливают отношение матчинга, но резервирование не выполняется.

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

Object_Instance – агент, который является объектом в данном отношении матчинга,

Subject_Instance – агент, который является субъектом в данном отношении матчинга,

Matcher_Instance – матчер агентов.

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

 

Находясь в окне Edit matching condition, перейдите во вкладку Events, установите флаг активности события резервирования (рис. 21).

Рис. 21. Установка активности события резервирования

 

Свяжите с событием резервирования скрипт. Для этого нажмите на кнопку и в появившемся редакторе скриптов наберите тело скрипта (рис. 22). Параметрами скрипта – обработчика события резервирования, в соответствии с тем, как определены стороны отношения в матчинге, являются:

Object_Instance – агент самолета, который является объектом в данном отношении матчинга,

Subject_Instance – агент отправителя, который является субъектом в данном отношении матчинга.

 

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

with “ имя агента ” do

begin

действия с использованием атрибутов агента, к которым происходит обращение только по имени, - “ имя атрибута”

end;

 

Begin

; вычисление значений атрибутов агента самолета (вместо обращения

; "Object_Instance"."Airplane load" и т.п. используется

; "Airplane load" и т.п. Для обращения к атрибутам агента

; отправителя используется полная форма записи, например,

; "Subject_Instance"."_Sender volume". Для обращения к значениям

; атрибутов, вычисляемых матчером, также используется полная форма

; записи, например, "Matcher_Instance"."Current fee")

with "Object_Instance" do

Begin

; вычисление текущей загрузки самолета

"Airplane load":= "Airplane load" + "Subject_Instance"."_Sender

volume";;

; вычисление свободной грузоподъемности самолета

"Airplane free volume":= "_Airplane volume" - "Airplane load";;

; вычисление коэффициента загрузки самолета в процентах

"Usage level":= 100 * "Airplane load" / "_Airplane volume";;

; вычисление платы, полученной самолетом. Матчер запускает скрипт

; Calculate Current fee для вычисления значения платы от каждого

; отправителя, агент которого резервирует самолет. Значение

; атрибута Current fee очередного отправителя, разместившего груз

; на самолете, добавляется к суммарной плате, полученной самолетом

; от всех отправителей

"Airplane account":="Airplane account" +

"Matcher_Instance"."Current fee";;

; добавление идентификатора отправителя в список отправителей,

; грузы которых размещены на самолете. Add – встроенная функция

; матчера, которая выполняет эту операцию

"Sender names".Add("Subject_Instance"."_Sender name");

;Агент самолета получает от матчера значение тарифа за перевозку

; 1 кг груза, вычисленное с помощью скрипта Calculate Rent fee, и

; записывает это значение в соответствующий атрибут

"Rent fee":= "Matcher_Instance"."Rent fee";;

End;

; вычисление значений атрибутов агента отправителя (вместо обращения

; "Subject_Instance."Current fee" и т.п. используется

; "Current fee" и т.п. Для обращения к атрибутам агента

; самолета используется полная форма записи, например,

; "Object_Instance"."_Airplane name". Для обращения к значениям

; атрибутов, вычисляемых матчером, также используется полная форма

; записи, например, "Matcher_Instance"."Current fee")

with "Subject_Instance" do

Begin

; отправитель получает идентификатор зарезервированного им

; самолета

"SenderAirplane Name":= "Object_Instance"."_Airplane name";;

; отправитель получает от матчера значение платы за размещение

; груза, которое вычисляется с помощью скрипта

; Calculate Current fee

"Current fee":= "Matcher_Instance"."Current fee";;

End;

End;

Рис. 22. Редактор скриптов обработчика событий

 

 

2.3.7 Сохранение онтологий предметной области “Логистика воздушного флота”

 

Дерево концептов дескриптивной онтологии и онтологии виртуального мира предметной области “Логистика воздушного флота” приведено на рис. 23.

 

Рис. 23. Дерево концептов дескриптивной онтологии и онтологии виртуального мира предметной области “Логистика воздушного флота”

 

Сохраните созданные онтологии (дескриптивную онтологию и онтологию мира заказов/ресурсов) при помощи кнопки под именем Shared Airplanes ontology. Расширение .ocl будет добавлено автоматически. По умолчанию, файл онтологии будет размещен в разделе Ontology Samples.

Завершите работу с конструктором онтологий (File -> Close).

 







Дата добавления: 2015-10-19; просмотров: 437. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

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

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

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

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

Studopedia.info - Студопедия - 2014-2024 год . (0.014 сек.) русская версия | украинская версия