tmpa-2013 kompan and bui: oop class diagrams

23
ДИАГРАММЫ КЛАССОВ ООП: ФОРМАЛИЗАЦИЯ И АНАЛИЗ Буй Д.Б., д.-р физ.-мат. н., профессор Киевский национальный университет имени Тараса Шевченко, Украина e-mail: [email protected] Компан С.В., аспирант Киевский национальный университет имени Тараса Шевченко, Украина e-mail: [email protected]

Upload: iosif-itkin

Post on 07-Dec-2014

520 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: TMPA-2013 Kompan and Bui: OOP Class Diagrams

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

Буй Д.Б., д.-р физ.-мат. н., профессорКиевский национальный университет имени Тараса Шевченко, Украинаe-mail: [email protected]

Компан С.В., аспирантКиевский национальный университет имени Тараса Шевченко, Украинаe-mail: [email protected]

Page 2: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Для реляционных БД уже построена формальная модель

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. − С. 103-108.

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 InformaticsINFORMATICS’2011, November 16-18, 2011, Rožňava, Slovakia. – P. 56-60.

Page 3: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Для объектных БД так же построены формальные модели

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 Objekty2008. Žilina: Žilinská univerzita v Žiline, Fakulta riadenia a informatiky, pp. 204-217,(2008), http://www.ksi.mff.cuni.cz/~richta/publications/richta-toth-Objekty2008.pdf

5. Manojit Sarkar, Steven P. Reiss. A Data Model and a Query Language for Object-Oriented Database. In: Island, Department of Computer Science Brown UniversityProvidence, Rhode, CS-92-57, (1992),http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.34.4531&rep=rep1&type=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, CS-89-19, (1989) http://trac.common-lisp.net/elephant/raw-attachment/wiki/RelationalAlgebra/shaw89query.2.pdf

Page 4: TMPA-2013 Kompan and Bui: OOP Class Diagrams

В статье проводится краткийсравнительный анализ работ,посвященных формальным моделямобъектно-ориентированногопрограммирования

Page 5: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Предмет исследования – модель диаграммы классов (соответствующее частично упорядоченное множество).Модель класса (спецификация класса) – пара бинарных функциональных отношений, одна компонента уточняет атрибуты, вторая –методы.

Page 6: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Постановка задачиПредметная область Школа Предметная область ВУЗ

Page 7: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Объединение предметных областей Школа и ВУЗ

Page 8: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Математические результаты

Page 9: TMPA-2013 Kompan and Bui: OOP Class Diagrams

ПОСТРОЕНИЕ ОБЪЕКТНОЙ АЛГЕБРАИЧЕСКОЙ СИСТЕМЫ

где – множество объектов классов, – множествоспецификаций классов, – множество операцийнад объектами, – множество операций надспецификациями классов, а бинарное отношение

– частичный порядок, уточняющийнаследование.

,;;, specobj

objspec

Page 10: TMPA-2013 Kompan and Bui: OOP Class Diagrams

,sK– функциональное бинарное отношение,

которое атрибуту ставит в соответствие еготип;

– функциональное бинарное отношение,которое методу ставит в соответствие егосемантику (логику работы). Отношения иопределяют спецификацию класса.

s

s

Page 11: TMPA-2013 Kompan and Bui: OOP Class Diagrams

для значений имеем:

где – стандартное теоретико-множествен-ное пересечение.

операция пересечения :

21212211 ,,, ssss

Page 12: TMPA-2013 Kompan and Bui: OOP Class Diagrams

, где

операция сочленения

: 21212211 ,,, ssss

)\( domgdomffggfdef

K1 K2

K3

Page 13: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Рассмотрим важнейшие частные случаи:а) Тогда получим производный класс:

б) или/и

21 domsdoms 21 domdom

21213 , ssK

21 domsdoms 21 domdom

Операция сочленения уточняет множественное наследование

конфликт разрешается с помощью операцииналожения.

