IACPaaS:Описание
Общие сведения
Исследовательский проект IACPaaS (Intellectual Applications, Control and Platform as a Service, произносится ИА́СПАС) объединяет модели SaaS, PaaS и CaaS парадигмы Cloud computing. Научная составляющая проекта IACPaaS будет представляться в научных публикациях по мере его развития. Данная wiki содержит документацию по программному обеспечению проекта IACPaaS, включающую в себя глоссарий терминов, в котором приведены определения, относящиеся непосредственно к данному проекту (если об это не сказано отдельно).
Проект IACPaaS предполагает разработку прикладных интеллектуальных интернет-приложений (далее называемых прикладными средствами) для медицины, химии, математики и системного программирования, а также разработку инструментальных средств для разработки (называемых средствами разработки) единиц хранения и управления (далее называемых средствами управления) этими единицами хранения. Проект IACPaaS направлен на предоставление услуг доступа:
- специалистам в различных предметных областях (в качестве реализации модели SaaS) — к прикладным средствам;
- разработчикам единиц хранения (в качестве реализации модели PaaS) — к средствам разработки;
- управляющим единицами хранения (в качестве реализации модели CaaS) — к средствам управления;
- коллективам разработчиков и управляющих — к средствам разработки и средствам управления для разработки единиц хранения, а также для управления ими и в других областях знаний, кроме перечисленных выше.
Пользователи проекта IACPaaS
Существует три типа пользователей проекта IACPaaS (см. Рис.1):
- Гость через веб-браузер может просматривать доступное ему содержимое фонда — предметные области, их разделы и описания связанных с ними единиц хранения, а также может подать заявку на регистрацию в одной из предметных областей через соответствующее средство администрирования.
- Зарегистрированный пользователь обладает правами гостя на просмотр содержимого фонда, на регистрацию в других предметных областях (с тем же именем и паролем), а также может подать заявку на получение полномочия в тех предметных областях, в которых он уже зарегистрирован, или заявку на модификацию фонда через соответствующее средство администрирования.
- Пользователь с полномочиями обладает всеми правами зарегистрированного пользователя, а также может реализовывать полномочия из своего списка полномочий. По назначению тех интернет-приложений, на использование которых они имеют полномочия, пользователи с полномочиями могут относиться к следующим восьми классам (см. Рис.2):
- Пользователь прикладных средств решает прикладные задачи с помощью прикладных средств.
- Разработчик и сопровождающий кода программных компонентов разрабатывает, отлаживает и сопровождает код продукций агентов и код операций над информационными ресурсами (сохраняющими их целостность) в соответствии со спецификациями.
- Управляющий агентом формирует декларативный компонент агента и управляет им.
- Управляющий информационным ресурсом формирует информационный ресурс и управляет его информацией (если последним является база знаний, то такой управляющий может быть назван экспертом, если онтология — инженером знаний и т.д.).
- Управляющий шаблонным компонентом интерфейса формирует шаблонный компонент интерфейса и управляет им.
- Коллектив управляющих интернет-приложением формирует прикладное или инструментальное средство из агентов, информационных ресурсов и шаблонных компонентов интерфейса и управляет им.
- Администратор предметной области выполняет администрирование заявок пользователей этой предметной области через соответствующее средство администрирования.
- Администратор проекта IACPaaS выполняет администрирование заявок пользователей проекта IACPaaS через соответствующее средство администрирования.
Архитектура программного обеспечения проекта IACPaaS
Архитектурно программное обеспечение проекта IACPaaS состоит из административной системы, виртуальной машины и фонда (см. Рис.3).
Административная система через веб-браузер позволяет пользователям просматривать текущее состояние описаний доступных им единиц хранения, подавать заявки на получение полномочий и заявки на модификацию фонда, а также реализовывать полномочия из своего списка полномочий, а гостям — подавать заявки на регистрацию в качестве пользователей.
Виртуальная машина представляет собой набор процессоров для запуска и выполнения средств администрирования, а также для запуска и выполнения полномочий: с точки зрения пользователей модели SaaS — прикладных средств, с точки зрения пользователей моделей PaaS — средств разработки, с точки зрения пользователей моделей CaaS — средств управления.
Фонд разделен на предметные области, а те, в свою очередь на разделы; каждый раздел содержит относящиеся к нему единицы хранения: прикладные и инструментальные средства, средства разработки и управления, агенты, метаинформацию информационных ресурсов, информационные ресурсы, коды операций над информационными ресурсами (сохраняющими их целостность), шаблонные компоненты интерфейса.
Введение
Разработка и сопровождение интеллектуальных систем (ИС) или систем, основанных на знаниях (состоящих, в общем случае, из базы знаний, решателя задач и пользовательского интерфейса), является сложным и трудоемким процессом, который имеет свои особенности, поэтому стандартная технология разработки программных систем не может быть напрямую спроецирована на разработку ИС. В первую очередь это связано с тем, что входящая в архитектуру ИС база знаний должна разрабатываться и сопровождаться экспертами предметной области и быть им понятной. Традиционный подход к разработке ИС, основанный на использовании оболочек, имеет ряд недостатков, которые подробно обсуждаются в работах [1–6]. Указанные недостатки особенно проявляются при сопровождении ИС.
Современный подход к разработке программных систем основан на использовании концепции облачных вычислений, которые, с одной стороны, обеспечивают доступность программных систем широкому кругу пользователей, с другой – позволяют на протяжении всего жизненного цикла программной системы осуществлять ее сопровождение, поскольку все находящиеся в эксплуатации компоненты системы по-прежнему контролируются разработчиком. К настоящему времени в рамках данного подхода для разработки ИС созданы редакторы информационного наполнения ИС, которые можно задействовать при создании новых ИС [7, 8]; разработаны и широко используются платформы [9–11], которые поддерживают отдельные этапы цикла разработки облачных программных систем.
Предложенная в [12, 13] открытая семантическая технология компонентного проектирования ИС (OSTIS) основана на идее модульного проектирования ИС из многократно используемых семантически совместимых компонентов, хранящихся в библиотеке. При этом не ограничивается аппарат используемых средств разработки, языки программирования, операционные системы, платформы, поэтому для обеспечения совместимости компонентов разработчикам необходимо спроектировать и реализовать абстрактную унифицированную логико-семантическую модель проектируемой интеллектуальной системы и ее интерпретатор (либо усовершенствовать существующий в библиотеке). По нашему мнению, такой поход подходит для интеграции в едином информационном пространстве уже созданных ИС, однако в этом случае сложно обеспечить высокоуровневую инструментальную поддержку всех этапов технологии разработки ИС, усложняется ее сопровождение, что противоречит наиболее важному требованию, снижаются и усложняются возможности повторного использования компонентов, снижается эффективность работы ИС из-за издержек дополнительного интерпретатора модели.
В результате на сегодняшний день можно говорить об отсутствии принятой в качестве стандарта технологии, позволяющей разрабатывать жизнеспособные ИС. Наряду с этим по-прежнему ощущается острая потребность в средствах разработки ИС, а также в повторном использовании компонентов ИС.
Для решения вышеперечисленных проблем в области разработки и сопровождения жизнеспособных ИС в работах [14, 15] предложена облачная платформа IACPaaS, поддерживающая следующие технологические принципы разработки, сопровождения и использования облачных ИС:
- база знаний, решатель задач и пользовательский интерфейс разрабатываются раздельно;
- все информационные ресурсы (онтологии, знания, данные) имеют единое унифицированное декларативное представление;
- формирование и сопровождение знаний осуществляется экспертами предметной области на основе моделей онтологий;
- пользовательский интерфейс редакторов для эксперта генерируется по модели онтологии;
- метод решения задачи разбивается на подзадачи, где каждой подзадаче ставится в соответствие решающий ее агент (входящий в состав некоторого решателя задач);
- для доступа агентов к информационным ресурсам, имеющим унифицированное представление, предусмотрены программные интерфейсы;
- ИС предоставляется пользователю как облачный сервис.
Платформа IACPaaS поддерживает:
- базовую технологию разработки прикладных и специализированных инструментальных (интеллектуальных) сервисов с использованием базовых инструментальных сервисов платформы, поддерживающих эту технологию;
- множество специализированных технологий разработки прикладных и специализированных инструментальных (интеллектуальных) сервисов, с использованием специализированных инструментальных сервисов платформы, поддерживающих эти технологии.
Специализированные технологии (по сравнению с базовой) и инструментальные средства их поддержки с одной стороны, как правило, накладывают определенные ограничения (по области применения и/или классу решаемых задач) на разрабатываемые с их использованием сервисы, а с другой, за счет учета специфики проблемной области и/или класса решаемых задач, обеспечивают более высокоуровневую поддержку разработки последних.
В данной серии работ описывается базовая технология разработки ИС как облачных мультиагентных сервисов.
Облачная платформа IACPaaS
Облачная платформа IACPaaS представляет собой программно-информационный интернет-комплекс для обеспечения поддержки разработки, управления и удаленного использования прикладных и инструментальных мультиагентных облачных сервисов (прежде всего интеллектуальных) и их компонентов. Комплекс основан на технологии облачных вычислений и обеспечивает удаленный доступ конечным пользователям к интеллектуальным системам, а разработчикам и управляющим – к средствам создания интеллектуальных систем и управления ими. Концептуальная четырехуровневая архитектура платформы IACPaaS представлена на рисунке
.
- Системный уровень (уровень Виртуальной машины). Виртуальная машина платформы IACPaaS состоит из процессора информационных ресурсов (ПИР), процессора решателей задач (ПРЗ) и процессора пользовательского интерфейса (ППИ), каждый из которых предназначен для поддержки соответствующих компонентов интеллектуальных систем. На данном уровне обеспечиваются доступ к Фонду единиц хранения платформы IACPaaS (средствами ПИР), запуск и работа сервисов (поддерживаемые ПРЗ), а также взаимодействие сервисов с пользователями (посредством ППИ).
- Библиотечный уровень (уровень Фонда). Фонд платформы IACPaaS представляет собой совокупность единиц хранения различных видов и уровней общности (содержательно это хранимые данные и знаний, их онтологии, метаонтологии, решатели задач, агенты, шаблоны сообщений, модель абстрактного пользовательского интерфейса и т.п.). Представлением в Фонде любой единицы хранения является информационный ресурс. Структурно Фонд разделен на предметные области, а те, в свою очередь, на разделы. Раздел содержит единицы хранения, среди которых присутствуют повторно используемые при разработке и сопровождении прикладных, а также базовых и специализированных инструментальных (интеллектуальных) сервисов компоненты: решатели задач, агенты, шаблоны сообщений, посредством которых агенты взаимодействуют между собой, а также другие единицы хранения (базы знаний и данных, онтологии и т.п.), которые могут быть двух типов – представляющие метаинформацию и информацию.
- Сервисный уровень. Данный уровень представляет собой совокупность сервисов, каждый из которых представлен множеством взаимодействующих агентов, обрабатывающих информационные ресурсы Фонда. Выделяются прикладные сервисы, создаваемые разработчиками для решения прикладных задач пользователей, а также базовые и специализированные инструментальные сервисы, обеспечивающие поддержку соответствующих технологий разработки сервисов и необходимые для развития Фонда платформы.
- Уровень управления. Данный уровень представлен базовым инструментальным сервисом платформы Административная система, которая предназначена для обеспечения контролируемого доступа к функциональным возможностям платформы IACPaaS и управления правами доступа на использование прикладных и инструментальных сервисов, разработанных на базе данной платформы.
Базовая технология разработки прикладных и специализированных инструментальных облачных мультиагентных сервисов и их компонентов в общем случае включает следующие процессы: сборка интеллектуального сервиса из компонентов; разработка информационных ресурсов (обрабатываемых интеллектуальным сервисом); разработка решателя задач интеллектуального сервиса и его связывание с формальными параметрами и интерфейсом интеллектуального сервиса; разработка агентов решателя задач; разработка шаблонов сообщений; разработка интерфейса интеллектуального сервиса.
Список литературы
1. Грибова В.В., Клещев А.С., Шалфеева Е.А. Управление интеллектуальными системами // Известия РАН. Теории и системы управления. – 2010. – №6. – С.122-137.
2. Грибова В.В., Клещев А.С. Технология разработки интеллектуальных сервисов, ориентированных на декларативные предметные базы знаний. Часть 1. Информационные ресурсы // Информационные технологии. – 2013. – №9. – С.7-11.
3. Грибова В.В., Клещев А.С. Технология разработки интеллектуальных сервисов, ориентированных на декларативные предметные базы знаний. Часть 2. Решатель задач. Пользовательский интерфейс // Информационные технологии. – 2013. – №10. – С.10-14.
4. Musen M. Technology for building intelligent systems: from psychology to engineering // Nebraska Symposium on Motivation. B. Shuart, W. Spaulding, and J. Poland, Eds. Lincoln, Nebraska: U Nebraska P. – 2009. – Vol.52. – P.145-184.
5. Rajendra M. Sonar An Enterprise Intelligent System Development and Solu-tion Framework// International journal of applied science, engineering and technology. – 2007. – Vol.4. – N.1. – P.34-39.
6. Robert J. Schalkoff Intelligent Systems: Principles, Paradigms and Pragmatics// Sudbury, Mass. Jones and Bartlett Publishers, 2011. – 758p.
7. The Protégé Ontology Editor and Knowledge Acquisition System [Электронный ресурс]. URL: http://protege.stanford.edu/ (дата обращения: 18.02.2015).
8. Орлов В.А., Клещев А.С. Компьютерные банки знаний. Универсальный подход к решению проблемы редактирования информации. – Информационные технологии. – 2006. – №5 – С.25-31.
9. TopQuadrant [Электронный ресурс]. URL: http://www.topquadrant.com/ (дата обращения: 18.02.2015).
10. Sanderson D. Programming Google App Engine: Build and Run Scalable Web Apps on Google's Infrastructure. – Sebastopol, California : O'Reilly Media, 2009. – 394p.
11. Орлов В.А., Клещев А.С. Компьютерные банки знаний. Многоцелевой банк знаний // Информационные технологии. – 2006. – №2. – С.2-8.
12. Голенков В.В., Гулякина Н.А. Проект открытой семантической технологии компонентного проектирования интеллектуальных систем. Часть 1: Принципы создания // Онтология проектирования. – 2014. – №1(11). – С. 42-64.
13. Голенков В.В., Гулякина Н.А. Проект открытой семантической технологии компонентного проектирования интеллектуальных систем. Часть 2: Унифицированные модели проектирования // Онтология проектирования. – 2014. – №4(14). – С.34-53.
14. Грибова В.В., Клещев А.С., Крылов Д.А., Москаленко Ф.М., Смагин С.В., Тимченко В.А., Тютюнник М.Б., Шалфеева Е.А. Проект IACPaaS. Комплекс для интеллектуальных систем на основе облачных вычислений // Искусственный интеллект и принятие решений. – 2011. – №1. – С.27-35.
15. Gribova V.V., Kleschev A.S., Krylov D.A., Moskalenko Ph.M., Timchenko V.A., Shalfeyeva E.A., Goldstein M.L. A software platform for the development of intelligent multi-agent internet-services // Proceedings of the Distributed Intelligent Systems and Technologies Workshop (DIST’2013). – 1-4 July 2013. – St. Petersburg, Russia. – P.29-36.
16. Rozenberg G., editor. Handbook of Graph Grammars and Computing by Graph Transformation, Vol.1: Foundations, World Scientific Publishing Co. Pte. Ltd., 1997. – 572p.
17. Ehrig H., Engels G., Kreowski H.-J., Rozenberg G. (eds.). Handbook on Graph Grammars and Computing by Graph Transformation, Vol.2: Applications, Languages and Tools. World Scientific, 1999.
18. Agrawal A., Vizhanyo A., Kalmar Z., Shi F., Narayanan A., Karsai G. Reusable Idioms and Patterns in Graph Transformation Languages. Electronic Notes in Theoretical Computer Science. – 2005. – N.127(1). – P.181-192.
19. Klempien-Hinrichs R., Kreowski H.-J., Kuske S. Rule-Based Trans-formation of Graphs and the Product Type // In Transformation of knowledge, information and data: Theory and Applications / Patrick van Bommel. – Information Science Publishing. – 2005. – P.29-51.
20. Atkinson C., Kuhne T. Model-driven development: A metamodeling foundation // IEEE Software. – September, 2003. – Vol.20. – Issue 5. –P.36-41.
21. Kleppe A., Warmer S., Bast W. MDA Explained. The Model Driven Architecture: Practice and Promise. Addison-Wesley, 2003. – 192p.
22. Varro D., Pataricza A. VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML // Journal of Software and Systems Modeling. – 2003. Vol.2(3). – P.187-210.
23. Muller P.-A., Fleurey F., Jezequel J.-M. Weaving Executability into Object-Oriented Metalanguages // ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems, Montego Bay, Jamaica. – 2005. – P.264-278.
24. MDA web site [Электронный ресурс]. URL: http://www.omg.org/mda (дата обращения: 18.02.2015).
Документация по проекту представлена в разделе проектной документации.
Планы тестирования подсистем, а также результаты их выполнения, представлены в разделе технической документации.