Слайд 2Технологии промежуточного слоя
Промежуточный слой расположен между операционной системой и прикладными системами
Обеспечивает
техническую возможность конструирования распределенных, интероперабельных ИС
Позволяет накапливать репозитории компонентов для их дальнейшего использования при создании новых ИС
Виды промежуточного слоя
Транзакционно-ориентированные
Ориентированные на сообщения
Объектно-ориентированные
CORBA, Java RMI, .NET
XML-ориентированные
Web Services
Слайд 3Средства проектирования ИС из компонентов
Методы и средства компонентно-базированного проектирования ИС
Microsoft's Visual Studio
Borland's
JBuilder
Основные ограничения
не позволяют автоматически устранять различия в спецификациях накопленных компонентов и в спецификациях требований;
не направлены на создание корректных композиций компонентов и их фрагментов, уточняющих спецификации требований;
не обеспечивают масштабируемого обнаружения компонентов, семантически соответствующих требуемому применению;
являются ориентированными на конкретную архитектуру промежуточного слоя.
Слайд 4Композиционный подход
Композиционный подход к проектированию ИС из компонентов, технически интероперабельных в рамках
некоторого промежуточного слоя
Необходимо решение следующих задач:
разработка алгоритмов поиска компонентов, онтологически релевантных спецификации требований;
разработка алгоритмов разрешения конфликтов между спецификациями требований и компонентов;
разработка алгоритмов выявления фрагментов спецификации компонентов, которые могли бы служить уточнением соответствующих фрагментов спецификации требований;
разработка алгоритмов построения композиции таких фрагментов в спецификацию, уточняющую спецификацию требований;
создание инструментария эксперта-конструктора ИС на основе перечисленных алгоритмов.
Слайд 5Схема композиционного подхода к проектированию ИС
Слайд 6Поиск онтологически релевантных элементов
Онтологическая модель служит основой для поиска спецификаций релевантных информационных
компонентов и их фрагментов
Нужен алгоритм отображения онтологических понятий спецификации требований (и компонентов) в понятия общей онтологии
Требуется алгоритм установления ассоциаций между понятиями спецификации требований и компонентов на основе композиции ассоциаций между понятиями
Нужен алгоритм установления ассоциаций между элементами схем спецификации требований и компонентов
Слайд 7Онтологическая модель
С каждым элементом спецификации требований и компонентов связывается соответствующее онтологическое понятие
(аннотация элемента)
Спецификация онтологического понятия содержит:
описание на естественном языке
ассоциации обобщения/специализации
позитивные ассоциации
Использование близких по смыслу онтологических спецификаций в разных компонентах является необходимой предпосылкой корректной взаимной интерпретации элементов спецификаций
Слайд 8Установления ассоциаций между онтологическими понятиями
Функция позитивной корреляции
sim(X,Y) = (Cx,Cy) / |Cx|*|Cy|
Функции вычисления
ассоциаций обобщения/специализации
r(X,Y) = Σi(min(Cxi,Cyi)) / |Cx|
r(Y,X) = Σi(min(Cxi,Cyi)) / |Cy|
Слайд 9Разрешение конфликтов между спецификациями
Необходим метод разрешения различных рассогласований между спецификациями требований и
компонентов
Набор правил структурных преобразований между спецификациями требований и компонентов
Алгоритм автоматического разрешения структурных конфликтов
Слайд 10Метод разрешения конфликтов
Виды конфликтов
структурные конфликты
конфликты значений
конфликты поведения
Подходы к разрешению конфликтов
применение языка высокого
уровня для описания функций разрешения конфликтов
применение набора предопределенных правил структурных преобразований
Слайд 11Пример разрешения структурного конфликта
get_in_street: {in: function;
params: {+y/University, -returns/Organization.in_street};
{{ returns =
y.address.street }}
}
Слайд 12Пример правила структурных преобразований
Условия потенциальной релевантности путей
полнота
ацикличность
минимальность
Путь X0...X1 релевантен пути Y0...Y1, если
они удовлетворяют условию потенциальной релевантности и имеют следующий вид:
X0–a1→X1 ~ Y0(–b→| ⇒)*Y3–b1→Y1
При этом автоматически конструируемая функция разрешения конфликтов имеет следующий вид:
get_a1: {in: function;
params: {+y/Y0, -returns/X1};
{{ returns = y(.b)*.b1 }}}
Слайд 13Конструирование композиций компонентов
Конструирование композиции фрагментов спецификации компонентов с использованием операций над типами
Алгоритм конструирования наибольшего общего редукта
Алгоритмы реализации операций над типами: объединения (join) и пересечения (meet) двух спецификаций типов-операндов
Алгоритм конструирования уточняющих композиций спецификаций как программных, так и информационных компонентов
Слайд 14Подход к конструированию композиций компонентов
Процесс конструирования основан на выявлении фрагментов спецификаций существующих
компонентов и их дальнейшей композиции, уточняющей спецификацию требований.
Для этого используются операции над типами, ведущими к трансформации их спецификаций – операции декомпозиции и композиции.
Уточняющие спецификации, образуемые при конструировании, согласно теории уточнения, могут использоваться всюду вместо уточняемых спецификаций требований, так что пользователи не замечают этой замены.
Слайд 15Операции над спецификациями типов
Редукт RT типа T определяется как подсигнатура сигнатуры типа,
при этом множество атрибутов редукта является подмножеством множества атрибутов типа, множество функций редукта является подмножеством множества функций типа, множество предикатов редукта является подмножеством множества предикатов типа.
Общий редукт для типов T1, T2 есть редукт RT1 типа T1 такой, что существует редукт RT2 типа T2, при этом редукт RT2 является уточнением редукта RT1
Наибольший общий редукт RMC(T1,T2)
Операция meet. Операция T1 ⊓ T2 образует тип T как пересечение спецификаций типов-операндов. Тип T образуется слиянием двух наиболее общих редуктов типов T1 и T2 : RMC(T1,T2) и RMC(T2,T1) – включающее в себя объединение множеств их операций и дизъюнкцию инвариантов.
Операция join
Слайд 16Иерархия спецификаций композиционных типов
Слайд 17Архитектура инструментария эксперта-конструктора ИС