Page 14: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Лемма. Для произвольных функциональныхбинарных отношений и выполняетсяравенство:

Следствие 1. (критерий совместностифункциональных бинарных отношений).Пусть – произвольные функциональныебинарные отношения, а . Тогдаимеют место две эквивалентности:

,.

f g

)()( domgdomfgfgf

gf ,domgdomfX

def

Xgfdomgf )(

Xgfdomgf )()(

Page 15: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Следствие 2. (критерий совместностифункциональных бинарных отношений).Пусть ; выполняются следующиеутверждения.1) ;2) ;3) .

domgdomfXdef

gfX fgf

gfgfdomX )( XgXfgf

)()( gfXgfdom )()( xgxfXxx

Page 16: TMPA-2013 Kompan and Bui: OOP Class Diagrams

gfX fgf означает, что у функций просто нет общих аргументов, потому они не могут конфликтовать (принимать разные значения на общем аргументе). Естественно, общая часть в этом случае пуста.

domgdomfXdef

Page 17: TMPA-2013 Kompan and Bui: OOP Class Diagrams

означает, что на множестве общих аргументовфункции ведут себя одинаково (принимаютодинаковые значения на общих аргументах).Общая часть в этом случае может быть какпустой, так и непустой.Таким образом, первый пункт являетсячастным случаем второго.

gfgfdomX )( XgXfgf ⋀

Page 18: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Существует общий аргумент, на которомфункции ведут себя по-разному.Что касается общей части, то она может бытькак пустой, так и непустой.

)()( gfXgfdom )()( xgxfXxx .⋀

Page 19: TMPA-2013 Kompan and Bui: OOP Class Diagrams

результаты о структуре частично упорядоченного множества

– множество всех функциональныхбинарных отношений (на универсальномдомене );

– обычное теоретико-множественноевключение.

Буй Д.Б. Теоретико-множественные конструкции полного образа,ограничения, конфинальности и совместности в основанияхреляционных баз данных / Д.Б. Буй, Н.Д. Кахута // Материалы IXМеждународной конференции «Интеллектуальные системы икомпьютерные науки», 23-27 октября 2006. – Т. 1, С. 72 - 76

,F

F

D

Page 20: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Предложение 1. Ч.у.м. есть нижняя полурешетка, при этом . Предложение 2 (структура ч. у. м. ). Выполняются следующие утверждения.1) Всюду неопределенная функция –наименьший элемент («дно») ч. у. м. .2) Наибольший элемент в ч. у. м. существует тогда и только тогда, когда универсум – одноэлементный.3) Точная нижняя грань существует для любого непустого множества , причем

,F gfgf ,inf

,F

f,F

,F

fF Ff infF

Page 21: TMPA-2013 Kompan and Bui: OOP Class Diagrams

4) Точная верхняя грань множествасуществует тогда и только тогда, когдамножество ограничено сверху, при этом

;5) Элемент является атомом тогда и только тогда, когда – одноэлементный;6) Ч. у. м. является условно полнымч. у. м. и полной (верхней) полурешеткой.

FfF Ff sup

f

,F

F

Page 22: TMPA-2013 Kompan and Bui: OOP Class Diagrams

Предложенная формальная модель может использоватьсядля анализа и модификации диаграмм классов:- нахождения компонент связности, что соответствуетдекомпозиции системы на подсистемы;- поиска клонов;- модификации диаграмм с помощью введенных

операций пересечений и сочленения.

Над классами рассматриваются операции пересечения и сочленения. Пересечение классов вводится на основе стандартного теоретико-множественного пересечения бинарных отношений, а сочленение – на основе специальной операции наложения, которая позволяет разрешить конфликт имен. Указанные операции над классами могут быть использованы при рефакторинге(refactoring) программ.

Выводы

Page 23: TMPA-2013 Kompan and Bui: OOP Class Diagrams

СПАСИБО ЗА ВНИМАНИЕ