УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
Том 151, кн. 3
Физико-математические пауки
2009
УДК 629.11.012.553
СПЕЦИАЛИЗИРОВАННЫЕ МОДЕЛИ ДЛЯ РАЗРАБОТКИ ПРИЛОЖЕНИЙ БАЗ ДАННЫХ НА ОСНОВЕ КОМБИНАЦИИ СРЕДСТВ UML И CSP-OZ
Т.М. Бен,дума, А.И. Епикеев
Аннотация
В работе предлагается один из подходов к построению специализированной модели для разработки приложений баз даппых. осповаппый па соединении средств описания диаграмм UML с формальным аппаратом теории CSP-OZ. Предлагаемый подход демонстрируется па реляционной модели данных.
Ключевые слова: формальные методы, реляционная модель данных, теория взаимодействующих процессов CSP, язык Z. формальный аппарат теории CSP-OZ.
Введение
В большинство современных разработок различных приложений баз данных используются полуформальные методы (ОМТ. UML и т. д.) [1]. основанные главным образом на графических системах обозначения (диаграмме классов, диаграмме состояний и т. п.). которые дают интуитивное представление о разрабатываемой системе. Эти методы представляют бесспорные преимущества для моделирования, создавая идеальную поддержку для общения между различными участниками системы. но в этих методах отсутствуют средства анализа и проверки спецификаций на основе формального доказательства свойств, получаемых при моделировании. Формальные методы (В. VDM. Z. CSP. CCS и т. д.) [2 4]. основанные на строгом математическом подходе, предоставляют возможность адекватной концептуализации и позволяют не только создавать точные конструкции, но и анализировать их. Формальные методы можно разделить на две группы: ориентированные на описание статических аспектов (В. Z. VDM и т. д.) и ориентированные на описание динамических аспектов (CSP. CCS и т. д.). Актуальным представляется подход, основанный на комбинации статических аспектов с динамическими. Одной из наиболее интересных разработок в этом направлении является CSP-OZ [5]. представляющая собой формализованный аппарат на основе языка Объокт-Z (объектно-ориентированное расширение языка Z) для описания статических структурных аспектов систем и теории взаимодействующих систем CSP для спецификации динамического поводоВ работе предлагается один из подходов к построению специализированной модели для разработки приложений баз данных, основанный на соединении средств описания диаграмм UML [1] с формальным аппаратом CSP-OZ. Предлагаемый подход демонстрируется на реляционной модели данных. Такое соединение дает интуитивное и визуальное представление графических обозначений, с одной стороны. а с другой точность и возможность анализировать и доказывать полученные спецификации на основе формальных методов. Кроме этого рассматривается методика реализации спецификаций теории CSP-OZ средствами SQL.
1. Основные понятия теории CSP-OZ
Теория CSP-OZ представляет собой формализованный аппарат, построенный на основе теории взаимодействующих систем С SP для спецификации динамического поведения и языка Объект-Z для описания статических структурных аспектов систем.
1.1. CSP (теория взаимодействующих процессов). Теория CSP используется для описания динамических аспектов (поведения) систем на основе событийно-управляемого подхода [4. 6. 7]. Центральными понятиями теории являются синхронное взаимодействие через каналы между различными процессами, параллельная композиция и механизм сокрытия внутренних точек взаимодействия. В CSP процессы определяются как:
Pr ::= Fail | Skip | c ^ P | P/s | P \A | P; Q | P □ Q IP П Q | P A Q | X | P || Q |P|Q.
A
где Fail пустой процесс, который «ничего не делает», процесс Skip также «ничего не делает», но. в отличие от процесса Fail, завершает свою работу успешно: (c ^ P) трактуется как процесс активации события с, после которого запускается процесс P; (P/s) (P после процесса P после выполнения следа s,
(P\A)
A
(a ^ b ^ P)\{a, с} = (b ^ P);
(P; Q) P Q
PQ
процесса P); (P^Q) - операция альтернативной композиции процессов P и Q P Q (P П Q)
PQ
влияния окружающей среды (например, пользователя или другого процесса) в отличие от альтернативной композиции P□Q, где поведение процесса полностью определяется взаимодействием с окружающей средой; (P A Q) - это тоже вид последовательной композиции, но, в отличие от процесса P : Q, процесс P A Q ведет PP
процесс P останавливается и P A Q ведет себя как Q (interrupt); обычно процесс Q
(ц X : A.F(X)) - обозначение рекурсивного определения процесса X, где A - алфавит процесса X, то есть множество событий процесса X (предполагается, что X = F(X) A
Часы = (тик ^ Часы);
I обозначает параллельную композицию без синхронизации, а || параллельную
в
композицию с синхронизацией на всех событиях множества B, то есть события из множества B представляют общие точки взаимодействия параллельных процессов. Для передачи данных от одного процесса к другому в теории С SP используются каналы передачи данных. Вводятся две операции: c!m - операция передачи сообщения m через канал с и c?x - операция приема сообщения из канала с в переменную x. В теории С SP рассматривается случай синхронного взаимодействия процессов, который предусматривает одновременное выполнение операций c!m и c?x. Итак, одновременное выполнение этих операций позволяет трактовать
ого как единое неделимое событие взаимодействия процессов. Последнее определяется следующим соотношением:
(с!т ^ Р)||(с?х ^ Р(ж)) = (с ^ (Р||Р(т))),
где событие с определяет точку взаимодействия параллельных процессов.
Таким образом, все события, являющиеся общими для параллельно выполняемых процессов, определяют точки взаимодействия этих процессов. Средствами СЭР можно определить широкий спектр процессов, составляющих основу модели поведения.
1.2. Z и Объект^. Ъ является формальным языком спецификаций, используемым для описания и моделирования вычислительных систем [3. 8]. Спецификация в Ъ обычно включает в себя схемы состояний и операций. Схемы состояний группируют переменные и определяют отношения между их значениями. Схемы операций определяют отношения между значениями переменных 'до' и 'после' выполнения операции (см. рис. 1).
Название_
Декларации
Предикаты
Рис. 1. Представления схем операций
Схемы операций отличаются от других схем тем. что они имеют в своем составе еще и Д — список для выделения переменных, значения которых могут измениться при применении операций.
Объект-Z это объектно-ориентированное расширение Z, основным элементом которого является схема класса. Класс включает в себя определение локальных типов и констант, одну схему состояния и связанную с ней схему инициализации состояния со всеми схемами операций [9 11] (см. рис. 2).
._ название ктасса-.
Определения типов
Определения констант
Схема состояния
Схема инициализации состояния
Схемы операции
Рис. 2. Структура класса OZ
1.3. CSP-OZ. Теория CSP-OZ [5, 12 14] построена на основе комбинирования теории Объект-Z с теорией CSP. Спецификация CSP-OZ описывает систему как множество взаимодействующих объектов, каждый из которых задается описанием структуры н поведения. Взаимодействие между объектами выполняется через каналы аналогично взаимодействию процессов в теории CSP. Класс CSP-OZ имеет следующую структуру, изображенную на рис. 3.
Описание каналов определяет интерфейс класса. Описание задается в виде Channel с: [pl : ty 1;...; pn : tyn], где с - название канала, p1,...,pn - названия параметров, tyl,... ,tyn - типы параметров.
_назваНие класса_
Chan названиеканала^ [Описание каналов]
main = ... [CSP часть]
Определения типов и констант [ОZ часгь] Схема состояния и инициализации состояния Схемы операции
Рис. 3. Основная структура CSP-OZ класса
CSP-часть представлена в виде CSP-название CSP-процесс. Каналы каждого процесса в CSP-части должны принадлежать множеству каналов, объявленных в интерфейсе. В CSP-части должен быть определен процесс main стартовый процесс, с которого начинается работа. Этот процесс используется для определения семантики CSP-части.
В Z-часть включаются определения типов и констант, схема состояния и схема инициализации состояния (то же самое, как в Объокт-Z). Схемы и имена переменных, используемые в Z-части, должны быть связаны с названиями, которые используются в CSP-части.
Для того чтобы связать схемы операций Z с поведением, используются специальные ключевые слова enable и effect, где enable определяет условия, при которых можно применить операцию, effect соответствующий переход из одного состояния в другое.
2. Реляционная модель данных
Реляционная модель данных впервые была разработана Э.Ф. Коддом в 1970 г. [15]. Наиболее строгое и полное изложение теории реляционных баз данных (реляционной модели данных) можно найти в книге К.Дж. Дейта [16]. Согласно Дейту, в реляционной модели рассматриваются три аспекта: структура данных, подержание целостности данных (ограничения) и манипулирование данными (операции).
2.1. Структура данных. В основе реляционной модели данных [16 18] лежит понятие отношения, которое задается списком своих элементов и перечислением их значений. Реляционная база данных ШЗВ это реализация реляционной модели (модели данных) на физическом уровне и совокупность отношений, содержащих всю информацию, которая должна храниться в базе данных.
Отношение можно представить в виде двумерной таблицы (см. рис. 4), каждая строка таблицы носит название кортежа отношения, а каждый столбец таблицы называется атрибутом. Каждый атрибут определяет тип представляемых им данных, который вместе с областью его значений называется доменом.
Домен 3
« И., 1 ч. 30 И
Атрибуты -____ * Кокер |мим Время Отправления Время в пути
320 5 ч, 40 1ч. 15 м.
К тс
* 350 6 ч. 00 в. 1ч.
360 6 ч.10м. 1ч. 30 и.
Рис. 4. Пример представления отношения
2.2. Механизм поддержания целостности данных. Механизм поддержания целостности данных основывается на системе ограничений, обеспечивающей целостность данных в реляционной базе данных [16]. По области действия ограничения делятся на ограничения домена, ограничения атрибута, ограничения кортежа, ограничения отношения и ограничения базы данных. Поддержание целостности данных можно определить как на отдельных атрибутах таблицы, так и на множестве таблиц. В SQL (норма 92) ограничения задаются конструкцией CHECK, определяющей соответствующий предикат. Ограничения, которые можно применять на атрибутах таблицы, определяются следующими ключевыми словами:
• NOT NULL - определяется па атрибуте, это ограничение позволяет указать, что значение данного атрибута не должно быть пустым для каждого кортежа таблицы:
•
ством уникальности. На самом деле, свойством уникальности в пределах отношения могут обладать отдельные атрибуты кортежей или группы атрибутов. Такие уникальные атрибуты удобно использовать для идентификации кортежей. Эти атрибуты называются первичными ключами и определяются ключевым словом PRIMARY KEY:
•
бут, который появляется в отношении Т2 и как первичный ключ в другом связанном отношении Т1 (Т1 и Т2 не обязательно различны). Внешний ключ определяет связь между разными отношениями.
Ниже предлагается метод соединения средств UML с теорией CSP-OZ, который демонстрируется на реляционной модели данных.
3. Метод соединения средств UML с теорией CSP-OZ
Метод, предлагаемый здесь, включает в себя следующие представленные ниже этапы (см. рис. 5):
а) моделирование в UML: данные и средства обработки данных представляются диаграммами UML, специализированными для описания информационных систем (диаграммы классов, диаграммы состояния и диаграммы сотрудничества):
б) генерация спецификаций реляционной модели из диаграмм UML, определенных на предыдущем этапе, в спецификацию CSP-OZ. Диаграммы UML не имеют строгой формализации семантики, поэтому цель этого этапа (перевод в CSP-OZ) заключается в соответствующей формализации. Полученная спецификация CSP-OZ состоит из трех главных компонентов: всех данных, представляющих состояние системы: всех базовых операций: всех каналов интерфейса, использующих базовые операции и обеспечивающих взаимодействие системы с другими компонентами (программами или другими системами):
в) создание кода SQL: на этом этапе создается код, соответствующий полученной спецификации CSP-OZ. Этот этап кодирования позволяет определить схему базы данных и связанные базовые операции в SQL (вставка, удаление, и т. д.), с одной стороны, а с другой определить классы на языке программирования, позволяющие эффективную реализацию средств обработки в базе данных.
3.1. Перевод диаграмм UML в CSP-OZ. Здесь рассматривается методика преобразования диаграмм UML в соответствующие спецификации в CSP-OZ.
Рис. 5. Иллюстрация метода
Методика демонстрируется с помощью примеров, представляемых на основе реляционной модели данных.
3.1.1. Алгоритм преобразования диаграммы классов в реляционную схему. Процесс преобразования построен на основе классического алгоритма перевода из концептуальной модели данных в реляционную модель [19]. Он состоит из следующих основных этапов:
• все классы в диаграмме классов преобразуются в таблицы;
•
ключами, то есть образуется копия уникального идентификатора класса на конце связи «один», и соответствующие столбцы составляют внешний ключ таблицы, соответствующей классу на конце связи «многие»:
• для построения отношения «многие ко многим» между классами A и B создается дополнительная таблица, имеющая, помимо ее собственных атрибутов. еще два столбца, один из которых содержит уникальные идентификато-AB
На рис. 6. приведен пример диаграммы классов «Университет». На языке CSP-OZ представление диаграммы имеет вид: PROF = [ProflD : PROFID; ProfName : STRING; PrDepNum :DEPNUM]. DEPT = [DepNum : DEPNUM; ChairDep : PROFID; NbPrf: NBPRF]. CRS = [CrsNum : CRSNUM; CrDepNum:DEPNUM], PRF-CRS =
[РгоЯБ :PROFID;CrsNum :CRSNUM; Schedule: SCHEDULE; Term: TERM],
3.1.2. Статический аспект (диаграмма классов). Для получения формального описания структуры базы данных из диаграммы классов необходимо определить реляционную модель в СЭР-ОЕ на основе нижеследующих этапов.
I Teaches_
Term : TERM Schedule: SCHEDULE
Рис. 6. Диаграмма классов «Университет»
Определение доменов в Z. В реляционной модели домен каждого атрибута должен быть атомарным (неделимым):
STUDENT^ID Integer
STUDENT^Nariie String AGE { a: Integer 15<a <80}. SEX Male I Female.
Определение атрибутов и кортежей. Все атрибуты перечисляются как переменные в части декларации схемы кортежа (строки), а все статические ограничения атрибута (если они есть) как постоянные предикаты в части предикатов схемы REL (см. рис. 7).
AN} AT,
AN:- AT;
ANn .AT,
CS
Рис. 7. Схема кортежа в Z На рис. 8 приведен пример схемы кортежа «профессора» в Z.
рPROF--
ProflD : PROFID Proßiame: SIRING Sex:SEX Age: AGE
PrDepNwn -.DEPNUM
Рис. 8. Схема кортежа «профессора» в Z
Определение отношений (таблицы). В части декларации схемы отношения определяется конечное множество всех кортежей этого отношения, а в части предикатов первичный ключ (с помощью предиката уникальности) и все атрибуты. которые не могут иметь свойство Null-Значение (с помощью конструкции REQUIRED) (см. рис.'9).
На рис. 10 приведен пример схемы отношения «профессор кафедры» в Z.
r-Relat-
ret: PREL
V rl, r2: rel • al=a2 « rlAN^ r2.ANx REQUIRED AN, REQUIRED ANt
REQUIRED ANm
Рис. 9. Схема отношения в Z
[—. Professor-
profes : PPROF
Vpl, p2: Profes • pl.ProflD=p2.ProflD о pl=p2. СREQUIRED ProflD) A (.REQUIRED PrDepNum) A
Рис. 10. Схема отношения «профессор кафедры» в Z
Определение схемы состояния базы данных. Схема группирует все определения базы данных, включая все схемы отношений в части декларации, а в части предикатов определяются все внешние ключи (с помощью предиката) и динамические ограничения (если они есть) (см. рис. 11).
гвв-
Relat, Relate
Relatg
: Relati 3 f„. Relarm • ri.foreign_ key =r„rprimary:_key V : Relate 4 r,-;. Relate • z^.foreign_ key ~r¿.primary _key
Рис. 11. Схема состояния базы данных в Z На рис. 12 приведен пример схемы состояния базы данных «Университет» в Z.
DB_
Professor
Department
Course
V d\ Departments p\Professor
• ¿¡.ChairDep =p. ProflD
V c: Course 3 d: Department
• c^rDepNum = d. DepNum
V p: Professor 3 d: Dqtartment •
• p. PrDeptNum = d. DepNum
V diDepartment
d. NbPif = #{p: Professor | pPrDepNum=dX>epNum)
Рис. 12. Схема состояния базы данных «Университет» в Z
Отметим, что последний предикат определяет, что число профессоров кафедры (ХЬРгО является производным атрибутом.
Определение схемы инициализации базы данных. Схема инициализации состояния базы данных определяет начальное состояние базы данных, показывая,
[- Iniî_DB-
profes = {} л departs = {3 А cors = л
Рис. 13. Схема инициализации состояния DB в Z
Insert reí_
АДе/йГ
пел -Reí ?: REL reí' = reí U newRel ?
Рис. 14. Схема операции вставки в Z
что все ее отношения пустые. На рис. 13 приведен пример схемы инициализации состояния DB в Z.
Определение базовых операций. Список базовых операций диаграмм классов UML включает в себя такие операции, как вставка и удаление.
Вставка. В декларативной части схемы операции вставки (Inserieret) объявляются новые переменные Relut и new_rel, где Relut это отношение (таблица), к
Л
отношения нлн таблицы Relut изменится при выполнении операции. В части предикатов определяется следующее состояние отношения Relut с помощью операции объединения в Z (см. рис. 14).
На рис. 15 приведен пример схемы операции вставки в Z.
- Insert_profes----
AProfessor riewProf?: PROF
profes' = profes и {newProfl}
Рис. 15. Схема операции вставки в Z (пример)
Удаление. При выполнении операций удаления (а также модификации) базы данных применяются стратегии поддержания ссылочной целостности, представленные в книге Дейта [16]:
• CASCADE (КАСКАДНОЕ УДАЛЕНИЕ) - выполняет удаление кортежа, а также каскадное удаление всех тех кортежей в дочернем отношении, которые ссылаются на удаляемый кортеж (см. рис. 16):
— Del reí_
ARelat
deRell'. REL_
T=={r.C ¡ t.foreign_key = deRel!primary_key) V r \T • Del_C[t] reV = rel \ {deRel?}
Рис. 16. Схема каскадного удаления в Z
• RESTRICT (ОГРАНИЧЕННОЕ УДАЛЕНИЕ) - не разрешает удаление, если имеется хотя бы один кортеж в дочернем отношении, ссылающийся на удаляемый кортеж (см. рис. 17):
г Del_rel-
ARelat
deRel ?: REL_
Г== {f: С I í.foitéign key = deRell.primary key} if Г=|| then rel'= rel \ {deRel?} _else rel' = re!_
Рис. 17. Схема ограничения операции удаления в Z
SET NULL (УСТАНОВИТЬ В NULL) выполняет удаление кортежа, а во всех кортежах дочернего отношения, ссылающихся на удаляемый кортеж, меняет значения внешних ключей на гш11-значение (см. рис. 18):
,_ Del reí-
ARelat Ac
deRel ?: REL
V f:C x.forelgn_key = deRell.primary_key
• t.foreign_key=Null
rel' = rel \ {deRel?}
Рис. 18. Схема удаления с установкой в Null в Z
Примеры операций удаления приведены на рис. 19, 20.
г- Del_profes-
ЛProfessor A Department deProf?-. PROF
V m: dq?an¡ m.ChairDep = deProf 1 .ProflD
•mchairDep =Null.
pro fes' = prof es \ {deProf
Рис. 19. Схема удаления «профессора» в Z
I— Del_departs --
A Department A Professor A Course delDep 1\DEPT Vp\profes |p.PrDepNum = delDq>lDepNum
• p. PrDepNum =Ntt 11.
V C=={c: cars \ c. CrDepNum = delDepl.DepNum}
V c :C» Del_cors[c] departs' = departs \ {delDep?}
Рис. 20. Схема удаления «кафедры» в Z
Определение класса базы данных в Объект^. Класс базы данных включает в себя схему состояния базы данных, схему инициализации базы данных и все схемы базовых операций (см. рис. 21).
Пример класса БВ-02 для базы данных «Университет» приведен на рис. 22.
г-ов<
Relati
Relate
Rekttg
V г, -.Retail 3 rm\ Relatm • ri.foreign .еу =гтфпт ary key
V Га : Relate 3 rj. Relate • x^.foreign_ к ?y =r#primary_key
Tnit
reli = {} A
rel2 — {} A
relg = {}
Insert_rel} Del_relj
Insert_rel2 Del_rel2
Insen_reli Del_relj
Insert_relp Del_relg
Рис. 21. Класс DB-OZ для базы данных
г- DB0Z
Professor
Department
Course
V d: Dq)artmeni 3p: Professor
• d. Cha irDep =p. ProflD Vc: Course 3 d\ Department
• cJCrDepNum = d. DepNum Vp\ Professor 3 d\ Department
• p. PrDeptNum = d. DepNum
Vd Department d. NbPrf = #{p: Professor \ pPrDepNum=dDepNum}
r InitDB-
profes = { ) Л departs = {) л cors = {} А
Insert_profes Deljmfes
Insert_departs Deldeparts
Insert cors Del con
Рис. 22. Класс DB-OZ для базы данных «Университет»
3.2. Динамический аспект. Динамический аспект определяется диаграммами состояния и сотрудничества. В CSP-OZ поведение описывается с помощью CSP-части. Процесс main это стартовый процесс, с которого начинается работа. Для каждой базовой операции ор определяются схемы enable_op и effect_op (enable_ор описывает условия выполнения операции op, a effect_ор соответствующий переход из одного состояния в другое) и для этих операций определяются каналы, через которые одни классы могут взаимодействовать с другими (см. рис. 23).
Пример класса RDB для базы данных «Университет» приведен на рис. 24.
3.3. Перевод на SQL. Полученная спецификация CSP-OZ описывает оба аспекта баз данных (структуру и поведение). Если реализацию спецификации CSP-OZ. соответствующей данным и базовым операциям, можно выполнить, используя только язык SQL. то перевод поведения (порядок выполнения, взаимодействие, манипуляции с таблицами и т. д.) требует использования языка программирования более высокого уровня (JAVA. DELPHI. С и т. д.).
chan lhsert_reli chan Del_reli chan Jnsert_rel2 chan Del_rel;
chan tnserr_reh chan Del_rel;
chan Insert rein chan Del rel,
mam - Init —tproc proc =Insert_rel]—* proc
p Delrel] i proc □... q Del_relg > proc.
Inherit DBa
effect Illicit rel, ^Insert reli . , ,
— — — eiiableInsert_relw
effect Insert rdj i Insertreh emijle Insert reli effectJnsert_rel, = Insert_rel, enable Insert relj
effect_Insert_relp 4 lnsert_relp
effect_Del_rel, 4 Delrel, emMe_Del_rel, i
effecX_Del_rel2 A Del rel; enMe_Del_rel2 A [relief]
eSesA_Del_rd, 4 Del_rel, ewbleDelreli 4 [relj#3]
eSea Del relp i Del relg etiabie_DeI_relg i [relets]
Рис. 23. Класс RDB
— RDB-
chan Insert_profes [ne\\Prof?\PROF] chan Insert departs [newDepl: DEPT]
chan Del_profes [deProf?: PROF] chan De! departs [delDep I'.DEPT]
main =Init —jproc
proc = Insert_profes—> proc □ Del_profes—* proc
□ Insert_dq>arts^> pro □ Del_departs > proc
□ ...
InheritDB^
eEezXJnsert_profes= Insert_profes eSscXInserideparts = Insertdeparis
effect_Del_profes — Del_Profes eSscX_Del_departs= Deldeparts
enable_£>e/_profes= \profes£&\ stab\s_Del_departs = [departs^ff]
Рис. 24. Класс RDB для базы данных «Университет»
Ниже рассматривается перевод (реализация) на SQL и приводятся основные этапы этого перевода.
Статический аспект. Каждый тип данных CSP-OZ переводится в соответствующие типы SQL. Например, типы INTEGER и STRING переводятся в INT и CHARACTER STRING(n) в SQL, где n - максимальная длина строки.
Каждая схема отношения в CSP-OZ переводится в таблицу в SQL.
Предикаты первичного ключа, внешнего ключа и конструкция REQUIRED переводятся в PRIMARY KEY, REFERENCES и NOT NULL соответственно.
Статические и динамические ограничения переводятся с помощью конструкции CHECK.
Динамический аспект. Каждая операция вставки insert_rel(NewRel) пере-
водится в SQL как INSERT INTO relat VALUES NewR.el. Каждая операция удаления Del_rel(DeRel) переводится в SQL как DELETE FROM relat WHERE.
Создаются классы на выбранном языке программирования (например, на JAVA. DELPHI. Visual FoxPro и т. п.). позволяющие производить манипуляцию с таблицами, созданными на предыдущем этапе.
Создаются классы, соответствующие спецификациям CSP-OZ, полученным из диаграмм сотрудничества и состояний (для описания поведения и взаимодействия).
Заключение
Основной целыо представленной нами модели является создание специализированной интегрированной среды разработки, ориентированной на построение различных приложений в области так называемых информационно-расчетных задач. К информационно-расчетным задачам относятся задачи компьютерной бухгалтерии. делопроизводства, статистики и т. п. В настоящее время на основе СУБД Visual FoxPro и MS SQL проводятся работы по разработке и реализации упомянутой выше интегрированной среды.
Summary
Т.М. Bentluma, A.I. Enikeev. Specialized Models for the Development, of Database Applications 011 t.lie Basis of UML and CSP-OZ Tools Combination.
The paper presents an approach to building a specialized object-oriented model for the development of database applications. The approach is based 011 the combination of the UML diagram tools with the CSP-OZ formal methods. The approach is demonstrated 011 the relational data model.
Key words: formal methods, relational data model, communicating sequential processes CSP, language Z. CSP-OZ formal method.
Литература
1. Буч Г., Якобсон А., Рамбо Док:. UML. Классика CS. СПб.: Питер. 2006. 736 с.
2. Abrial J.R. The B-Book: Assigning Programs to Meanings. Cambridge: Cambridge Univ. Press , 1996. 813 p.
3. Spivey J.M. The Z Notation: A Reference Manual. Prentice-Hall, 1992. 150 p.
4. Xoap 4. Взаимодействующие последовательные процессы. M: Мир. 1989. 264 с.
5. Fischer С. Combination and Implementation of Processes and Data: Prom CSP-OZ to Java: Ph.D. Thesis, Bericlit. Nr. 2/2000. Oldenburg: University of Oldenburg. 2000. 353 p.
6. Brookes S.D., Home C.A.R., Roscoe A.W. A theory of communicating sequential processes // J. ACM. 1984. No 31. P. 560 599.
7. Roscoe A.W. The Theory and Practice of Concurrency. Prentice-Hall, 2005. 605 p.
8. Woodcock J., Davics J. Using Z-Specificat.ion. Refinement, and Proof. Prentice-Hall, 1996. 386 p.
9. Smith G. The Object.-Z Specification Language. Advances in Formal Methods. Kluwer Acad. Publ.. 2000. 160 p.
10. Duke R., Rose G., Smith G. Object.-Z: A specification language advocated for the description of standards // Computer Standards and Interfaces. 1995. No 17. P. 511 533.
11. Smith G. A fully abstract semantics of classes for Object.-Z // Formal Aspects of Computing. 1995. No 7. P. 289 313.
12. Fischer C., Smith G. Combining CSP and Object.-Z: Finite or infinite trace-semantics? // Proc. FORTE/PSTV'97, Cliapmann & Hall. 1997. P. 503 518.
13. Fischer C. CSP-OZ: A combination of Object.-Z and CSP // Bowmann H.. Derrick J. (eds.) Formal Methods for Open Object-Based Distributed Systems (FMOODS!97). Chapman & Hall, 1997. V. 2. P. 423 438.
14. Fischer C., Wehrheim H. Model-checking CSP-OZ specifications with FDR // Araki K.. Galloway A.. Taguclii K. (Eds.) Integrated Formal Methods. Springer. 1999. P. 315 334.
15. Cudd E.F. A relational model of data for large shared data banks // Communications of the ACM. 1970. V. 13, No 6. P. 377 387.
16. Дельт К, Введение в системы баз даппых. М.: Изд. дом «Вильяме», 2005. 1328 с.
17. Кузнецов С.Д. Введение в системы управления базами данных // СУБД. 1995.
1 4; 1996. 1 5.
18. Д;>1сексон Г, Проектирование реляционных баз даппых для использования с микроЭВМ. М.: Мир, 1991. 252 с.
19. Batini С., Ceri S., Navathe S.B. Conceptual Database Design: An Entity Relationship Approach. Redwood City, Calif.: Benjamin/Cummings Pub. Co., 1992. 470 p.
Поступила в редакцию 29.04.09
Вендума Тахар Мохаммет аспирант кафедры теоретической кибернетики Казанского государственного университета. Е-шаП: ЪЛаЬегОтаИ. ги
Еникеев Арслан Ильясович кандидат физико-математических паук, доцепт кафедры теоретической кибернетики Казанского государственного университета. Е-шаП: а етМвтЬих.ги