Методы и средства инженерии программного обеспечения


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


Понятие интеллектуального и программного  агента появилось более 20 лет назад,  их роль в программной инженерии  все время возрастает [25-–29]. Так, в [30]  Джекобсон отметил   перспективу для использования  агентов в качестве  разработчиков архитектуры системы из вариантов использования, менеджеров  проекта и др.  Использование агентов в этих ролях в ближайшем будущем  будет способствовать повышению производительности, качества и ускорению разработки ПС.

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

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

Агент  может обладать  такими свойствами:

– автономность – это.  способность действовать без внешнего управляющего воздействия;

– реактивность – это способность реагировать на изменения данных и среды, и воспринимать их;

– активность – это способность ставить цели  и выполнять  заданные действия для достижения этой  цели;

– социальность – это способность к взаимодействию с другими агентами (или  людьми).

В задачи программного агента входят:

–  самостоятельная работа и контроль своих действий;

–  взаимодействие с другими агентами;

– изменение поведения в зависимости от состояния внешней среды;

–  выдача достоверной информации о выполнении заданной функции и т.п.

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




- Начало -  - Назад -  - Вперед -