SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
ДИАГРАММЫ КЛАССОВ ООП:
ФОРМАЛИЗАЦИЯ И АНАЛИЗ

Буй Д.Б., д.-р физ.-мат. н., профессор
Киевский национальный университет
имени Тараса Шевченко, Украина
e-mail: buy@unicyb.kiev.ua
Компан С.В., аспирант
Киевский национальный университет
имени Тараса Шевченко, Украина
e-mail: skompan@mail.ru
Для реляционных БД уже построена
формальная модель
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.
Для объектных БД так же построены
формальные модели
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
В статье проводится краткий
сравнительный
анализ
работ,
посвященных формальным моделям
объектно-ориентированного
программирования
Предмет исследования – модель диаграммы
классов (соответствующее частично
упорядоченное множество).
Модель класса (спецификация класса) – пара
бинарных функциональных отношений, одна
компонента уточняет атрибуты, вторая –
методы.
Постановка задачи
Предметная область Школа

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

где  – множество объектов классов,  – множество
спецификаций классов, obj – множество операций
 spec – множество операций над
над объектами,
спецификациями классов, а бинарное отношение
     – частичный порядок, уточняющий
наследование.
K  s,  

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

K3
Операция сочленения уточняет
множественное наследование
Рассмотрим важнейшие частные случаи:
а) doms1  doms2   ⋀ dom1  dom 2  
Тогда получим производный класс:
K 3  s1  s 2 , 1   2 

б)

doms1  doms2  

или/и

конфликт разрешается
наложения.

с

dom1  dom 2  

помощью

операции
Лемма. Для произвольных функциональных
бинарных отношений 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 .
Следствие 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)  .
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 , 
– множество всех функциональных
бинарных отношений (на универсальном
домене D );
 – обычное теоретико-множественное
включение.
F

Буй Д.Б. Теоретико-множественные конструкции полного образа,
ограничения, конфинальности и совместности в основаниях
реляционных баз данных / Д.Б. Буй, Н.Д. Кахута // Материалы IX
Международной конференции «Интеллектуальные системы и
компьютерные науки», 23-27 октября 2006. – Т. 1, С. 72 - 76
Предложение 1. Ч.у.м. F ,  есть нижняя
полурешетка, при этом inf  f , g  f  g .
Предложение 2 (структура ч. у. м. F ,  ).
Выполняются следующие утверждения.
1) Всюду неопределенная функция f  –
наименьший элемент («дно») ч. у. м. F ,  .
2) Наибольший элемент в ч. у. м. F , 
существует тогда и только тогда, когда
универсум – одноэлементный.
3) Точная нижняя грань существует для
любого непустого множества F , причем
inf F   f F f
4) Точная верхняя грань множества F
существует тогда и только тогда, когда
множество F ограничено сверху, при этом
sup F   f F f ;
5) Элемент является атомом тогда и только
тогда, когда f – одноэлементный;
F ,  является условно полным
6) Ч. у. м.
ч. у. м. и полной (верхней) полурешеткой.
Выводы

Предложенная формальная модель может использоваться
для анализа и модификации диаграмм классов:
- нахождения компонент связности, что соответствует
декомпозиции системы на подсистемы;
- поиска клонов;
- модификации диаграмм с помощью введенных
операций пересечений и сочленения.
Над классами рассматриваются операции пересечения и
сочленения. Пересечение классов вводится на основе
стандартного теоретико-множественного пересечения
бинарных отношений, а сочленение – на основе
специальной операции наложения, которая позволяет
разрешить конфликт имен. Указанные операции над
классами могут быть использованы при рефакторинге
(refactoring) программ.
СПАСИБО ЗА ВНИМАНИЕ

Más contenido relacionado

Similar a TMPA-2013 Kompan and Bui: OOP Class Diagrams

лекция 5 тема 1
лекция 5 тема 1лекция 5 тема 1
лекция 5 тема 1Noobie312
 
Новые поступления - Март 2011
Новые поступления - Март 2011Новые поступления - Март 2011
Новые поступления - Март 2011Nick
 
word2vec (part 1)
word2vec (part 1)word2vec (part 1)
word2vec (part 1)Denis Dus
 
Новые поступления - Март 2011
Новые поступления - Март 2011Новые поступления - Март 2011
Новые поступления - Март 2011Nick
 
Data base
Data baseData base
Data basesng
 
20111106 circuit complexity_seminar_lecture06_golovnev
20111106 circuit complexity_seminar_lecture06_golovnev20111106 circuit complexity_seminar_lecture06_golovnev
20111106 circuit complexity_seminar_lecture06_golovnevComputer Science Club
 
Презентация на тему: Информационное моделирование
Презентация на тему: Информационное моделированиеПрезентация на тему: Информационное моделирование
Презентация на тему: Информационное моделирование2berkas
 
