Диссертация (1136162), страница 67
Текст из файла (страница 67)
Внашем рассмотрении ограничимся описанием связей лишь для двух переменных – ключевыхатрибутов исходных классов. Кроме того, определим только бинарное отношение R2 между двумяклассами K и K (более громоздкие отношения строятся по индукции на его основе):R2 = R(K, K) = r:[k,k] .( k:T) (k:T) (r[k,k]Ψ) = {[k:T,k:T]|Ψ},где: k:T,k:T– ключевые атрибуты классов и Km и Kn с типами соответственно T и T; Ψ – критерий принадлежности объекта отношению R2.Естественно, полностью построенное отношение имеет тип R:[T1,…,Tm,T1,…,Tn], гдеK:[T1,…,Tm] и K:[T1,…,Tn].Заметим, что в случае совпадения ключевых атрибутов (например, в результатеэквисоединения) при построении отношения эти атрибуты не дублируются.
Общая схемапостроения бинарного отношения аналогична описанию класса K (выше приведено определениедля связи его объектов по ключевым атрибутам).Заметим также, что отношение R2 можно графически представить в форме функциональногофрейма, содержащего два характеристических подфрейма вида «атрибут – значение», связанныхфункцией (предикатом), имя которой соответствует названию отношения.Построим отношение «Обрабатывать» между классами «Сотрудник» и «Договор» поситуации «Сотрудник обрабатывает договор»:R(С,E) = r:[kC, kE] .(kC:Z) (kE:Z) (r[kC,kE] ) = {[kC:Z, kE:Z] | },где:kC – ключевой атрибут k класса C,kE – ключевой атрибут k класса E,а также имеет место естественное включение:R(С,E) ISA (kC:Z, nC:Z, dC:, sC:, fC:, kE:Z, nE:, dE:, pE:).В этом случае критерий принадлежности объекта отношению R(С,E) может иметь вид: = ((kC, nC, dC, sC, fC, kE, nE, dE, pE) ┴)или, в упрощенной форме: = ((kC, kE) ┴).Как и в предшествующих определениях, необходимо учитывать естественные ограниченияна атрибуты классов, составляющих отношение.
Кроме того, заметим, что тип переменной dCможно конкретизировать со строкового () до типа «Дата» (), а тип fC – до конечного множества115шрифтов = {«Arial», «Times», «Courier» ,…}; тип соответствует Интернет-адресу объектаданных в формате URL.Формирование ISA-иерархии классовISA-иерархия классов имеет вид:K1 ISA K2 ISA … Kn ISA K,где:Ki – классы, i=1,…n,K – тип, т.е. первичный (базисный, системный) класс.Аналогично строится ISA-иерархия для произвольных (как системных так и определенныхпользователями) типов, используемых для моделирования (мета)данных.В качестве примера рассмотрим иерархическую структуру подразделений корпорации:K0 ISA K1 ISA K2 ISA K3 ISA K4 ISA K5 ISA K6 K,где:K0 – «Сотрудник»,K1 – «Рабочая группа»,K2 – «Отдел»,K3 – «Департамент»,K4 – «Управление»,K5 – «Компания»,K6 K – «Корпорация».Построение шаблона информационной страницы порталаВ общем случае шаблон представляет собой список классов S = S(К1,…,Kn), при первойконкретизации шаблона происходит (частичное) означивание метаданных.
Шаблон длярассматриваемого примера может иметь следующий вид:S = S(P,C,E) s:[ kP,nP,hP,wP,kC,dC,fC,kE,nE,pE,fE].(kP:Z)(nP:)(hP:Z)(wP:Z)(kC:Z)(dC:)(fC:)(kE:Z)(nE:)(pE:)(fE:)(s[kP,nP,hP,wP,kC,dC,fC,kE,nE,pE,f E] Ψ) == {[kP,nP,hP,wP,kC,dC,fC,kE,nE,pE,f E] | Ψ} == λ shP swP sfC sfE . (kP,nP,shP/hP,swP/wP,kC,dC,sfC/fC,kE,nE,pE,sfE/f E),где:Ψ = (R(E,C) ┴) & R(E,P ┴) & (shP ISA Z) & (swP ISA Z) &( sfC ISA ) & (sfE ISA ) & (shP>0) & (swP>0);shP = «150» – высота изображения (в точках);swP = «75» – ширина изображения (в точках);sfC = “Arial 12 Bold” – шрифт (для отображения текста);sfE =“Arial 12 Bold”– шрифт (для отображения текста).116Заметим, что в данном примере приведен упрощенный критерий принадлежности объекташаблону. На практике используются более сложные критерии, с участием как других переменныхклассов P, C, E, так и переменных других классов предметной области. Кроме того, шаблоны дляизображения и шрифта предполагают наличие специализированных параметров – HTML-тегов –для оформления элементов контента (например, “FONT”, “IMG” и др.
с целым рядом атрибутов). Вданном примере они для наглядности заменены другими параметрами упрощенного вида.Выполнение запроса к хранилищу данныхТекст запроса на языке SQL к корпоративному хранилищу данных имеет вид:SELECTEMPLOYEE.EmpFio,EMPLOYEE.EmpTab#,CONTRACT.Contr#,PHOTO.PhotoEmpUrlFROMEMPLOYEE,CONTRACT,PHOTOWHERE(CONTRACT.ContrFinDate < Date(“Today”))& (CONTRACT.ContrRespEmpTab# = EMPLOYEE.EmpTab#)& (EMPLOYEE.EmpPhoto# = PHOTO.Photo#)Графическая иллюстрация запроса в табличной форме имеет вид:CONTRACTContr#ContrNameContrRespEmpTab#ContrFinDateEMPLOYEEEmpTab#EmpFioEmpPhoto#…PHOTOPhoto#EmpPhotoUrl……Выполним означивание шаблона страницы портала:V = V(S(P,E,C)) == v:[kP,nP,kC,dC,kE,nE,pE].(kP:Z)(nP:)(kC:Z)(dC:)(fC:)(kE:Z)(nE:)(pE:) (s[kP,nP,kC,dC,kE,nE,pE])= {[kP,nP,kC,dC,kE,nE,pE]|} == λ vkP,vnP,vkC,vdC,vkE,vnE,vpE.(vkP/kP,vnP/nP,shP,swP,vkC/kC,vdC/dC,sfC,vkE/kE,vnE/nE,vpE/pE,sfE),где:Ф = (R(E,C) ┴) & (R(E,P) ┴) & (vkP ISA Z) & (vnP ISA ) & (vkC ISA Z) & (vdC ISA ) &(vkE ISA ) & (vnE ISA ) & (vpE ISA ) & (vdC < “20/10/2006”) & (vnP=vpE) & (vrC=vkE)– критерий принадлежности страницы шаблону, причем:vkP = «00854» – ключ-идентификатор фотоизображения;vnP = «http://www.…iiivanov.jpg» – фото сотрудника (URL-ссылка на файл);vkC = «НГК /23 Д» – ключ-идентификатор договора;vdC = «9/0/2006» – дата завершения договора;vkE = «0854» – ключ-идентификатор сотрудника (табельный номер);vnE = «Иванов И.И.» – имя сотрудника (Ф.И.О.);117vpE = «http://www.…iiivanov.jpg» – фото сотрудника (URL-ссылка на файл).В данном случае предикат запроса Ф к хранилищу данных требует лишь определенностизначений своих аргументов и их соответствия заявленным в шаблоне типам (в т.ч.
необработанныхсотрудниками документов); дополнительные ограничения реализуются при помощи квантороввида [N], [>N], [<N], («ровно N», «по меньшей мере N», «не более N») и т.д.Построение информационной страницы порталаВ случае рассматриваемой предметной области, с учетом уже выполненного частичногоозначивания шаблона, значение веб-страницы имеет следующий вид:V = V(S(P,C,E)) == v:[kP,nP,kC,dC,kE,nE,pE].(kP:Z)(nP:)(kC:Z)(dC:)(fC:)(kE:Z)(nE:)(pE:)(s[kP,nP,kC,dC,kE,nE,pE])= {[kP,nP,kC,dC,kE,nE,pE] | } ==λ vkP,vnP,vkC,vdC,vkE,vnE,vpE.(vkP/kP,vnP/nP,shP,swP,vkC/kC,vdC/dC,sfC,vkE/kE,vnE/nE,vpE/pE,sfE),где: = (R(E,C) ┴) & (R(E,P) ┴) & (vkP ISA Z) & (vnP ISA ) & (vkC ISA Z) & (vdCISA )& (vkE ISA Z) & (vnE ISA ) & (vpE ISA ) & (vdC < “20/10/2006”) & (vnP= vpE)– критерий принадлежности страницы шаблону;vkP = «001854» – ключ-идентификатор фотоизображения;vnP = «http://www.…iiivanov.jpg» – фото сотрудника (URL-ссылка на файл);vkC = «НГК 1/23 Д» – ключ-идентификатор договора;vdC = «19/10/2006» – дата завершения договора;vkE = «01854» – ключ-идентификатор сотрудника (табельный номер);vnE = «Иванов И.И.» – имя сотрудника (Ф.И.О.);vpE = «http://www.…iiivanov.jpg» – фото сотрудника (URL-ссылка на файл).Заметим, что на данном этапе повторные проверки ранее означенных метаданных класса вшаблоне не производятся.
Кроме того, константы, означенные в шаблоне, не включаются в списокпараметров функции означивания страницы. Можно ввести дополнительные ограничения напеременные, конкретизирующие страницу портала. Так, переменные vnP, vpE можно дополнительноограничить условием «ISA » (тип «URL»), а параметр vdC – условием «ISA » (тип «Дата»).В приведенном примере приведен упрощенный критерий принадлежности объектастранице. В практике проектирования КПК используются более сложные критерии, в которыхмогут использоваться как другие переменные классов P, C, E, так и переменные других классов.Заметим также, что дублирование и «тонкое» форматирование (включая устранениепубликации «служебной» информации – ключей-идентификаторов и т.д.) реализуется генераторомотчетов и здесь не рассматривается из соображений наглядности.118ПРИЛОЖЕНИЕ НПодтверждения апробации:акты внедрения, справки, дипломы конференций119120121122123124125126127128.