Модели онтологий для представления информации состоят из модели онтологии WIMP-интерфейсов, модели онтологии для формирования текстов и модели онтологии графических(статических и динамических) сцен на плоскости.
Модель онтологии WIMP- интерфейсов. Модель онтологии WIMP-интерфейсов состоит из двух уровней: метаонтологии, предназначенной для описания структуры интерфейсных элементов и непосредственно онтологии, содержащей описание множества интерфейсных элементов в соответствии со структурой, представленной в метаонтологии [56].
Модель метаонтологии WIMP-интерфейсов (ОПР) - это множество элементов интерфейса, Controls={Controli} .
Каждый элемент интерфейса Controli=< Controltypei, Parametersi, Eventsi, Functionsi >, где Controltypei– тип элемента интерфейса, Parametersi – множество параметров, Parametersi={Paramij} , Eventsi – множество событий, Eventsi={Eventij} , Functionsi – множество функций, Functionsi={Functionij} .
Тип элементов интерфейса Controltypei может быть «Окно-контейнер», «Элемент управления», «Вспомогательный элемент», т.е. Controltypei Î {Окно-контейнер, Элемент управления, Вспомогательный элемент}.
Элементы интерфейса типа «Окно-контейнер» (далее «окна») предназначены для группировки элементов интерфейса в семантически связанные группы. Каждое окно содержит группу вложенных элементов интерфейса типа «Элемент управления» или «Вспомогательный элемент» и представляется в виде прямоугольной области экрана.
Элементы интерфейса типа «Элемент управления» (далее «элементы управления») предназначены для операций ввода/вывода данных и вызова команд, элементы управления могут присутствовать в интерфейсе только в составе окна.
Элементы интерфейса типа «Вспомогательный элемент» (далее «вспомогательные элементы») используются в качестве компонентов окон и элементов управления; вспомогательные элементы могут присутствовать в интерфейсе только в составе окна или элемента управления.
Каждый параметр элемента интерфейса Parami описывается своим типом и значением, т.е. Parami=< Param_Valuei, Param_Typei >, где Param_Valuei – значение параметра, Param_Typei - тип параметра.
Тип параметра элемента интерфейса Param_Typei Î Param_Type, где Param_Type = String È Integer È Float È Boolean È Image È Enumeration È Controls. Значением параметра Param_Value типа «String» является последовательность символов, допустимых реализацией, значением параметра Param_Value типа «Integer» является некоторое целое число из множества целых чисел, допустимых реализацией, значением параметра Param_Value типа «Float» является некоторое вещественное число из множества вещественных чисел, допустимых реализацией, значением параметра Param_Value типа «Boolean» является элемент множества {Истина, Ложь}, значением параметра Param_Value типа «Image» является графическое представление элемента интерфейса, определяемое реализацией, значением параметра Param_Value типа «Enumeration» является некоторое значение из множества заданных при описании элемента интерфейса значений.
События элемента интерфейса Eventsi={Eventij} задают множество возможных реакций элемента интерфейса на события, возникающие в ходе взаимодействия с пользователем.
Каждое событие Eventij описывается следующим образом: Eventij=< Event_Nameij, Event_Parametersij >. Event_Nameij – имя события, Event_Parametersij – множество параметров события.
Множество Event_Parametersij = {Event_Parameterijk } . Каждый параметр задается своим именем и типом: Event_Parameterijk=<Event_Param_Nameijk, Param_Typeijk>, где Event_Param_Nameijk – уникальное имя параметра, Param_Typeijk - тип параметра, Param_Typeijk Î Param_Type.
Функции элемента интерфейса Functionsi описывают множество возможных действий, которые могут производиться над ним, Functionsi={Functionij} .
Каждая функция Functionij описывается следующим образом: Functionij = <Function_Nameij, Function_Parametersij, Function_Return_Typeij>. Function_Nameij – имя функции, Function_Parametersij – параметры функции, Function_Return_Typeij – тип значения, возвращаемого функцией, Function_Return_Typeij Î Func_Type.
Параметры функции Function_Parametersij могут состоять из множества параметров функции, Function_Parametersij = {Function_Parameterijk} . Каждый параметр функции Function_Parameterijk описывается своим типом и значением, т.е. Function_Parameterijk=<FuncParam_Valueijk, FuncParam_Typeijk>, где FuncParam_Valueijk – значение параметра, FuncParam_Typeijk - тип параметра, FuncParam_Typeijk Î Func_Type.
Тип параметра функции Func_Type может быть одним из следующих: Func_Type = String È Integer È Float È Boolean.
Модель онтологии WIMP-интерфейсов – описание множества конкретных элементов интерфейса, которые используются при проектировании интерфейса, приведена в Приложении 2.
Модель онтологии для формирования текстов. Модель онтологии для формирования текстов TextGen определяется конструкциями двух типов TextGen={MainConsrtuctions, AdditionalConstructions}, где MainConsrtuctions – основные конструкции для формирования текста, AdditionalConstructions – дополнительные конструкции.
Основные конструкции MainConsrtuctions состоят из множества конструкций, предназначенных для описания структуры и способа порождения текста на основе результатов (выходных данных прикладной программы).
Дополнительные конструкции AdditionalConstructions состоят из множества конструкций, предназначенных для форматирования текста, задания формата представления результатов, внесения в текст дополнительной информации, т.к. создание оглавления, вставка рисунков, таблиц, заранее определенных фрагментов текста и др. Данные конструкции в модели онтологии не рассматриваются и определяются конкретной реализацией (см. гл. 6).
Основные конструкции модели онтологии MainConsrtuctions={SimpleCon, CompoundCon} состоят из простой конструкции «строковая константа» SimpleCon=String, которая предназначена для вывода в тексте фиксированных фраз (например, «заключительный диагноз», «опровергнутое заболевание» и т.д.) и сложной конструкции CompoundCon.
Сложная конструкция CompoundCon определяется парой CompoundCon=<OutDatAn, DefAction>, где OutDatAn задает условия анализа результатов (выходных данных прикладной программы), DefAction определяет действия, выполняемые по результатам их анализа.
Конструкция OutDatAn в общем случае имеет вид: OutDatAn =<NameRel, Parameters_Def, Condition>, где NameRel - имя отношения, представляющего выходные данные прикладной программы, Parameters_Def – описание параметров отношения, Condition –условие, накладываемое на множество значений параметров.
Параметры отношения определяются следующим образом: Parameters_Def =<NamePari, TypePari> . NamePari - имя параметра отношения NameRel, управляющего условиями анализа и формирования текста, TypePari – тип параметра. Выделены следующие типы параметров TypePari={DirectivePari, ExtraPari, AnonymousPari}, где DirectivePari – управляющий параметр, ExtraPari – вспомогательный параметр, AnonymousPari – анонимный параметр.
Управляющий параметр DirectivePari указывает на параметр, множество значений которого будет либо вставлено в генерируемый текст, либо являться условиями формирования текста в зависимости от действий, заданных в DefAction; ExtraPari – указывают на параметр, значения которого формируются на основе значений DirectivePari; анонимные параметры AnonymousPari - параметры, значения которых не учитываются при формировании текста в DefAction.
Условие Condition=alph/ ap_pr/ <value1, value2,…,valuex>, где Сondition=alph означает упорядочение множества значений управляющего параметра DirectivePar в генерируемом тексте по алфавиту. Condition= ap_pr означает сохранение порядка множества значений управляющего параметра с порядком множества этих значений в результатах прикладной программы. Condition= <value1, value2,…,valuex> означает упорядочение множества значений управляющего параметра DirectivePari в порядке, указанном в этом условии.
Действия DefAction = {InsetVal, CycleVal, AlternVal}, где действие DefАction=InsetVal предназначено для перечисления в тексте в соответствии с условием Condition множества значений управляющего параметра DirectivePar; тип действия DefАction= AlternVal предназначен для формирования текста в зависимости от различных альтернативных условий, заданных при описании; тип действия DefАction= CycleVal предназначен для формирования циклически повторяемых фрагментов текста, при этом каждое повторение текста изменяется в соответствии с условиями, заданным при описании (см. ниже).
Описание действия «выводимое множество» DefAction= InsetVal означает вставку в генерируемый текст множества значений управляющего параметра DirectivePar из OutDatAn - описания условий анализа результатов прикладной программы.
Описание действия «цикл» имеет вид: CycleVal = =<Constrcyclei> , т.е. CycleVal это последовательность конструкций, ConstrcycleiÎMainConsrtuctions. Количество выполнений данного действия определяется множеством значений управляющего параметра. При каждом выполнении действия «цикл» управляющий параметр DirectivePar получает очередное значение из множества своих значений; содержание изменяемой информации определяется значением управляющего параметра DirectivePar при очередном выполнении действия «цикл».
Описание действия «альтернатива» AlternVal имеет вид: AlternVal = <Alterni> , где <Alterni> - описание альтернатив. Описание каждой альтернативы состоит из двух частей - множества условий выбора Alterncondi и варианта Casealterni, т.е. Alterni=<Alterncondi, Casealterni>, где 1<=i<=alterncount. Множество условий выбора Alterncondi =N/{val1, val2,…,valn}/Sign, где N- целое, обозначающее число значений управляющего параметра DirectivePar; {val1, val2,…,valn} –множество возможных значений, которые может принимать управляющий параметр по результатам работы прикладной программы; Sign - некоторая метка.
Вариант Casealterni=<Constralternij> - это последовательность конструкций, ConstralterniÎMainConsrtuctions, которые будут выполняться, если значения управляющего параметра Parameters_Def удовлетворяют условию выбора Alterncondi. Если значения управляющего параметра DirectivePar не удовлетворяют ни одному из условий выбора Alterncondv, 1<=v<=alterncout-1, то выполняется вариант Alterncondk=alterncount =Sign.
Модель онтологии графических статических и динамических сцен на плоскости. При описании модели используются следующие типы переменных: Z – множество всех целых чисел; N– множество всех натуральных чисел; R– множество всех действительных чисел; – множество всех строк; – множество всех графических рисунков; – множество всех цветов; – множество всех координат; – логический тип; – множество всех типов линий (например: сплошная, пунктирная, штрихпунктирная); – множество всех толщин линий (например: 0.5pt, 1pt, 1.5pt); – множество всех геометрических фигур (например: прямоугольник, круг, овал).
База это восьмерка элементов, имеющая вид:
где – имя базы, – образ базового изображения, – координаты точки отсчета, – масштаб расстояния (см. формулу 1.1), – масштаб времени (см. формулу 1.2), – формат времени, – множество простых фрагментов базы (см. формулу 1.3), – множество составных фрагментов базы (см. формулу 1.4).
Масштаб расстояния определяет отношение объектов графической сцены к реальной величине объектов и имеет следующие составляющие:
где – масштабный коэффициент, – тип визуального расстояния сцены, – тип реального расстояния.
Масштаб времени – это соотношение временных рамок процесса к реальному времени. Масштаб времени имеет вид:
где – масштабный коэффициент, – тип реального времени сцены, – тип виртуального времени сцены.
Множество простых фрагментов имеет вид:
где – имя простого фрагмента, – номер части образа базы.
Множество составных фрагментов имеет вид:
где – имя составного фрагмента, – множество простых фрагментов входящих в составной фрагмент.
Множество наполнений имеет вид:
где – имя наполнения, – цвет заливки, – текстура.
Количественные характеристики задаются множеством:
где – имя количественной характеристики, – левая граница интервала, – правая граница интервала.
Множество предопределенных примитивов имеет вид:
где – имя предопределенного примитива, – маршрут движения (см. формулу 4.1), – цвет линии маршрута, – тип линии маршрута, – толщина линии маршрута, – авто-поворот при движении, – множество дополнительных свойств примитива (см. формулу 4.3), – орбаз, – позиция, – координаты предопределенного примитива на базе, – начальный спрайт, – множество спрайтов (см. формулу 4.4), – множество трансформаций (см. формулу 4.5), – множество цветов (см. формулу 4.6), – множество областей (см. формулу 4.7).
Маршрут движения задается упорядоченным множеством точек:
где – координаты точки, – отображение маршрута после прохождения примитива через данную точку маршрута, – скорость примитива после прохождения через данную точку маршрута (см. формулу 4.2), – дата в масштабе времени сцены, указывающая момент прохождения примитива через данную точку маршрута.
Скорость примитива определяется следующим образом:
где – коэффициент скорости.
Дополнительные свойства примитива определяются множеством:
где – имя дополнительного свойства примитива, – тип свойства.
Множество спрайтов предопределенного примитива имеет вид:
где – имя спрайта, – образ спрайта, – вектор движения.
Множество трансформаций предопределенного примитива имеет вид:
где – имя трансформации, – угол вращения изображения, – смещение координат изображения, – масштаб изображения.
Множество цветов предопределенного примитива имеет вид:
где – имя цвета, – цвет.
Множество областей предопределенного примитива имеет вид:
где – имя области, – фигура области, – множество условий наложенных на область (см. формулу 4.8),
Множество условий, наложенных на области, имеет вид:
где – посылка условия (условие), – заключение условия (действие).
где – операция сравнения,
– логическая операция конъюнкция (дизъюнкция) над двумя выражениями.
– константа
– арифметическая операция, которая применима только к атрибутам, тип которых – число.
Множество строящихся примитивов имеет вид:
где – имя строящегося примитива, – маршрут движения (аналогично формуле 4.1), – цвет линии маршрута, – тип линии маршрута, – толщина линии маршрута, – авто-поворот при движении, – дополнительные свойства примитива (аналогично формуле 4.3), – геометрическая фигура, – цвет линий, – цвет фона.