Страница 135
import com.toshiba.beegent. xml. *;
import com.toshiba.beegent.util. *;
public class AW2 extends AgentWrapper {
public static void main (StringC] argv) throws Exception {
AW2 aw = new AW2();
aw.setName ("bidder");
aw.printLog (true);
aw.setPassword ("kawamura");
aw.addPublicIPStates ,();
aw.startIP ();
}
}
Каждое состояние в протоколе взаимодействия является экземпляром класса AwrlPState, фрагмент описания которого приведен ниже.
class AwrlPStatel extends AwrlPState {
AwrlPStateSI () { super ("INIT"); }
public void action () {
XmlAcl xa = null;
…………………………………
while ( waitXML (0) ){
xa = getXML ();
perf = xa.getTag2Value ("performative");
sender = xa. getTag2Value ("sender")';
action = xa.getTag2Value ("action");
if (perf.equals ("cfp")) break;
}
// Send XML/ACL
int rand = new Random (System.currentTimeMillis()). nextlnt ();
int dice = Math.abs (rand) % 3;
switch (dice) {
case 0: // generate Refuse performative
setPostcond ("INIT");
break;
………………………………………………
default:
setPostcond ("INIT");
return;
}
if ( IsendXML (xa) )
Debug.printLog (getMyname (), "Failed to send XML/ACL");
}
}
Наиболее интересны и важны здесь «петля» ожидания сообщений и оператор switch, в теле которого собственно и специфицируется поведение как последовательность действий, направленных в данном случае на формирование соответствующего перформатива.
Анализ этого фрагмента и других примеров реализации поведения агентов в системе Bee-gent позволяет сделать следующие выводы. Агентная библиотека фирмы Toshiba является достаточно развитой и отвечает основным требованиям к компонентам программного обеспечения данного класса. Перформативы XML/ ACL более высокого, по сравнению с KQML, уровня. Для спецификации протоколов взаимодействия предлагается использовать язык программирования, а не представления знаний. На уровне технологии имеется достаточно четкая структура представления поведения агентов. Учитывая то, что языком реализации поведения в данном случае является Java, система Bee-gent ориентирована на компиляцию программ, а не интерпретацию спецификаций, как это происходит в случае системы AgentBuilder.
Выше мы обсудили два подхода к разработке и реализации MAC, которые отражают разные концы спектра инструментов, используемых в этой области.
Суммируя все вышесказанное, можно отметить, что в настоящее время в работах по созданию инструментария явно фиксируется тенденция использования методов и средств ИИ, ориентированных на поддержку процессов проектирования программных агентов и MAC в целом.
При этом задача построения технологий нового поколения для создания MAC может быть решена на основе совместного использования опыта разработчиков MAC и методологий обработки знаний, заимствованных из ИИ [Guarino et al., 1995b]. Для этого прежде всего необходимо адаптировать методы и средства проектирования и реализации прикладных интеллектуальных систем в новую проблемную область: разработку мультиагентных систем нового поколения. Очевидно, что спецификация процесса разработки MAC на основе методов проектирования баз знаний в такой технологии предполагает:
• эксплицитное представление в БЗ архитектуры проектируемой MAC;
• явную спецификацию архитектуры отдельных типов агентов, «задействованных» в рамках проектируемой MAC;
• описание в виде специальных баз знаний модели (схемы) всех знаний, необходимых каждому агенту для реализации поставленных перед ним целей;
• анализ используемых в настоящее время при реализации MAC систем классов и соответствующих программных библиотек с целью явной спецификации соответствия между элементами архитектуры проектируемой MAC и ее компонентами и программными единицами, реализующими их;
• формальную спецификацию (на уровне соответствующей системы представления и манипулирования знаниями) специальной машины вывода (решателя), целью которой является переход от спецификации MAC к ее реализации.
Учитывая вышесказанное, можно констатировать, что1 процесс разработки MAC при этом хорошо коррелирует с соответствующим процессом создания сложных программных систем, но отличается дополнительными фазами, связанными с наличием независимых компонентов (агентов), взаимодействующих с пользователем и друг с другом.
Обсуждение Базы знаний интеллектуальных систем
Комментарии, рецензии и отзывы