- •Композиционное проектирование информационных систем: методы и средства
- •Введение
- •Основания метода композиционного проектирования ис
- •Композиционное исчисление спецификаций
- •Онтологическое согласование контекстов
- •Архитектура средств поддержки композиционного метода
- •Особенности этапа конструирования
- •Этап реализации
- •База метаданных
- •Родственные работы
- •Заключение
- •Литература
Основания метода композиционного проектирования ис
Основной отличительной особенностью рассматриваемого метода является применение композиции фрагментов спецификаций компонентов для получения спецификаций, уточняющих спецификации требований. Известные методы компонентно-базированного проектирования (напрмер, JavaBeans) конструируют агрегаты компонентов иначе, соединяя порты компонентов друг с другом, или рассматривая их взаимодействие на основе контрактов [6].
Уточняющие спецификации, образуемые при композиционном проектировании, согласно теории уточнения, могут использоваться всюду вместо уточняемых спецификаций требований, так что пользователи не замечают этой замены. Методы уточнения [7] позволяют формально устанавливать факт уточнения, гарантируя адекватность полученных спецификаций требуемым.
2.1 Средства представления спецификаций
В рассматриваемом методе полные спецификации задаются на языке СИНТЕЗ [8]. Это – гибридный язык, позволяющий задавать спецификации программных компонентов, коллекций данных, процессов (потоков работ). Средства спецификации абстрактных типов данных и классов, а также объектное исчисление составляют основу языка. Использование в языке фреймов как самоопределяемых значений наряду со строго типизированными значениями позволяет сочетать представление слабоструктурированных данных и объектов в одной модели. Эта особенность важна для представления информационных компонентов, характерных для WWW.
Язык СИНТЕЗ используется для представления различных видов спецификаций в процессе проектирования, включая спецификации требований, спецификации компонентов, онтологические спецификации. Отображение спецификаций на языке СИНТЕЗ в нотацию абстрактных машин B-технологии [9,10] используется для доказательства отношения уточнения, связывающего пару спецификаций. Этого достаточно для программных (алгоритмических) компонентов. Процессные компоненты, являющиеся интерактивными, требуют других формальных нотаций
(например, процессных алгебр) для установления факта бисимуляции процессов [11,
12].
Композиционное исчисление спецификаций
Проектирование есть процесс систематического манипулирования и трансформации спецификаций. Композиционный метод использует спецификации типов канонической модели (языка СИНТЕЗ) в качестве основных элементов таких манипуляций. Требуемые преобразования включают декомпозицию спецификаций типов в их правильные фрагменты, идентификацию фрагментов для повторного использования, композицию идентифицированных фрагментов в спецификации, уточняющие требования, проверку факта уточнения - возможности подстановки полученных спецификаций вместо спецификаций требований. Композиционное
исчисление спецификаций [13], разработанное для осуществления таких манипуляций, использует следующие основные операции и понятия.
Редуцирование спецификаций. Редукт RT спецификации типа T определяется как подмножество этой спецификации с редуцированным набором операций. Операция получения редукта осуществляет декомпозицию спецификаций типов во множество фрагментов (редуктов), являющихся правильными спецификациями. Редукт RT становится супертипом типа T.
Нахождение общего редукта. Общий редукт типов T1, T2 есть редукт RT1 типа T1 - такой, что существует редукт RT2 типа T2, являющийся уточнением редукта RT1.
Редукт RT2 называется сопряженным с общим редуктом.
Наиболее общим редуктом RMC(T1,T2) для типов T1, T2 называется редукт RT1 типа
T1 такой, что существует редукт RT2 типа T2 который является уточнением редукта
RT1 и не существует другого редукта R’T1 такого, что RMC(T1,T2) являлся бы редуктом R’T1, так что R’T1 не был бы равен RMC(T1,T2) и существовал бы R’T2, являющийся уточнением редукта R’T1.
Понятие наиболее общего редукта является фундаментальным для композиционного проектирования: оно составляет базис для определения повторно используемых фрагментов спецификаций компонентов.
Операция композиции спецификаций meet. Операция T1 ⊓ T2 образует тип T как пересечение спецификаций типов-операндов. Тип T образуется слиянием двух наиболее общих редуктов типов T1 и T2 : RMC(T1,T2) и RMC(T2,T1). Слияние двух редуктов включает в себя объединение множеств их операций. Если в объединении находятся две операции, состоящие в отношении уточнения, то только одна из них – более абстрактная – включается в результирующий тип T. Инварианты результирующего типа формируются как дизъюнкция инвариантов, взятых из спецификаций наиболее общих редуктов.
Операция композиции спецификаций join. Операция T1 ⊔ T2 образует тип T как объединение спецификаций типов-операндов. Тип T образуется слиянием спецификаций типов T1 и T2. Общие элементы спецификаций типов T1 и T2 включаются в результирующий тип только один раз. Общие элементы определяются посредством слияния сопряженных редуктов двух наиболее общих редуктов типов T1 и T2 : RMC(T1,T2) и RMC(T2,T1). Слияние сопряженных редуктов включает в себя объединение множеств их операций. Если в объединении находятся две операции, состоящие в отношении уточнения, то только одна из них – более конкретная – включается в результирующий тип T. Инварианты результирующего типа формируются как конъюнкция инвариантов, взятых из спецификаций типов операндов T1 и T2.
Операции композиционного исчисления позволяют образовать решетку типов на основе отношения подтипа (как отношения частичного порядка). Так, тип T - результат meet (join) помещается в решетке типов как прямой супертип (подтип) типов-операндов и как прямой подтип (супертип) всех общих прямых супертипов (подтипов) типов-операндов.