554 1 алгебра. 9кл.-кузнецова, муравьева и др_минск, 2014 -287с
554 1  алгебра. 9кл.-кузнецова, муравьева и др_минск, 2014 -287с554 1  алгебра. 9кл.-кузнецова, муравьева и др_минск, 2014 -287с
554 1 алгебра. 9кл.-кузнецова, муравьева и др_минск, 2014 -287сdfdkfjs
 
Kuznecova 9klass
Kuznecova 9klassKuznecova 9klass
Kuznecova 9klassqwasar1
 
word2vec (часть 2)
word2vec (часть 2)word2vec (часть 2)
word2vec (часть 2)Denis Dus
 
Классификация изображений
Классификация изображенийКлассификация изображений
Классификация изображенийLiloSEA
 
Классификация изображений
Классификация изображенийКлассификация изображений
Классификация изображенийLiloSEA
 
Базы данных лекция №5
Базы данных лекция №5Базы данных лекция №5
Базы данных лекция №5Vitaliy Pak
 
Matematika 10-klass-merzljak-2018-ros
Matematika 10-klass-merzljak-2018-rosMatematika 10-klass-merzljak-2018-ros
Matematika 10-klass-merzljak-2018-roskreidaros1
 
разработка
разработкаразработка
разработкаgvozdikaaa
 
разработка
разработкаразработка
разработкаgvozdikaaa
 
Управление Данными. Лекция 5
Управление Данными. Лекция 5Управление Данными. Лекция 5
Управление Данными. Лекция 5Dmitriy Krukov
 

Similar a TMPA-2013 Kompan and Bui: OOP Class Diagrams (20)

лекция 5 тема 1
лекция 5 тема 1лекция 5 тема 1
лекция 5 тема 1
 
Экспертные системы: лекция №5
Экспертные системы: лекция №5Экспертные системы: лекция №5
Экспертные системы: лекция №5
 
Новые поступления - Март 2011
Новые поступления - Март 2011Новые поступления - Март 2011
Новые поступления - Март 2011
 
word2vec (part 1)
word2vec (part 1)word2vec (part 1)
word2vec (part 1)
 
Новые поступления - Март 2011
Новые поступления - Март 2011Новые поступления - Март 2011
Новые поступления - Март 2011
 
Data base
Data baseData base
Data base
 
20111106 circuit complexity_seminar_lecture06_golovnev
20111106 circuit complexity_seminar_lecture06_golovnev20111106 circuit complexity_seminar_lecture06_golovnev
20111106 circuit complexity_seminar_lecture06_golovnev
 
Презентация на тему: Информационное моделирование
Презентация на тему: Информационное моделированиеПрезентация на тему: Информационное моделирование
Презентация на тему: Информационное моделирование
 
554 1 алгебра. 9кл.-кузнецова, муравьева и др_минск, 2014 -287с
554 1  алгебра. 9кл.-кузнецова, муравьева и др_минск, 2014 -287с554 1  алгебра. 9кл.-кузнецова, муравьева и др_минск, 2014 -287с
554 1 алгебра. 9кл.-кузнецова, муравьева и др_минск, 2014 -287с
 
117
117117
117
 
Kuznecova 9klass
Kuznecova 9klassKuznecova 9klass
Kuznecova 9klass
 
OntoEd
OntoEdOntoEd
OntoEd
 
word2vec (часть 2)
word2vec (часть 2)word2vec (часть 2)
word2vec (часть 2)
 
Классификация изображений
Классификация изображенийКлассификация изображений
Классификация изображений
 
Классификация изображений
Классификация изображенийКлассификация изображений
Классификация изображений
 
Базы данных лекция №5
Базы данных лекция №5Базы данных лекция №5
Базы данных лекция №5
 
Matematika 10-klass-merzljak-2018-ros
Matematika 10-klass-merzljak-2018-rosMatematika 10-klass-merzljak-2018-ros
Matematika 10-klass-merzljak-2018-ros
 
разработка
разработкаразработка
разработка
 
разработка
разработкаразработка
разработка
 
Управление Данными. Лекция 5
Управление Данными. Лекция 5Управление Данными. Лекция 5
Управление Данными. Лекция 5
 

Más de Iosif Itkin

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Iosif Itkin
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...Iosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesIosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolIosif Itkin
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresIosif Itkin
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday SeasonIosif Itkin
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AIIosif Itkin
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresIosif Itkin
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...Iosif Itkin
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiIosif Itkin
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenIosif Itkin
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...Iosif Itkin
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...Iosif Itkin
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)Iosif Itkin
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop TestingIosif Itkin
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in ReviewIosif Itkin
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyIosif Itkin
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesIosif Itkin
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)Iosif Itkin
 

Más de Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

