ДИАГРАММЫ КЛАССОВ ООП:
ФОРМАЛИЗАЦИЯ И АНАЛИЗ

Буй Д.Б., д.-р физ.-мат. н., профессор
Киевский национальный университет
име...
Для реляционных БД уже построена
формальная модель
1.

Кодд Е.Ф. Реляционная модель для больших совместно используемых бан...
Для объектных БД так же построены
формальные модели
1. Piskunov А.G. The formalization of the object-oriented programming ...
В статье проводится краткий
сравнительный
анализ
работ,
посвященных формальным моделям
объектно-ориентированного
программи...
Предмет исследования – модель диаграммы
классов (соответствующее частично
упорядоченное множество).
Модель класса (специфи...
Постановка задачи
Предметная область Школа

Предметная область ВУЗ
Объединение предметных областей
Школа и ВУЗ
Математические результаты
ПОСТРОЕНИЕ ОБЪЕКТНОЙ
АЛГЕБРАИЧЕСКОЙ СИСТЕМЫ
 ,  ;  obj ;  spec , 

где  – множество объектов классов,  – множеств...
K  s,  

s – функциональное бинарное отношение,
которое атрибуту ставит в соответствие его
тип;
 – функциональное бин...
операция пересечения 
:  

для значений имеем:
 s1 , 1    s2 ,  2  s1  s2 , 1   2 

где  – стандартн...
операция сочленения ∐
:   
 s1 , 1    s2 ,  2  s1s2 , 1 2,  где
def

fg  g  f (domf  domg )
K1

K2
...
Операция сочленения уточняет
множественное наследование
Рассмотрим важнейшие частные случаи:
а) doms1  doms2   ⋀ dom1 ...
Лемма. Для произвольных функциональных
бинарных отношений f и g выполняется
равенство:
f  g  ( f  g ) (domf  domg )

С...
Следствие 2.
(критерий
совместности
функциональных
бинарных
отношений).
def
Пусть X  domf  domg ; выполняются следующие
...
def

X  domf  domg

X  f  g

⋀

f  g  f

означает, что у функций просто нет общих
аргументов, потому они не могут...
X  dom( f  g )  f  g

⋀

f g f X gX

