SObjectizer -- это:
- набор принципов, правил и ограничений на проектирование и реализацию программ в рамках агентного подхода, называемый агентной моделью;
- библиотека C++ классов, позволяющая реализовать приложение в терминах агентов, их состояний, сообщений и событий.
SObjectizer 4-го поколения имеет более чем 10 летнюю историю и достиг определенной "твердости", когда внедрять новые идеи становится все сложнее. Новое 5-ое поколение является естественным развитием идей 4-го SObjectizer-а. В основу SObjectizer 5 лег опыт полученный в результате развития и применения предыдущего поколения библиотеки.
SObjectizer определяет агентно-ориентированную модель, в рамках которой осуществляется проектирование реализации конкретных задач. В рамках этой модели любое приложение рассматривается, как совокупность агентов. Каждый агент имеет заранее определенные состояния. Взаимодействие между агентами осуществляется посредством обмена сообщениями через mbox-ы (почтовые ящики). Агент выбирает сообщения, которые он желает получать и обрабатывать -- подписывается на сообщения у заданного mbox-a. Возникновение и последующая обработка сообщения, на которое подписан агент, называется событием. Сообщение может породить несколько событий. Агенты, имеющие одинаковое множество состояний, событий и сообщений, образуют класс агентов.
SObjectizer представляет из себя библиотеку классов для C++. Данная библиотека содержит средства для реализации обмена сообщениями и диспетчеризации событий, а также базовый класс для реализации агентов.
SObjectizer предоставляет возможность реализовывать собственные средства диспетчеризации событий и несколько уже реализованных диспетчеров.