Проектирование программного


Агентное программирование



Download 4,66 Mb.
Pdf ko'rish
bet46/65
Sana29.04.2022
Hajmi4,66 Mb.
#592571
1   ...   42   43   44   45   46   47   48   49   ...   65
Bog'liq
cherusheva proektirovanie programmnogo obespecheniya

4.6. Агентное программирование 
Понятие интеллектуального и программного агентов появи-
лось более 20 лет назад, их роль в программной инженерии все вре-
мя возрастает. Так, Джекобсон отметил перспективу использования 
агентов в качестве менеджеров проектов, разработчиков архитекту-
ры с помощью диаграмм use case и др. 
Основной теоретический базис данного программирования – 
темпоральная, модальная и мультимодельная логики, дедуктивные 
методы доказательства правильности свойств агентов и др. 
С точки зрения программной инженерии агент – это самодо-
статочная программа, способная управлять своими действиями в 
информационной среде функционирования для получения результа-
тов выполнения поставленной задачи и изменения текущего состоя-
ния среды. Агент обладает следующими свойствами: 
– автономность – это способность действовать без внешнего 
управляющего воздействия; 
– реактивность – это способность реагировать на изменения 
данных и среды и воспринимать их; 
– активность – это способность ставить цели и выполнять за-
данные действия для достижения этой цели; 
– способность к взаимодействию с другими агентами (или 
людьми). 


115
Основными задачами программного агента являются: 
– самостоятельная работа и контроль своих действий; 
– взаимодействие с другими агентами; 
– изменение поведения в зависимости от состояния внешней 
среды; 
– выдача достоверной информации о выполнении заданной 
функции и т.п. 
С интеллектуальным агентом связаны знания типа убеждение, 
намерение, обязательства и т.п. Эти понятия входят в концептуаль-
ную модель и связываются между собой операционными планами 
реализации целей каждого агента. Для достижения целей интеллек-
туальные агенты взаимодействуют друг с другом, устанавливают 
связь между собой через сообщения или запросы и выполняют за-
данные действия или операции в соответствии с имеющимися зна-
ниями. 
Агенты могут быть локальными и распределенными (рис. 4.8). 
Процессы локальных агентов протекают в клиентских серверах се-
ти, выполняют заданные функции и влияют на общее состояние 
среды функционирования. Распределенные агенты располагаются
в разных узлах сети, выполняют автономно (параллельно, синхрон-
но, асинхронно) предназначенные им функции и могут влиять на 
общее состояние распределенной среды. 
Рис. 4.8. Пример взаимодействия агентов в разных средах 
Характер взаимодействия между агентами зависит от совме-
стимости целей, компетентности и т.п.
Основу агентно-ориентированного программирования состав-
ляют: 
– формальный язык описания ментального состояния агентов; 
– язык спецификации информационных, временных, мотива-
ционных и функциональных действий агента в среде функциониро-
вания; 


116
– язык интерпретации спецификаций агента; 
– инструменты конвертирования любых программ в соответ-
ствующие агентные программы. 
Агенты взаимодействуют между собой с помощью разных ме-
ханизмов, а именно координации, коммуникации, кооперации или 
коалиции. 
Под 
координацией агентов 
понимается процесс обеспечения 
последовательного функционирования при согласованности их по-
ведения и без взаимных конфликтов. Координация агентов опреде-
ляется: 
– взаимозависимостью целей других агентов-членов коалиции, 
а также от возможного влияния агентов друг на друга
– ограничениями, которые принимаются для группы агентов 
коалиции в рамках общего их функционирования; 
– компетенцией – знаниями условий среды функционирования 
и степени их использования. 
Главное средство коммуникации агентов – транспортный про-
токол ТСР/IP или протокол агентов ACL (Agent Communication 
Languages). Управление агентами (Agent Management) выполняется 
с помощью сервисов: передача сообщений между агентами, доступ 
агента к серверу и т.п. 
Коммуникация 
агентов базируется на общем 
протоколе, языке HTML и декларативном или процедурном (Java, 
Telescript, ACL и т.п.) языке описания этого протокола. 
Примером активной и скоординированной деятельности аген-
тов по поиску необходимой информации является среда Интернет. 
В нем агенты обеспечивают доступ к информационным ресурсам, а 
также выполняют ее анализ, интеграцию, фильтрацию и передачу 
результата запроса пользователю. 
Каждый агент выполняет определенную функцию, передает 
друг другу задание на последующее действие по доступу к инфор-
мационному ресурсу, извлечению необходимой информации и пе-
редачи ее для обработки следующим агентам. При этом могут воз-
никать нерегулярные состояния (тупики, отсутствие ресурса и др.). 
Одной из систем построения агентов, основанной на обмене 
сообщениями в АСL, является JATLite, которая с помощью Java-
классов создает новых агентов, вычисляющих определенные функ-
ции в распределенной среде. Система Agent Builder предназначена 
для конструирования программных агентов, которые описываются в 
языке Java и могут взаимодействовать на языке 
KQML 
(Knowledge 
Guery and Manipulation Language). 
Построенные агенты выполняют функции менеджера проекта 
и онтологий, визуализации, отладки и др. Реализацию механизмов 


117
взаимодействий агентов обеспечивают система JAFMAS, ряд дру-
гих мультиагентных систем. 
Современные направления в области проверки правильности 
программ – формальные спецификации и методы доказательства их 
правильности. Для доказательства того, что 
спецификация програм-
мы 
задает правильное решение некоторой задачи, для которой она 
разработана, привлекается математический аппарат. 
В формальных методах нет рутинного написания спецификации 
на ЯП, а есть анализ текста и описание поведения программы в стиле, 
близком математической нотации, путем рассуждений и доказа-
тельств, принятых в математике. Формальные методы в программиро-
вании появились одновременно с самим программированием, на ко-
торое повлияли работы по теории алгоритмов А. А. Маркова,
А. А. Ляпунова, схемы Ю. И. Янова, формальные нотации языка опи-
сания взаимодействующих процессов К. А. Хоара и др. 
В 70-х гг. прошлого столетия появились формальные специфи-
кации, которые близки ЯП и предоставляют средства, облегчающие 
проводить рассуждение о свойствах формальных тестов и сближа-
ющие их с математической нотацией. Несмотря на это, исследования 
формальных методов носили в основном академический, теоретиче-
ский характер, поскольку извлечь из них практическую пользу в 
программировании не удавалось в силу огромных затрат на фор-
мальную спецификацию программ и разработку дополнительных ак-
сиом, утверждений и условий, называемых предварительными усло-
виями (предусловиями) и постусловиями, определяющими заключи-
тельные правила получения правильного результата. 
Под спецификацией понимается формальное описание функ-
ций и данных программы, с которыми эти функции оперируют. Раз-
личают видимые данные, т.е. входные и выходные параметры, а 
также скрытые данные, которые не привязаны к реализации и опре-
деляют интерфейс с другими функциями. 
Предусловия – это ограничения на совокупность входных па-
раметров; постусловия – ограничения на выходные параметры. 
Предусловие и постусловие задаются предикатами, т.е. функциями, 
результатом которых будет булева величина (true/false). Предусло-
вие истинно тогда, когда входные параметры входят в область до-
пустимых значений данной функции. Постусловие истинно тогда, 
когда совокупность значений удовлетворяет требованиям, задаю-
щим формальное определение критерия правильности получения 
результата. 

Download 4,66 Mb.

Do'stlaringiz bilan baham:
1   ...   42   43   44   45   46   47   48   49   ...   65




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish