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

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

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






 

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

Для отношения матчинга определено четыре типа событий (рис. 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; просмотров: 440. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

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

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

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

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

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