TMPA-2013 Kompan and Bui: OOP Class Diagrams

  • 1. ДИАГРАММЫ КЛАССОВ ООП: ФОРМАЛИЗАЦИЯ И АНАЛИЗ Буй Д.Б., д.-р физ.-мат. н., профессор Киевский национальный университет имени Тараса Шевченко, Украина e-mail: buy@unicyb.kiev.ua Компан С.В., аспирант Киевский национальный университет имени Тараса Шевченко, Украина e-mail: skompan@mail.ru
  • 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. Для объектных БД так же построены формальные модели 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. В статье проводится краткий сравнительный анализ работ, посвященных формальным моделям объектно-ориентированного программирования
  • 5. Предмет исследования – модель диаграммы классов (соответствующее частично упорядоченное множество). Модель класса (спецификация класса) – пара бинарных функциональных отношений, одна компонента уточняет атрибуты, вторая – методы.
  • 6. Постановка задачи Предметная область Школа Предметная область ВУЗ
  • 9. ПОСТРОЕНИЕ ОБЪЕКТНОЙ АЛГЕБРАИЧЕСКОЙ СИСТЕМЫ  ,  ;  obj ;  spec ,  где  – множество объектов классов,  – множество спецификаций классов, obj – множество операций  spec – множество операций над над объектами, спецификациями классов, а бинарное отношение      – частичный порядок, уточняющий наследование.
  • 10. K  s,   s – функциональное бинарное отношение, которое атрибуту ставит в соответствие его тип;  – функциональное бинарное отношение, которое методу ставит в соответствие его семантику (логику работы). Отношения  и s определяют спецификацию класса.
  • 11. операция пересечения  :   для значений имеем:  s1 , 1    s2 ,  2  s1  s2 , 1   2  где  – стандартное теоретико-множественное пересечение.
  • 12. операция сочленения ∐ :     s1 , 1    s2 ,  2  s1s2 , 1 2,  где def fg  g  f (domf domg ) K1 K2 K3
  • 13. Операция сочленения уточняет множественное наследование Рассмотрим важнейшие частные случаи: а) doms1  doms2   ⋀ dom1  dom 2   Тогда получим производный класс: K 3  s1  s 2 , 1   2  б) doms1  doms2   или/и конфликт разрешается наложения. с dom1  dom 2   помощью операции
  • 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. Следствие 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. def X  domf  domg X  f  g ⋀ f  g  f означает, что у функций просто нет общих аргументов, потому они не могут конфликтовать (принимать разные значения на общем аргументе). Естественно, общая часть в этом случае пуста.
  • 17. X  dom( f  g )  f  g ⋀ f g f X gX означает, что на множестве общих аргументов функции ведут себя одинаково (принимают одинаковые значения на общих аргументах). Общая часть в этом случае может быть как пустой, так и непустой. Таким образом, первый пункт является частным случаем второго.
  • 18. dom( f  g )  X  ( f  g ) ⋀ x x  X  f ( x)  g ( x)   . Существует общий аргумент, на котором функции ведут себя по-разному. Что касается общей части, то она может быть как пустой, так и непустой.
  • 19. результаты о структуре частично упорядоченного множества F ,  – множество всех функциональных бинарных отношений (на универсальном домене D );  – обычное теоретико-множественное включение. F Буй Д.Б. Теоретико-множественные конструкции полного образа, ограничения, конфинальности и совместности в основаниях реляционных баз данных / Д.Б. Буй, Н.Д. Кахута // Материалы IX Международной конференции «Интеллектуальные системы и компьютерные науки», 23-27 октября 2006. – Т. 1, С. 72 - 76
  • 20. Предложение 1. Ч.у.м. F ,  есть нижняя полурешетка, при этом inf  f , g  f  g . Предложение 2 (структура ч. у. м. F ,  ). Выполняются следующие утверждения. 1) Всюду неопределенная функция f  – наименьший элемент («дно») ч. у. м. F ,  . 2) Наибольший элемент в ч. у. м. F ,  существует тогда и только тогда, когда универсум – одноэлементный. 3) Точная нижняя грань существует для любого непустого множества F , причем inf F   f F f
  • 21. 4) Точная верхняя грань множества F существует тогда и только тогда, когда множество F ограничено сверху, при этом sup F   f F f ; 5) Элемент является атомом тогда и только тогда, когда f – одноэлементный; F ,  является условно полным 6) Ч. у. м. ч. у. м. и полной (верхней) полурешеткой.
  • 22. Выводы Предложенная формальная модель может использоваться для анализа и модификации диаграмм классов: - нахождения компонент связности, что соответствует декомпозиции системы на подсистемы; - поиска клонов; - модификации диаграмм с помощью введенных операций пересечений и сочленения. Над классами рассматриваются операции пересечения и сочленения. Пересечение классов вводится на основе стандартного теоретико-множественного пересечения бинарных отношений, а сочленение – на основе специальной операции наложения, которая позволяет разрешить конфликт имен. Указанные операции над классами могут быть использованы при рефакторинге (refactoring) программ.