- •Композиционное проектирование информационных систем: методы и средства
- •Введение
- •Основания метода композиционного проектирования ис
- •Композиционное исчисление спецификаций
- •Онтологическое согласование контекстов
- •Архитектура средств поддержки композиционного метода
- •Особенности этапа конструирования
- •Этап реализации
- •База метаданных
- •Родственные работы
- •Заключение
- •Литература
УДК
Композиционное проектирование информационных систем: методы и средства
Брюхов Д.О., Калиниченко Л.А., Скворцов Н.А.
Введение
Идея конструирования информационных систем (ИС) из компонентов развивается на протяхении многих лет. По-существу, речь идет о мегапрограммировании (Д.Видерхольд) – крупноблочном конструировании систем. Согласно этой идее, целесообразнее осуществлять капиталовложения в создание компонентов, которые можно было бы многократно использовать, чем всякий раз осуществлять разработку ИС сверху – вниз: от спецификаций требований к работающей системе. Несмотря на очевидную привлекательность идеи и многочисленные исследования и разработки в этой области, достигнутые результаты не соответствуют существенно возросшим в последнее время технологическим возможностям.
Сеть Интернет наводнена компонентами. Так, новейшие технологии обеспечивают техническую возможность интероперабельного использования как программных (OMG CORBA), так и информационных компонентов (WWW). Технологии CORBA и WWW интегрированы и используются совместно при создании ИС. Стандартный язык определения интерфейсов объектов (IDL) позволяет накапливать репозитории спецификаций интерфейсов серверов, не зависящих от их реализационных платформ и языков программирования. Брокеры объектных заявок архитектуры CORBA обеспечивают техническую возможность конструирования распределенных, интероперабельных ИС из таких объектов. Развитие WWW уже в ближайшем будущем позволит рассматривать WWW как базу данных с моделью данных, соответствующей стандарту XML [1]. Сайты WWW образуют информационные компоненты, пригодные для использования в составе ИС.
Наряду с программными и информационными компонентами, существенное развитие получили процессные компоненты. Наиболее ярким технологическим примером таковых являются потоки работ (workflows), поддержанные многочисленными программными продуктами на рынке. Процессы, реализованные как потоки работ, являются важными компонентами ИС. Усилиями OMG и WfMC [2,3] унифицированы языки спецификаций процессов, что позволяет рассматривать потоки работ как компоненты с целью их интероперабельного, многократного использования в составе ИС.
Что же достигнуто в области конструирования ИС из компонентов. Главным образом развиваются методы и средства компонентно-базированного проектирования программ. Из названных трех важнейших видов компонентов ИС традиционно рассматриваются программные компоненты. Примером таких технологий являются Microsoft’s ActiveX и SunSoft’s JavaBeans. Существующие средства создания программ, такие как Microsoft’s Visual Basic, Inprise's Delphi и Protosoft's Power Builder позволяют конструировать программы из готовых графических компонентов, включая компоненты ActiveX и JavaBeans.
Отличительной чертой этих средств является их ориентированность на неполные спецификации компонентов и предварительное, детальное знание программистом возможностей этих компонентов. Эти средства хороши для работы с “локальными” библиотеками, предполагая их хорошее знание разработчиком. Такой подход является также небезопасным, поскольку из-за неполноты спецификаций невозможно убедиться в адекватности компонентов спецификации требований. Так, взрыв ракеты Ariane 5 при выводе на орбиту произошел из-за неправильного повторного использованием одного из программных модулей.
Наряду с такими технологиями, методы Объектного Анализа и Проектирования
(ОАП).предлагают графические нотации и методологии для проектирования ИС на протяжении всех этапов жизненного цикла. Основной используемой нотацией методов ОАП в последнее время является унифицированный язык UML [4]. По сути, эти методы реализуют традиционное проектирование сверху – вниз. Средства, которые предоставляются методами ОАП (такими, например, как Rational Rose от Rational Software и Paradigm Plus от Platinum) для повторного использования, требуют глубокого знания разработчиком используемых компонентов, что находит применение для использования библиотек программ (например, использование графических библиотек в средствах визуального проектирования). Часто названные средства используются комбинированно - анализ и проектирование ИС осуществляется на основе методов ОАП, а реализация системы осуществляется с использованием средств визуального программирования (например, Delphi, Power
Builder).
Таким образом, известные методы и средства не позволяют использовать потенциальные возможности компонентов, накапливемых в Интернет, не являются масштабируемыми по числу накопленных компонентов, не позволяют конструировать системы из компонентов различных видов – программных, информационных, процессных, являются небезопасными.
В данной статье рассматривается разрабатываемый в рамках проекта СИНТЕЗ метод проектирования ИС, называемый композиционным. Этот метод ориентирован на устранение указанных основных недостатков существующих подходов. Метод СИНТЕЗ [5] предназначен для корректной композиции существующих компонентов, семантически интероперабельных в контексте конкретного применения. В отличие от системной, технической интероперабельности (обеспечиваемой CORBA) в проекте СИНТЕЗ рассматривается интероперабельность в более широком, семантическом аспекте. Семантическая интероперабельность означает комбинацию нескольких способностей: способности решения вопроса о релевантности имеющихся компонентов разрабатываемому применению, о соответствии их прикладных контекстов контексту применения, а также о том, что интероперабельная композиция ресурсов будет непротиворечивой в контексте разрабатываемого применения.
Основными отличительными особенностями данного метода от известных методов ОАП и методов компонентно-базированного проектирования являются:
использование полных спецификаций, обеспечивающих корректность использования существующих компонентов в разрабатываемых системах;
наличие репозитория (возможно, распределенного) полных спецификаций существующих компонентов;
поиск в репозитарии компонентов, релевантных спецификации требований;
выявление фрагментов компонентов, которые могли бы служить уточнением соответствующих фрагментов спецификации требований;
разрешение различных рассогласований в спецификациях таких фрагментов компонентов и фрагментов применения;
обеспечение композиции повторно используемых фрагментов в спецификацию, конкретизирующую спецификацию требований;
поддержка доказательства правильности построенной конкретизации с использованием формальных методов;
конструирование реализации информационной системы в среде CORBA как интероперабельной совокупности адаптеров (wrappers) над существующими компонентами в Интернет (интранет).
