Есть ли язык программирования, ориентированного на описание взаимодействия между агентами?

StackOverflow https://stackoverflow.com/questions/3829283

Вопрос

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

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

Это было полезно?

Решение

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

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

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

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

Другие советы

Erlang - один очевидный ответ, см. Документы, такие как Этот 2004 бумага или статья Викибукса на Автономные агенты.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top