означает, что на множестве общих аргументов
функции ведут себя одинаково (прин...
dom( f  g )  X  ( f  g )

⋀

x x  X  f ( x)  g ( x)   .

Существует общий аргумент, на котором
функции ведут с...
результаты о структуре частично
упорядоченного множества F , 
– множество всех функциональных
бинарных отношений (на унив...
Предложение 1. Ч.у.м. F ,  есть нижняя
полурешетка, при этом inf  f , g  f  g .
Предложение 2 (структура ч. у. м. F ,...
4) Точная верхняя грань множества F
существует тогда и только тогда, когда
множество F ограничено сверху, при этом
sup F ...
Выводы

Предложенная формальная модель может использоваться
для анализа и модификации диаграмм классов:
- нахождения компо...
СПАСИБО ЗА ВНИМАНИЕ
Upcoming SlideShare
Loading in …5
×

TMPA-2013 Kompan and Bui: OOP Class Diagrams

543 views

Published on

TMPA-2013 Tools & Methods of Program Analysis
Bui, D., Kompan, S., Taras Shevchenko National University of Kyiv
OOP Class Diagrams: Formation and Analysis

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
543
On SlideShare
0
From Embeds
0
Number of Embeds
109
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TMPA-2013 Kompan and Bui: OOP Class Diagrams

  1. 1. ДИАГРАММЫ КЛАССОВ ООП: ФОРМАЛИЗАЦИЯ И АНАЛИЗ Буй Д.Б., д.-р физ.-мат. н., профессор Киевский национальный университет имени Тараса Шевченко, Украина e-mail: buy@unicyb.kiev.ua Компан С.В., аспирант Киевский национальный университет имени Тараса Шевченко, Украина e-mail: skompan@mail.ru
  2. 2. Для реляционных БД уже построена формальная модель 1. Кодд Е.Ф. Реляционная модель для больших совместно используемых банков данных // СУБД. − 1995. − N. 1. − C. 145-169. 2. Мейер Д. Теория реляционных баз данных: [пер. с англ.] / Д. Мейер. – Москва: Мир, 1987. – 608 с. 3. Ульман Дж. Основы систем баз данных: [пер. с англ.] / Дж. Ульман. – Москва: Финансы и статистика, 1983. – 334 с. 4. Кренке Д. Теория и практика построения баз данных / Д. Кренке. – СПб.: Питер, 2003. − 800 с. 5. Дейт К. Дж. Введение в базы данных / К.Дж. Дейт. – М., СПб, Киев: «Вильямс», 2001. − 1071 с. 6. Буй Д.Б. Теоретико-множественные конструкции полного образа, ограничения, конфинальности и совместности в основаниях реляционных баз данных / Д.Б. Буй, Н.Д. Кахута // Интеллектуальные системы и компьютерные науки: международная конференция, 23-27 октября 2006 г., Москва: труды. – 2006. – Т. 1. – С. 72-76. 7. Буй Д.Б. Теория мультимножеств: библиография, применение в табличных базах данных / Д.Б. Буй, Ю.А. Богатырёва // Радіоелектронні і комп’ютерні системи. – № 7(48). – 2010. – С. 56-62. 8. Буй Д.Б. Композиційна семантика рекурсивних запитів в SQL-подібних мовах / Д. Б. Буй, С.А. Поляков // Вісник Київського університету. Сер. фіз.-мат. науки. – 2010. – Вип. 1. – С. 45-56. 9. Буй Д.Б. Повнота аксіоматики Армстронга / Д.Б. Буй, А.В. Пузікова // Вісник Київського національного університету імені Тараса Шевченка. Сер. фіз.-мат. науки. – 2011. − Вип. 3. − С. 103108. 10. Редько В.Н. Реляційні бази даних: табличні алгебри та SQL-подібні мови / В.Н. Редько, Ю.Й. Брона, Д.Б. Буй, С.А. Поляков. – Київ: Видавничий дім «Академперіодика», 2001. – 196 с. 11. Buy D. Formalization of structural constraints of relationships in model «entity-relationship» / D. Buy, L. Silveystruk // Electronic Computers and Informatics’2006: international scientific conference, September 20-22, 2006. – Kosice, Slovakia: proceedings. – Kosice. – 2006.– P. 96-101. 12. Buy D. Equivalence of Table Algebras of Finite (Infinite) Tables and Corresponding Relational Calculi / D. Buy, I. Glushko // Proceedings of the Eleventh International Conference on Informatics INFORMATICS’2011, November 16-18, 2011, Rožňava, Slovakia. – P. 56-60.
  3. 3. Для объектных БД так же построены формальные модели 1. Piskunov А.G. The formalization of the object-oriented programming paradigm, http://www.realcoding.net/dn/docs/machine.pdf (in Russian) 2. Piskunov A.G. The formalization of the OOP: types, sets, classes, http://agp1.hx0.ru/articles/typeSetsClasses.pdf (in Russian) 3. Chaplanova Е.B. Operating specification of object-relational data model, In: Radіoelektronіka, іnformatika, upravlіnnya, vol. 12, pp. 75-79, (2011) (in Russian) 4. Karel Richta, David Toth. Formal Models of Object-Oriented Databases. In Objekty 2008. Žilina: Žilinská univerzita v Žiline, Fakulta riadenia a informatiky, pp. 204-217, (2008), http://www.ksi.mff.cuni.cz/~richta/publications/richta-tothObjekty2008.pdf 5. Manojit Sarkar, Steven P. Reiss. A Data Model and a Query Language for ObjectOriented Database. In: Island, Department of Computer Science Brown University Providence, Rhode, CS-92-57, (1992), http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.34.4531&rep=rep1&typ e=pdf 6. Gail M. Shaw, Stanley B. Zdonik. A Query Algebra for Object-Oriented Databases. In: Island, Department of Computer Science Brown University Providence, Rhode, CS89-19, (1989) http://trac.common-lisp.net/elephant/rawattachment/wiki/RelationalAlgebra/shaw89query.2.pdf
  4. 4. В статье проводится краткий сравнительный анализ работ, посвященных формальным моделям объектно-ориентированного программирования
  5. 5. Предмет исследования – модель диаграммы классов (соответствующее частично упорядоченное множество). Модель класса (спецификация класса) – пара бинарных функциональных отношений, одна компонента уточняет атрибуты, вторая – методы.
  6. 6. Постановка задачи Предметная область Школа Предметная область ВУЗ
  7. 7. Объединение предметных областей Школа и ВУЗ
  8. 8. Математические результаты
  9. 9. ПОСТРОЕНИЕ ОБЪЕКТНОЙ АЛГЕБРАИЧЕСКОЙ СИСТЕМЫ  ,  ;  obj ;  spec ,  где  – множество объектов классов,  – множество спецификаций классов, obj – множество операций  spec – множество операций над над объектами, спецификациями классов, а бинарное отношение      – частичный порядок, уточняющий наследование.
  10. 10. K  s,   s – функциональное бинарное отношение, которое атрибуту ставит в соответствие его тип;  – функциональное бинарное отношение, которое методу ставит в соответствие его семантику (логику работы). Отношения  и s определяют спецификацию класса.
  11. 11. операция пересечения  :   для значений имеем:  s1 , 1    s2 ,  2  s1  s2 , 1   2  где  – стандартное теоретико-множественное пересечение.
  12. 12. операция сочленения ∐ :     s1 , 1    s2 ,  2  s1s2 , 1 2,  где def fg  g  f (domf domg ) K1 K2 K3
  13. 13. Операция сочленения уточняет множественное наследование Рассмотрим важнейшие частные случаи: а) doms1  doms2   ⋀ dom1  dom 2   Тогда получим производный класс: K 3  s1  s 2 , 1   2  б) doms1  doms2   или/и конфликт разрешается наложения. с dom1  dom 2   помощью операции
  14. 14. Лемма. Для произвольных функциональных бинарных отношений f и g выполняется равенство: f  g  ( f  g ) (domf  domg ) Следствие 1. (критерий совместности функциональных бинарных отношений). Пусть f , g – произвольные функциональные def бинарные отношения, а X  domf  domg . Тогда имеют место две эквивалентности: f  g  dom( f  g )  X , ( f  g )  dom( f  g )  X .
  15. 15. Следствие 2. (критерий совместности функциональных бинарных отношений). def Пусть X  domf  domg ; выполняются следующие утверждения. 1) X    f  g ⋀ f  g  f  ; 2) X  dom( f  g )  f  g ⋀ f  g  f X  g X ; 3) dom( f  g )  X  ( f  g ) ⋀ x x  X  f ( x)  g ( x)  .
  16. 16. def X  domf  domg X  f  g ⋀ f  g  f означает, что у функций просто нет общих аргументов, потому они не могут конфликтовать (принимать разные значения на общем аргументе). Естественно, общая часть в этом случае пуста.
  17. 17. X  dom( f  g )  f  g ⋀ f g f X gX означает, что на множестве общих аргументов функции ведут себя одинаково (принимают одинаковые значения на общих аргументах). Общая часть в этом случае может быть как пустой, так и непустой. Таким образом, первый пункт является частным случаем второго.
  18. 18. dom( f  g )  X  ( f  g ) ⋀ x x  X  f ( x)  g ( x)   . Существует общий аргумент, на котором функции ведут себя по-разному. Что касается общей части, то она может быть как пустой, так и непустой.
  19. 19. результаты о структуре частично упорядоченного множества F ,  – множество всех функциональных бинарных отношений (на универсальном домене D );  – обычное теоретико-множественное включение. F Буй Д.Б. Теоретико-множественные конструкции полного образа, ограничения, конфинальности и совместности в основаниях реляционных баз данных / Д.Б. Буй, Н.Д. Кахута // Материалы IX Международной конференции «Интеллектуальные системы и компьютерные науки», 23-27 октября 2006. – Т. 1, С. 72 - 76
  20. 20. Предложение 1. Ч.у.м. F ,  есть нижняя полурешетка, при этом inf  f , g  f  g . Предложение 2 (структура ч. у. м. F ,  ). Выполняются следующие утверждения. 1) Всюду неопределенная функция f  – наименьший элемент («дно») ч. у. м. F ,  . 2) Наибольший элемент в ч. у. м. F ,  существует тогда и только тогда, когда универсум – одноэлементный. 3) Точная нижняя грань существует для любого непустого множества F , причем inf F   f F f
  21. 21. 4) Точная верхняя грань множества F существует тогда и только тогда, когда множество F ограничено сверху, при этом sup F   f F f ; 5) Элемент является атомом тогда и только тогда, когда f – одноэлементный; F ,  является условно полным 6) Ч. у. м. ч. у. м. и полной (верхней) полурешеткой.
  22. 22. Выводы Предложенная формальная модель может использоваться для анализа и модификации диаграмм классов: - нахождения компонент связности, что соответствует декомпозиции системы на подсистемы; - поиска клонов; - модификации диаграмм с помощью введенных операций пересечений и сочленения. Над классами рассматриваются операции пересечения и сочленения. Пересечение классов вводится на основе стандартного теоретико-множественного пересечения бинарных отношений, а сочленение – на основе специальной операции наложения, которая позволяет разрешить конфликт имен. Указанные операции над классами могут быть использованы при рефакторинге (refactoring) программ.
  23. 23. СПАСИБО ЗА ВНИМАНИЕ

×