Язык программирования C# вобрал лучшие черты целого ряда своих предшественников: Java, C++, Visual Basic . C# обладает следующими преимуществами перед другими процедурными языками:

  • объектная ориентированность (всякая языковая сущность претендует на то, чтобы быть объектом);
  • компонентно-ориентированное программирование;
  • безопасный  код;
  • унифицированная система типизации;
  • поддержка событийно-ориентированного программирования;
  • «родной» язык для создания приложений в среде .NET(тесно и эффективно интегрирован со средой разработки Microsoft.NET).

Таким образом, целесообразно с помощью языка C# создать язык общения агентов, используя стандарт FIPA ACL для представления уровня переговоров агентов. Такой выбор в первую очередь обуславливается желанием исполнения поставленных задач в единой среде программирования.

Для общения агентов необходимо как-то представить информацию, которой владеют агенты, т.е.  представить знания в понятной для программных сущностей форме. Решением этих задач занимается раздел искусственного интеллекта (ИИ)- инженерия знаний, одно   из важных направлений современного программирования.

Ни одна из известных платформ “традиционного” программирования не содержит адекватных средств представления знаний, которые были бы включены в эту систему в качестве основных понятий и конструкций базовых языков. И наоборот ни одна из известных систем инженерии знаний не содержит современных, удобных и эффективно реализованных средств “традиционного” программирования. Поэтому в настоящее время интегрируются методы инженерии знаний и инженерии программ.