en ru

Несколько слов про проект AReason

Решил написать несколько слов про проект AReason (ранее я его называл AR).

Проект AReason изначально задумывался как объединение разных разработок в области ИИ. Для объединения я предлагал и по прежнему предлагаю разбивать общую задачу на более мелкие подзадачи, которые реализовывать в виде отдельных "модулей". Каждый модуль - это по сути некоторый набор функций. Модули могут быть реализованы по разному: в виде программного кода на Си/Pascal/etc, в виде классов и интерфейсов, в виде библиотек функций (DLL), в виде ActiveX/Com+ объектов, в виде служб и сервисов с присоединением по TCP/IP или другими способами и т.д. Суть при этом одна: модуль должен реализовывать некоторый набор функционала, который можно использовать из других модулей.

В проекте AReason предполагается множество различных модулей. Однако основными из них будут два: ARCore и ARKnowledgeBase.
ARCore - ядро (локальной) системы в котором регистрируются все доступные модули.
ARKnowledgeBase - проводник БД/БЗ, обеспечивает доступ к данным из различных хранилищ и источников.

Проект AReason будет представлен в нескольких видах (в нескольких программах):
1) AReason.exe - реализуется как монолитная программа-сервер (AReason-Monolit.exe) для выполнения агентов+возможность подключения внешних агентов по технологии Com/AxtiveX и TCP/IP или как GUI утилитка для управления сервером ARCore;
2) ARCore.exe - (служба Windows), является площадкой для выполнения агентов + необходимый для их работы функционал (фреймворк).
3) ARAssistant.exe - персональный помощник для связи с системой, является агентом системы AReason;
4) Плюс к этому буду реализовывать дополнительные программы, которые будут являться или агентами системы или различными утилитками, а так же тестировочные программки.

AReason.exe, ARCore.exe будут состоять из следующих основных частей:
--- Базовые модули ---
ARuntime - функции работы со списком зарегистрированных модулей
AUtils - различные дополнительные функции
...
--- ARKernel/AIKernel ---
ARKernel/AIKernel - инициализирует необходимые базовые модули +
AEntities - функции доступа к БД/БЗ (БД Key-Value, запись может являться онтологической сущьностью)
AAgents - функции обеспечения передачи сообщений между программами-агентами и работа со списком зарегистрированных агентов. Каждый агент выполняется в отдельном подпроцессе. Связь агентов между собой только путем отправки и получения сообщений. Связь агентов с БЗ наверное тоже путем отправки и получения сообщений. Сообщения будут отправляться на внутреннем языке (за аналог беру FIPA-ACL).
...
AREngine/AIEngine - интерпретатор программ на языке ALang/AILang/ARLang
ARAgents - функции надстройки над модулем AAgents. Здесь, по идеи, должны быть реализованы функции с учетом анализа смысла сообщений (с онтологиями).
...

Несколько слов про открытость/закрытость проекта AReason.

Проект AReason не является открытым проектом, однако некоторые разработки из AReason будут передаваться в проект AIKernel.

На этой неделе, пока у меня отпуск, я хочу подготовить все свои старые исходники по проекту AReason и выложить их в сеть. Они будут доступны всем, кто захочет с ними разбираться.

Скорее всего, я буду предлагать свои наработки только в виде исходников. А вот на счет бинарников (оформленных в виде продукта) я еще подумаю. Скорее всего бинарники выкладывать не буду, по двум причинам:
1) они сырые и не выполняют пока полезных функций для конечного пользователя;
2) когда и если такие полезные функции появятся, то будет хороший повод для продажи бинарников как продукта.

При всем этом, напоминаю, что проект AIKernel является полностью открытым и свободным. Разработки в рамках проекта AIKernel будут доступны на условиях лицензий BSD и Creative Common. То есть используйте как хотите.

Обсуждение: project-ai.org/forum/viewtopic.php?t=56












© AiKernel 2010-2013
06.07.2011 - 28.12.2012