|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Требования к языкам программирования агентовЧтобы обеспечить мобильность агента, язык должен поддерживать механизм посылки, передачи, получения и выполнения кодов, содержащих агентов. Имеются два различных подхода, которые решают проблему мобильности. Первый — это передача агента в текстовой форме, как специального сценария (script) с последующей интерпретацией этого сценария на принимающей машине. Второй — передача агента в форме машинно-независимого байт-кода. Этот байт-код генерируется транслятором на этапе создания агентской системы, посылается по сети и выполняется интерпретатором байт-кодов на принимающем компьютере. Оба из этих методов имеют свои преимущества и недостатки. Это требование непосредственно вытекает из предыдущего. Интеллектуальные агенты должны работать в гетерогенной компьютерной среде. Любой компьютер, получающий агента, должен быть способен принять его и обеспечить действия агента. Свойство агентов участвовать в переговорах и многие другие характеристики агентов опираются на доступ к удаленным ресурсам. Поддержка сетевых услуг может включать семейства соответствующих программных интерфейсов таких как: sockets, интерфейсы к базам данных, интерфейсы взаимодействия объектов (CORBA, OLE, ActiveX и т.д.), специальные механизмы, встроенные в язык (типа Remote Method Invocation в языке Java), специальные примитивы языка для осуществления переговоров агента и т.д. В рамках современных взглядов агент должен активно использовать достижения и методы ИИ. Поэтому необходимо иметь поддержку символьных вычислений и, возможно, логического программирования, встроенную в язык (подобно PROLOG- или LISP-системам), а также иметь встроенный механизм вывода, включающий различные стратегии поиска решения. Автоматическое управление памятью и сборка мусора — стандартные средства для таких языков. Подчас агент должен выполнять некоторые действия одновременно. Тем самым, язык программирования агентов должен включать поддержку параллельного выполнения различных функций агента (типа “threads”) и различных примитивов синхронизации (семафоры, мониторы, критические секции, и т.д.). Кроме того, параллельное выполнение действий агентов можно осуществить с помощью отдельной виртуальной машины с реализованным режимом вытесняющей многозадачности и собственной стратегией разделения времени. Наличие системы защиты от несанкционированного доступа и “плохих кодов”. Это важно по многим причинам. Мобильные агенты, которые приходят из сети, могут таить в себе множество опасностей для принимающей машины, так как они работают в ее адресном пространстве. Для обеспечения безопасности необходимо выполнить процесс авторизации агента, т. е. проверить, зарегистрирован ли он и имеет ли соответствующие полномочия (привилегии), чтобы выполнить то или иное действие или обратиться к некоторым ресурсам. Система безопасности должна предотвращать любые несанкционированные действия агента. Язык программирования агентов должен иметь механизмы наследования, рассматривать вызовы процедур как сообщения, передаваемые от одних объектов к другим, включать возможности синхронного и асинхронного взаимодействия объектов, а также допускать параллельность внутри объекта. Следует иметь поддержку специфических для агента свойств, встроенную в язык на уровне синтаксических конструкций, так, чтобы, например, свойства типа “beliefs-desires-intentions” (BDI), инструкции для переговоров и обеспечения мобильности, места встречи и т.д. могли бы быть выражены с помощью соответствующих примитивов языка. Проблемы МАС. Как формулировать, описывать. анализировать. распределять проблемы и синтезировать результаты между интеллектуальными агентами? Как агенты взаимодействуют между собой? Как гарантировать, что агенты действуют адекватно в принятии решенийф или мер? Как распознавать и согласовывать точки зрения и противоречивые наменрения между агентами, пытающимися координировать свои действия? Как проектировать и управлять на практике иМАС? Как избегать или смягчать вредное поведение системы 9напримр. хаотическое или колебательное поведение)?
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |