SlideShare a Scribd company logo
Managing 
the 
Consistency 
of 
(Evolving) 
Informa8on 
Systems 
with 
Intensional 
Views 
and 
Rela8onal 
Algebra 
applied 
to 
a 
case 
of 
IP 
phone 
localisa1on 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau 
Presented 
at 
BENEVOL 
2014, 
Amsterdam 
— 
28 
November 
2014 
based 
on 
David 
Colpaert’s 
Master 
Thesis 
in 
Computer 
Science 
at 
UCL, 
Belgium 
— 
19 
June 
2014
Managing 
the 
Consistency 
of 
(Evolving) 
Informa8on 
Systems 
with 
MAY CONTAIN 
TRACES OF 
FRENCH 
Intensional 
Views 
and 
Rela8onal 
Algebra 
applied 
to 
a 
case 
of 
IP 
phone 
localisa1on 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau 
Presented 
at 
BENEVOL 
2014, 
Amsterdam 
— 
28 
November 
2014 
based 
on 
David 
Colpaert’s 
Master 
Thesis 
in 
Computer 
Science 
at 
UCL, 
Belgium 
— 
19 
June 
2014
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau 
2/20 
Intro-­‐ 
duc8on 
Ini8al 
Solu8on 
Case 
Study 
Valida8on 
Improved 
Solu8on 
Intensio-­‐ 
nal 
Views 
Valida8on 
Conclusion 
Ini8al 
Solu8on 
Improved 
Solu8on
When 
evolving, 
migra8ng 
or 
merging 
databases, 
how 
to 
detect 
poten8al 
inconsistencies 
that 
may 
exist 
in 
the 
data? 
• Data 
coming 
from 
mul8ple 
contradictory 
or 
incomplete 
sources 
• Preferably 
via 
an 
easy-­‐to-­‐understand 
graphical 
user 
interface 
Case 
study 
: 
localisa8on 
of 
IP 
telephones 
at 
a 
university 
Need 
a 
generic 
tool 
to 
describe 
and 
detect 
consistency 
rules 
3/20 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau
Localise 
IP 
telephones 
at 
a 
university 
in 
case 
of 
emergency 
calls 
• By 
merging 
data 
coming 
from 
different 
sources 
• Via 
automated 
scripts 
• While 
iden8fying 
poten8al 
errors 
in 
the 
data 
Generic 
tool 
for 
managing 
IP 
telephones 
Web 
Interface 
4/20 
1. 
Plan 
2. 
Intro 
3. 
Ini0al 
Solu0on 
4. 
Case 
Study 
5. 
Valida8on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau
3 
sources 
for 
localisa8on 
data: 
• Via 
the 
« 
deployment 
» 
Excel 
files 
• Via 
the 
network 
(IP 
switches) 
• Via 
the 
telephone 
exchange 
system 
MX1 
and 
SAP 
system 
Deployment 
MX1+SAP 
Network 
Merging 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
Numéro 
UCL 
Bâ0ment 
Local 
UA-­‐00001 
SC16 
A 
001 
Extract 
of 
the 
deployment 
file 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau 
5/20
D. 
Colpaert, 
K. 
Mens 
& 
B. 
Lambeau 
6/20
3 
sources 
for 
localisa8on 
data: 
• Via 
the 
« 
deployment 
» 
Excel 
files 
• Via 
the 
network 
(IP 
switches) 
• Via 
the 
telephone 
exchange 
system 
MX1 
and 
SAP 
system 
One 
script 
per 
source 
Merging 
of 
the 
data 
from 
these 
sources 
Scripts 
and 
merges 
executed 
daily 
20.000 
lignes 
of 
code 
Currently 
used 
in 
produc8on 
at 
the 
university 
Deployment 
MX1+SAP 
Network 
Merging 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
Numéro 
UCL 
Bâ0ment 
Local 
UA-­‐00001 
SC16 
A 
001 
Extract 
of 
the 
deployment 
file 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau 
7/20
Managing the Evolution of Information Systems with Intensional Views and Relational Algebra
D. 
Colpaert, 
K. 
Mens 
& 
B. 
Lambeau 
9/20
Mul8ple 
errors, 
inconsistencies 
and 
lacking 
informa8on 
• In 
each 
of 
the 
sources 
individually 
• When 
merging 
the 
data 
Errors 
logged 
in 
files 
• Difficult 
to 
manipulate 
• Difficult 
to 
understand 
• Difficult 
to 
solve 
• Hard 
to 
see 
the 
«bigger 
picture» 
10/20 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida0on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
[ERROR] 
Le 
local 
pour 
le 
numéro 
de 
téléphone 
43325 
est 
manquant 
à 
la 
ligne 
34. 
[WARNING] 
Un 
déploiement 
existe 
déjà 
pour 
le 
numéro 
UCL 
TA-­‐00803 
à 
la 
ligne 
47. 
[ERROR] 
Iden8fiant 
du 
switch 
non 
trouvé 
: 
SalleOleffe01281098 
(172.31.28.137) 
pour 
l'adresse 
MAC 
: 
00:08:5d:35:32:cc 
[ERROR] 
Le 
bâ8ment 
pour 
l'adresse 
MAC 
00:08:5d: 
35:3c:d2 
est 
manquant 
[ERROR] 
Le 
bâ8ment 
Logement 
456 
ne 
peut 
être 
conver8 
en 
un 
code 
ba8ment 
car 
ce 
nom 
est 
inconnu 
dans 
la 
table 
buildings 
[ERROR] 
Le 
numéro 
de 
téléphone 
73999 
n'existe 
pas 
dans 
le 
fichier 
SAP 
Examples 
of 
some 
errors 
and 
warnings 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau
Mul8ple 
errors, 
inconsistencies 
and 
lacking 
informa8on 
• In 
each 
of 
the 
sources 
individually 
• When 
merging 
the 
data 
Errors 
logged 
in 
files 
• Difficult 
to 
manipulate 
• Difficult 
to 
understand 
• Difficult 
to 
solve 
• Hard 
to 
see 
the 
«bigger 
picture» 
10/20 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida0on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
MISSING 
DATA 
INCONSISTENT 
DATA 
MISSING 
DATA 
MISSING 
DATA 
INCORRECT 
DATA 
MISSING 
DATA 
Different 
kinds 
of 
inconsistencies 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau
10/20 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida0on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
Errors 
in 
the 
deployment 
files 
Errors 
in 
the 
network 
data 
Errors 
in 
the 
MX1+SAP 
data 
Errors 
in 
the 
merged 
data
11/20 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
6. 
Improved 
Solu0on 
7. 
Intensional 
Views 
Expressing 
constraints 
on 
the 
data 
• Over 
mul8ple 
tables 
and 
fields 
• While 
filtering 
irrelevant 
entries 
Detec8ng 
and 
inspec8ng 
inconsistencies 
• with 
respect 
to 
these 
constraints 
Simplicity 
of 
expression 
without 
sacrificing 
expressiveness 
8. 
Valida8on 
9. 
Conclusion 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau
12/20 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
Combine 
2 
exis8ng 
ideas: 
• Intensional 
Views 
• Rela8onal 
Algebra 
Querying 
with 
Alf 
Make 
a 
generic 
tool 
for 
defining 
and 
checking 
constraints 
over 
the 
data 
Via 
an 
easy-­‐to-­‐use 
user 
interface 
Valida8on 
by 
applying 
it 
to 
our 
case 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
Intensional 
Views 
Originally 
designed 
for 
sovware 
(code) 
quality 
assurance 
purposes 
Allows 
expressing 
and 
verifying 
structural 
source-­‐code 
regulari8es 
Reuse 
this 
idea 
for 
expressing 
and 
detec8ng 
database 
constraints 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion
Alf 
(www.try-­‐alf.org) 
A 
database 
query 
language 
based 
on 
rela8onal 
algebra 
project, 
restrict, 
join, 
union, 
intersect, 
minus,… 
« 
join_on(le6_table, 
right_table, 
[:mac]) 
» 
Vues 
intensionnelles 
Ini8alement 
des8né 
à 
la 
maintenance 
logicielle 
Vérifier 
des 
contraintes 
sur 
un 
code 
source 
Ici, 
contraintes 
sur 
une 
base 
de 
données 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
It is also possible to define some additional filters in 
order to consider only a subset of the data, for instance, only 
considering one particular building. This can be useful, for 
example, when analyzing very large databases with lots of 
inconsistencies, and the user wants to inspect the inconsisten-cies 
for a particular subset of the data only. In our particular 
example, we didn’t apply any such filters. 
Finally, when the user clicks on the ‘Check constraint’ 
button, three different Alf queries are generated. The first 
one is a query to find the positive results, i.e. all tuples that 
satisfy the declared constraint. A second query will calculate 
the mismatches in the source table, i.e. all tuples in the source 
table that do not satisfy the declared constraint. A third query 
calculates the mismatches in the target table. 
The generated Alf query for the positive results looks 
somewhat like this: 
r e s t r i c t ( 
join on ( source t a b l e , t a r g e t t a b l e , 
common key ) , 
eq ( : sour c e t a b l e bui l d i ng , 
: target t a b l e b u i l d i n g ) & 
eq ( : source t a b le room , 
: target t a b l e r oom ) ) 
From this query it can be observed that the two concerned 
tables are first joined based on their common key, and then 
the results are restricted to the tuples satisfying all conditions, 
Fig. 2. Inspecting data (in)consistencies with the highlighted view it suffices to click on the button ‘Highlighted the bottom of the intensional view editor. 
Figure 2 illustrates what this highlighted view like for our previous example. It displays each of the tables, that is, the source and target tables but intermediate table used for defining the key mapping. of these tables the tuples are coloured either in correspond to an inconsistency, in green if they correspond a positive result, or just appear in white if the concerned by this particular constraint.
If 
8me 
(and 
beamer) 
permit: 
video 
of 
comparing 
localisa8on 
from 
network 
and 
deployment 
sources 
15/20 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau
1. 
Plan 
2. 
Intro 
3. 
Objec8fs 
ini8aux 
4. 
Cas 
d’étude 
5. 
Valida8on 
6. 
Nouveaux 
objec8fs 
7. 
Vues 
intensionnel 
les 
8. 
Valida8on 
9. 
Conclusion
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau 
17/20
Consistency 
of 
localisa8on 
data 
(network 
vs. 
deployment) 
• 1322 
posi8ve 
results 
• 2787/4098 
(68%) 
nega8ves 
in 
the 
network 
source 
• 2057/3368 
(61%) 
nega8ves 
in 
the 
deployment 
source 
Iden8cal 
localisa8on 
data 
in 
all 
three 
sources 
• ~1000/7512 
(13%) 
cases 
Contradictory 
data 
in 
all 
three 
sources 
• 104/7512 
(1%) 
cases 
Missing 
ayribu8ons 
in 
the 
network 
source 
• 701/4098 
(17%) 
cases 
18/20 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida0on 
9. 
Conclusion 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau
Achieved 
Objec8ves: 
• New 
approach 
to 
express, 
verify 
and 
visualise 
data 
constraints 
• Combining 
intensional 
views 
and 
rela8onal 
algebra 
Possible 
Improvements: 
• Contraints 
on 
more 
than 
two 
tables 
• Increase 
expressivity 
(aggrega8on, 
user-­‐def. 
pred., 
devia8ons, 
logic 
queries) 
• Ergonomy 
of 
the 
user 
interface, 
efficiency 
improvements, 
… 
Cross 
Fer8lisa8on: 
• Think 
out 
of 
the 
box 
• Apply 
old 
ideas 
to 
new 
domains 
(here 
we 
applied 
code 
tools 
to 
data) 
• (Could 
DB 
tools 
also 
be 
applied 
to 
code 
by 
seeing 
it 
as 
structured 
data?) 
19/20 
1. 
Plan 
2. 
Intro 
3. 
Ini8al 
Solu8on 
4. 
Case 
Study 
5. 
Valida8on 
6. 
Improved 
Solu8on 
7. 
Intensional 
Views 
8. 
Valida8on 
9. 
Conclusion 
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau
David 
Colpaert, 
Kim 
Mens 
& 
Bernard 
Lambeau 
20/20

More Related Content

Viewers also liked (15)

PDF
Basics of reflection
kim.mens
 
PPT
Enhancing Library Services with Social Media
Britta Krabill
 
PDF
Basics of reflection in java
kim.mens
 
PPT
Interviewing Skills
John Erdman
 
PPTX
Jumping on the Twitter Bandwagon
Britta Krabill
 
PDF
Information Systems Evolution (IS)
Helmee Halim
 
PDF
(In)Formal Concept Analysis
kim.mens
 
PDF
Election Day
Laurie Bartels
 
PDF
IntensiVE - A Toolsuite For Documenting and Checking Structural Source-Code R...
kim.mens
 
PDF
A Survey Of Aspect Mining Approaches
kim.mens
 
PPT
Discover Facebook (New)
Britta Krabill
 
PPT
Types Of Information Systems
Manuel Ardales
 
PPT
QQ公仔
guest9998cb
 
PDF
Sheep Dissection
Laurie Bartels
 
Basics of reflection
kim.mens
 
Enhancing Library Services with Social Media
Britta Krabill
 
Basics of reflection in java
kim.mens
 
Interviewing Skills
John Erdman
 
Jumping on the Twitter Bandwagon
Britta Krabill
 
Information Systems Evolution (IS)
Helmee Halim
 
(In)Formal Concept Analysis
kim.mens
 
Election Day
Laurie Bartels
 
IntensiVE - A Toolsuite For Documenting and Checking Structural Source-Code R...
kim.mens
 
A Survey Of Aspect Mining Approaches
kim.mens
 
Discover Facebook (New)
Britta Krabill
 
Types Of Information Systems
Manuel Ardales
 
QQ公仔
guest9998cb
 
Sheep Dissection
Laurie Bartels
 

Similar to Managing the Evolution of Information Systems with Intensional Views and Relational Algebra (20)

PDF
Remediating Data Quality by using Data cleaning
gabbz308
 
PDF
Optimizing the Catalyst Optimizer for Complex Plans
Databricks
 
PDF
RR2010 Keynote
Clark & Parsia LLC
 
PDF
Consistent query answering in inconsistent databases
Ngonidzashe Zanamwe
 
PDF
Oracle
Pratima Parida
 
KEY
20110516_ria_ENC
riamaehb
 
DOCX
Data cleaning
Pooja Jain
 
PPTX
Slides: The Business Value of Data Modeling
DATAVERSITY
 
PPT
Data validation in the Digital Age
J T "Tom" Johnson
 
PDF
Data Preprocessing Concepts in Data Engineering
Ponvannan Ponnuramu
 
PDF
CodeCritics Applied to Database Schema: Challenges and First Results
Julien Delplanque
 
PDF
Five finger audit
Bertil Hatt
 
PPT
End User Informatics
Ambareesh Kulkarni
 
PDF
Learning Timed Automata with Cypher
Gábor Szárnyas
 
PDF
Stardog Linked Data Catalog
kendallclark
 
PDF
Stardog Linked Data Catalog
Clark & Parsia LLC
 
PDF
Not Just UNIQUE: Exclusion Constraints
Command Prompt., Inc
 
PPTX
addressing tim/quality trade-off in view maintenance
Soheila Dehghanzadeh
 
PDF
Runaway complexity in Big Data... and a plan to stop it
nathanmarz
 
DOC
Etl And Data Test Guidelines For Large Applications
Wayne Yaddow
 
Remediating Data Quality by using Data cleaning
gabbz308
 
Optimizing the Catalyst Optimizer for Complex Plans
Databricks
 
RR2010 Keynote
Clark & Parsia LLC
 
Consistent query answering in inconsistent databases
Ngonidzashe Zanamwe
 
20110516_ria_ENC
riamaehb
 
Data cleaning
Pooja Jain
 
Slides: The Business Value of Data Modeling
DATAVERSITY
 
Data validation in the Digital Age
J T "Tom" Johnson
 
Data Preprocessing Concepts in Data Engineering
Ponvannan Ponnuramu
 
CodeCritics Applied to Database Schema: Challenges and First Results
Julien Delplanque
 
Five finger audit
Bertil Hatt
 
End User Informatics
Ambareesh Kulkarni
 
Learning Timed Automata with Cypher
Gábor Szárnyas
 
Stardog Linked Data Catalog
kendallclark
 
Stardog Linked Data Catalog
Clark & Parsia LLC
 
Not Just UNIQUE: Exclusion Constraints
Command Prompt., Inc
 
addressing tim/quality trade-off in view maintenance
Soheila Dehghanzadeh
 
Runaway complexity in Big Data... and a plan to stop it
nathanmarz
 
Etl And Data Test Guidelines For Large Applications
Wayne Yaddow
 
Ad

More from kim.mens (20)

PDF
Software Maintenance and Evolution
kim.mens
 
PDF
Context-Oriented Programming
kim.mens
 
PDF
Software Reuse and Object-Oriented Programming
kim.mens
 
PDF
Bad Code Smells
kim.mens
 
PDF
Object-Oriented Design Heuristics
kim.mens
 
PDF
Software Patterns
kim.mens
 
PDF
Code Refactoring
kim.mens
 
PDF
Domain Modelling
kim.mens
 
PDF
Object-Oriented Application Frameworks
kim.mens
 
PDF
Towards a Context-Oriented Software Implementation Framework
kim.mens
 
PDF
Towards a Taxonomy of Context-Aware Software Variabilty Approaches
kim.mens
 
PDF
Breaking the Walls: A Unified Vision on Context-Oriented Software Engineering
kim.mens
 
PDF
Context-oriented programming
kim.mens
 
PDF
Advanced Reflection in Java
kim.mens
 
PDF
Reflection in Ruby
kim.mens
 
PDF
Introduction to Ruby
kim.mens
 
PDF
A gentle introduction to reflection
kim.mens
 
PDF
Usage contracts (presented at SATToSE 2014 in L'Aquila, Italy)
kim.mens
 
PPTX
INGI2252 Software Measures & Maintenance
kim.mens
 
PDF
Building an Eclipse plugin to recommend changes to developers
kim.mens
 
Software Maintenance and Evolution
kim.mens
 
Context-Oriented Programming
kim.mens
 
Software Reuse and Object-Oriented Programming
kim.mens
 
Bad Code Smells
kim.mens
 
Object-Oriented Design Heuristics
kim.mens
 
Software Patterns
kim.mens
 
Code Refactoring
kim.mens
 
Domain Modelling
kim.mens
 
Object-Oriented Application Frameworks
kim.mens
 
Towards a Context-Oriented Software Implementation Framework
kim.mens
 
Towards a Taxonomy of Context-Aware Software Variabilty Approaches
kim.mens
 
Breaking the Walls: A Unified Vision on Context-Oriented Software Engineering
kim.mens
 
Context-oriented programming
kim.mens
 
Advanced Reflection in Java
kim.mens
 
Reflection in Ruby
kim.mens
 
Introduction to Ruby
kim.mens
 
A gentle introduction to reflection
kim.mens
 
Usage contracts (presented at SATToSE 2014 in L'Aquila, Italy)
kim.mens
 
INGI2252 Software Measures & Maintenance
kim.mens
 
Building an Eclipse plugin to recommend changes to developers
kim.mens
 
Ad

Recently uploaded (20)

PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Python basic programing language for automation
DanialHabibi2
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 

Managing the Evolution of Information Systems with Intensional Views and Relational Algebra

  • 1. Managing the Consistency of (Evolving) Informa8on Systems with Intensional Views and Rela8onal Algebra applied to a case of IP phone localisa1on David Colpaert, Kim Mens & Bernard Lambeau Presented at BENEVOL 2014, Amsterdam — 28 November 2014 based on David Colpaert’s Master Thesis in Computer Science at UCL, Belgium — 19 June 2014
  • 2. Managing the Consistency of (Evolving) Informa8on Systems with MAY CONTAIN TRACES OF FRENCH Intensional Views and Rela8onal Algebra applied to a case of IP phone localisa1on David Colpaert, Kim Mens & Bernard Lambeau Presented at BENEVOL 2014, Amsterdam — 28 November 2014 based on David Colpaert’s Master Thesis in Computer Science at UCL, Belgium — 19 June 2014
  • 3. David Colpaert, Kim Mens & Bernard Lambeau 2/20 Intro-­‐ duc8on Ini8al Solu8on Case Study Valida8on Improved Solu8on Intensio-­‐ nal Views Valida8on Conclusion Ini8al Solu8on Improved Solu8on
  • 4. When evolving, migra8ng or merging databases, how to detect poten8al inconsistencies that may exist in the data? • Data coming from mul8ple contradictory or incomplete sources • Preferably via an easy-­‐to-­‐understand graphical user interface Case study : localisa8on of IP telephones at a university Need a generic tool to describe and detect consistency rules 3/20 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion David Colpaert, Kim Mens & Bernard Lambeau
  • 5. Localise IP telephones at a university in case of emergency calls • By merging data coming from different sources • Via automated scripts • While iden8fying poten8al errors in the data Generic tool for managing IP telephones Web Interface 4/20 1. Plan 2. Intro 3. Ini0al Solu0on 4. Case Study 5. Valida8on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion David Colpaert, Kim Mens & Bernard Lambeau
  • 6. 3 sources for localisa8on data: • Via the « deployment » Excel files • Via the network (IP switches) • Via the telephone exchange system MX1 and SAP system Deployment MX1+SAP Network Merging 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion Numéro UCL Bâ0ment Local UA-­‐00001 SC16 A 001 Extract of the deployment file David Colpaert, Kim Mens & Bernard Lambeau 5/20
  • 7. D. Colpaert, K. Mens & B. Lambeau 6/20
  • 8. 3 sources for localisa8on data: • Via the « deployment » Excel files • Via the network (IP switches) • Via the telephone exchange system MX1 and SAP system One script per source Merging of the data from these sources Scripts and merges executed daily 20.000 lignes of code Currently used in produc8on at the university Deployment MX1+SAP Network Merging 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion Numéro UCL Bâ0ment Local UA-­‐00001 SC16 A 001 Extract of the deployment file David Colpaert, Kim Mens & Bernard Lambeau 7/20
  • 10. D. Colpaert, K. Mens & B. Lambeau 9/20
  • 11. Mul8ple errors, inconsistencies and lacking informa8on • In each of the sources individually • When merging the data Errors logged in files • Difficult to manipulate • Difficult to understand • Difficult to solve • Hard to see the «bigger picture» 10/20 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida0on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion [ERROR] Le local pour le numéro de téléphone 43325 est manquant à la ligne 34. [WARNING] Un déploiement existe déjà pour le numéro UCL TA-­‐00803 à la ligne 47. [ERROR] Iden8fiant du switch non trouvé : SalleOleffe01281098 (172.31.28.137) pour l'adresse MAC : 00:08:5d:35:32:cc [ERROR] Le bâ8ment pour l'adresse MAC 00:08:5d: 35:3c:d2 est manquant [ERROR] Le bâ8ment Logement 456 ne peut être conver8 en un code ba8ment car ce nom est inconnu dans la table buildings [ERROR] Le numéro de téléphone 73999 n'existe pas dans le fichier SAP Examples of some errors and warnings David Colpaert, Kim Mens & Bernard Lambeau
  • 12. Mul8ple errors, inconsistencies and lacking informa8on • In each of the sources individually • When merging the data Errors logged in files • Difficult to manipulate • Difficult to understand • Difficult to solve • Hard to see the «bigger picture» 10/20 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida0on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion MISSING DATA INCONSISTENT DATA MISSING DATA MISSING DATA INCORRECT DATA MISSING DATA Different kinds of inconsistencies David Colpaert, Kim Mens & Bernard Lambeau
  • 13. 10/20 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida0on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion Errors in the deployment files Errors in the network data Errors in the MX1+SAP data Errors in the merged data
  • 14. 11/20 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on 6. Improved Solu0on 7. Intensional Views Expressing constraints on the data • Over mul8ple tables and fields • While filtering irrelevant entries Detec8ng and inspec8ng inconsistencies • with respect to these constraints Simplicity of expression without sacrificing expressiveness 8. Valida8on 9. Conclusion David Colpaert, Kim Mens & Bernard Lambeau
  • 15. 12/20 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on Combine 2 exis8ng ideas: • Intensional Views • Rela8onal Algebra Querying with Alf Make a generic tool for defining and checking constraints over the data Via an easy-­‐to-­‐use user interface Valida8on by applying it to our case 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion David Colpaert, Kim Mens & Bernard Lambeau
  • 16. 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on Intensional Views Originally designed for sovware (code) quality assurance purposes Allows expressing and verifying structural source-­‐code regulari8es Reuse this idea for expressing and detec8ng database constraints 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion
  • 17. Alf (www.try-­‐alf.org) A database query language based on rela8onal algebra project, restrict, join, union, intersect, minus,… « join_on(le6_table, right_table, [:mac]) » Vues intensionnelles Ini8alement des8né à la maintenance logicielle Vérifier des contraintes sur un code source Ici, contraintes sur une base de données 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion It is also possible to define some additional filters in order to consider only a subset of the data, for instance, only considering one particular building. This can be useful, for example, when analyzing very large databases with lots of inconsistencies, and the user wants to inspect the inconsisten-cies for a particular subset of the data only. In our particular example, we didn’t apply any such filters. Finally, when the user clicks on the ‘Check constraint’ button, three different Alf queries are generated. The first one is a query to find the positive results, i.e. all tuples that satisfy the declared constraint. A second query will calculate the mismatches in the source table, i.e. all tuples in the source table that do not satisfy the declared constraint. A third query calculates the mismatches in the target table. The generated Alf query for the positive results looks somewhat like this: r e s t r i c t ( join on ( source t a b l e , t a r g e t t a b l e , common key ) , eq ( : sour c e t a b l e bui l d i ng , : target t a b l e b u i l d i n g ) & eq ( : source t a b le room , : target t a b l e r oom ) ) From this query it can be observed that the two concerned tables are first joined based on their common key, and then the results are restricted to the tuples satisfying all conditions, Fig. 2. Inspecting data (in)consistencies with the highlighted view it suffices to click on the button ‘Highlighted the bottom of the intensional view editor. Figure 2 illustrates what this highlighted view like for our previous example. It displays each of the tables, that is, the source and target tables but intermediate table used for defining the key mapping. of these tables the tuples are coloured either in correspond to an inconsistency, in green if they correspond a positive result, or just appear in white if the concerned by this particular constraint.
  • 18. If 8me (and beamer) permit: video of comparing localisa8on from network and deployment sources 15/20 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion David Colpaert, Kim Mens & Bernard Lambeau
  • 19. 1. Plan 2. Intro 3. Objec8fs ini8aux 4. Cas d’étude 5. Valida8on 6. Nouveaux objec8fs 7. Vues intensionnel les 8. Valida8on 9. Conclusion
  • 20. 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion David Colpaert, Kim Mens & Bernard Lambeau 17/20
  • 21. Consistency of localisa8on data (network vs. deployment) • 1322 posi8ve results • 2787/4098 (68%) nega8ves in the network source • 2057/3368 (61%) nega8ves in the deployment source Iden8cal localisa8on data in all three sources • ~1000/7512 (13%) cases Contradictory data in all three sources • 104/7512 (1%) cases Missing ayribu8ons in the network source • 701/4098 (17%) cases 18/20 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on 6. Improved Solu8on 7. Intensional Views 8. Valida0on 9. Conclusion David Colpaert, Kim Mens & Bernard Lambeau
  • 22. Achieved Objec8ves: • New approach to express, verify and visualise data constraints • Combining intensional views and rela8onal algebra Possible Improvements: • Contraints on more than two tables • Increase expressivity (aggrega8on, user-­‐def. pred., devia8ons, logic queries) • Ergonomy of the user interface, efficiency improvements, … Cross Fer8lisa8on: • Think out of the box • Apply old ideas to new domains (here we applied code tools to data) • (Could DB tools also be applied to code by seeing it as structured data?) 19/20 1. Plan 2. Intro 3. Ini8al Solu8on 4. Case Study 5. Valida8on 6. Improved Solu8on 7. Intensional Views 8. Valida8on 9. Conclusion David Colpaert, Kim Mens & Bernard Lambeau
  • 23. David Colpaert, Kim Mens & Bernard Lambeau 20/20