Существует ли язык программирования, ориентированный на описание взаимодействия агентов? - PullRequest
2 голосов
/ 30 сентября 2010

Я хочу создать различные виды процессов, в которых агенты взаимодействуют друг с другом. Я хочу описать (определить, формализовать) процессы взаимодействия агентов с использованием специального языка. Другими словами, я хочу создать среду, в которой агенты могут взаимодействовать друг с другом определенным образом, и я хочу описать способ взаимодействия с использованием языка программирования, который подходит для этого. Есть ли такой язык?

Чтобы быть более конкретным и менее абстрактным, мы можем думать об агентах как о пользователях веб-сайта. Веб-сайт развивается в зависимости от действий пользователей (пользователи имеют определенную свободу действий). Что пользователь может делать и что происходит в результате его действий, должно быть описано языком.

Ответы [ 2 ]

2 голосов
/ 30 сентября 2010

Эрланг - один из очевидных ответов, см. Такие статьи, как , эта статья 2004 года или статья Wikibooks о Автономные агенты .

Если вы довольны работой в среде .Net, , особенно в .Net 4, , тогда серьезно посмотрите на Windows Workflow Foundation . Есть интересная статья о масштабировании и характеристиках производительности из предыдущего поколения (2006).

2 голосов
/ 30 сентября 2010

Обычно набор возможных действий фиксируется с помощью методов в интерфейсе.Вы имеете в виду, что в разное время, в зависимости от предыдущих действий, должны быть включены только некоторые действия (например, вход в систему, прежде чем делать что-либо еще)?

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

Или вы можете захотеть взглянуть на каркасы рабочих процессов.Но я думаю, что вам нужно уточнить ваши требования немного подробнее.

Или вы имеете в виду, что пользователь может вводить даже новые действия?

...