Upload
iosif-itkin
View
527
Download
0
Embed Size (px)
DESCRIPTION
TMPA-2013 Tools & Methods of Program Analysis Bui, D., Kompan, S., Taras Shevchenko National University of Kyiv OOP Class Diagrams: Formation and Analysis
Citation preview
ДИАГРАММЫ КЛАССОВ ООП: ФОРМАЛИЗАЦИЯ И АНАЛИЗ
Буй Д.Б., д.-р физ.-мат. н., профессорКиевский национальный университет имени Тараса Шевченко, Украинаe-mail: [email protected]
Компан С.В., аспирантКиевский национальный университет имени Тараса Шевченко, Украинаe-mail: [email protected]
Для реляционных БД уже построена формальная модель
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.
Для объектных БД так же построены формальные модели
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
В статье проводится краткийсравнительный анализ работ,посвященных формальным моделямобъектно-ориентированногопрограммирования
Предмет исследования – модель диаграммы классов (соответствующее частично упорядоченное множество).Модель класса (спецификация класса) – пара бинарных функциональных отношений, одна компонента уточняет атрибуты, вторая –методы.
Постановка задачиПредметная область Школа Предметная область ВУЗ
Объединение предметных областей Школа и ВУЗ
Математические результаты
ПОСТРОЕНИЕ ОБЪЕКТНОЙ АЛГЕБРАИЧЕСКОЙ СИСТЕМЫ
где – множество объектов классов, – множествоспецификаций классов, – множество операцийнад объектами, – множество операций надспецификациями классов, а бинарное отношение
– частичный порядок, уточняющийнаследование.
,;;, specobj
objspec
,sK– функциональное бинарное отношение,
которое атрибуту ставит в соответствие еготип;
– функциональное бинарное отношение,которое методу ставит в соответствие егосемантику (логику работы). Отношения иопределяют спецификацию класса.
s
s
для значений имеем:
где – стандартное теоретико-множествен-ное пересечение.
операция пересечения :
21212211 ,,, ssss
, где
операция сочленения
: 21212211 ,,, ssss
)\( domgdomffggfdef
K1 K2
K3
∐
Рассмотрим важнейшие частные случаи:а) Тогда получим производный класс:
б) или/и
21 domsdoms 21 domdom
21213 , ssK
21 domsdoms 21 domdom
⋀
Операция сочленения уточняет множественное наследование
конфликт разрешается с помощью операцииналожения.
Лемма. Для произвольных функциональныхбинарных отношений и выполняетсяравенство:
Следствие 1. (критерий совместностифункциональных бинарных отношений).Пусть – произвольные функциональныебинарные отношения, а . Тогдаимеют место две эквивалентности:
,.
f g
)()( domgdomfgfgf
gf ,domgdomfX
def
Xgfdomgf )(
Xgfdomgf )()(
Следствие 2. (критерий совместностифункциональных бинарных отношений).Пусть ; выполняются следующиеутверждения.1) ;2) ;3) .
domgdomfXdef
gfX fgf
gfgfdomX )( XgXfgf
)()( gfXgfdom )()( xgxfXxx
⋀
⋀
⋀
gfX fgf означает, что у функций просто нет общих аргументов, потому они не могут конфликтовать (принимать разные значения на общем аргументе). Естественно, общая часть в этом случае пуста.
domgdomfXdef
⋀
означает, что на множестве общих аргументовфункции ведут себя одинаково (принимаютодинаковые значения на общих аргументах).Общая часть в этом случае может быть какпустой, так и непустой.Таким образом, первый пункт являетсячастным случаем второго.
gfgfdomX )( XgXfgf ⋀
Существует общий аргумент, на которомфункции ведут себя по-разному.Что касается общей части, то она может бытькак пустой, так и непустой.
)()( gfXgfdom )()( xgxfXxx .⋀
результаты о структуре частично упорядоченного множества
– множество всех функциональныхбинарных отношений (на универсальномдомене );
– обычное теоретико-множественноевключение.
Буй Д.Б. Теоретико-множественные конструкции полного образа,ограничения, конфинальности и совместности в основанияхреляционных баз данных / Д.Б. Буй, Н.Д. Кахута // Материалы IXМеждународной конференции «Интеллектуальные системы икомпьютерные науки», 23-27 октября 2006. – Т. 1, С. 72 - 76
,F
F
D
Предложение 1. Ч.у.м. есть нижняя полурешетка, при этом . Предложение 2 (структура ч. у. м. ). Выполняются следующие утверждения.1) Всюду неопределенная функция –наименьший элемент («дно») ч. у. м. .2) Наибольший элемент в ч. у. м. существует тогда и только тогда, когда универсум – одноэлементный.3) Точная нижняя грань существует для любого непустого множества , причем
,F gfgf ,inf
,F
f,F
,F
fF Ff infF
4) Точная верхняя грань множествасуществует тогда и только тогда, когдамножество ограничено сверху, при этом
;5) Элемент является атомом тогда и только тогда, когда – одноэлементный;6) Ч. у. м. является условно полнымч. у. м. и полной (верхней) полурешеткой.
FfF Ff sup
f
,F
F
Предложенная формальная модель может использоватьсядля анализа и модификации диаграмм классов:- нахождения компонент связности, что соответствуетдекомпозиции системы на подсистемы;- поиска клонов;- модификации диаграмм с помощью введенных
операций пересечений и сочленения.
Над классами рассматриваются операции пересечения и сочленения. Пересечение классов вводится на основе стандартного теоретико-множественного пересечения бинарных отношений, а сочленение – на основе специальной операции наложения, которая позволяет разрешить конфликт имен. Указанные операции над классами могут быть использованы при рефакторинге(refactoring) программ.
Выводы
СПАСИБО ЗА ВНИМАНИЕ