Main / SObjectizer 4 / About

SObjectizer -- это:

  • набор принципов, правил и ограничений на проектирование и реализацию программ в рамках агентного подхода, называемый агентной моделью;
  • библиотека C++ классов, позволяющая реализовать приложение в терминах агентов, их состояний, сообщений и событий.

Причины появления SObjectizer

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

В случае же с SObjectizer этот разрыв гораздо меньше -- ведь и проектирование, и программирование осуществляется в терминах агентов, состояний, сообщений и событий.

Что предоставляет SObjectizer

Агентно-ориентированная модель

SObjectizer определяет агентно-ориентированную модель, в рамках которой осуществляется проектирование реализации конкретных задач. В рамках этой модели любое приложение рассматривается как совокупность именованных объектов -- агентов. Каждый агент имеет заранее определенные состояния. Взаимодействие между агентами осуществляется посредством обмена сообщениями. Агент выбирает сообщения, которые он желает обрабатывать -- подписывается на сообщения. Возникновение и последующая обработка сообщения, на которое подписан агент, называется событием. Сообщение может породить несколько событий, которые будут обрабатываться в соответствии с назначенными им приоритетами -- т.н. приоритетная диспетчеризация событий. Агенты, имеющие одинаковое множество состояний, событий и сообщений, образуют класс агентов.

Библиотека классов для C++

SObjectizer представляет из себя библиотеку классов для C++. Данная библиотека содержит средства для реализации обмена сообщениями и диспетчеризации событий, а также базовый класс для реализации агентов.

SObjectizer предоставляет возможность реализовывать собственные средства диспетчеризации событий и несколько уже реализованных диспетчеров.

Распределенные приложения. SObjectizer Protocol

SObjectizer предоставляет возможность реализации распределенных приложений. В этом случае приложение может состоять из нескольких автономных модулей, для взаимодействия которых используется специальный протокол -- SObjectizer Protocol (SOP). Благодаря SOP прикладное приложение может вообще не иметь представления о том, что оно распределенное, т.к. обмен сообщениями между модулями осуществляется совершенно прозрачно и не требует усилий со стороны разработчика.

Завершение поддержки SObjectizer 4

С конца 2010 года начали вестись работы над 5-ым поколением SObjectizer. В связи с чем развитие развитие 4-го поколения SObjectizer и и основанных на нем библиотек было прекращено. SObjectizer 4 на протяжении 10 лет активно использовался и продолжает пока использоваться в компании Интервэйл, но постепенно приложения написанные на so_4 заменяются на приложения на so_5.