This presentation was delivered by George Papastefanatos (Athena-Research and Innovation Center) at the PERICLES final project conference 'Acting on Change: New Approaches and Future Practices in LTDP' (Wellcome Collection Conference Centre, London, 30 Nov -1 Dec 2016).
The workshop was also joined by Simon Waddington (King's College London/PERICLES) and Tomasz Miksa (SBA Research), who discussed approaches to automating long-term management including automated extraction and analysis of environments, and approaches to capturing and applying knowledge and metadata and creation of evidence to support verification and validation. Whilst full automation of preservation processes is still a distant goal, the workshop aimed at investigating how current techniques can be applied for automating decision support and enabling proactive solutions.
http://pericles-project.eu/
Unleash Your Potential - Namagunga Girls Coding Club
Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016
1. Proactive Evolution
management in
Data –centric SW ecosystems
George Papastefanatos
gpapas@imis.athena-innovation.gr
“Athena” Research & Innovation Center
Proactive data management Workshop
Acting on Change: New Approaches and Future Practices in LTDP
London, Dec 2016
2. SWEBOK Maintenance
• Preventive maintenance: modification of a software product after
delivery to detect and correct latent faults in the software product
before they become operational faults.
• Perfective maintenance: modification of a software product after
delivery to provide enhancements for users, improvement of
program documentation, and recoding to improve software
performance, maintainability, or other software attributes
• Corrective maintenance: reactive modification (or repairs) of a
software product performed after delivery to correct discovered
problems.
• Adaptive maintenance: modification of a software product
performed after delivery to keep a software product usable in a
changed or changing environment.
Correction Enhancement
Proactive Preventive Perfective
Reactive Corrective Adaptive
Papastefanatos@ ProactiveDataManagement2016 2
3. Data-Centric SW ecosystems
• Ecosystems of applications, built on top
of one or more databases and strongly
dependent upon them
• Like all software systems, they too
change…
Papastefanatos@ ProactiveDataManagement2016 3
7. Evolving data-intensive ecosystem
Remove CS.C_NAME
Add exam year
The impact can be syntactical (causing crashes)
Syntactically invalid
Papastefanatos@ ProactiveDataManagement2016 7
8. Evolving data-intensive ecosystem
Remove CS.C_NAME
Add exam year
The impact can be syntactical (causing crashes), semantic (causing
info loss or inconsistencies) and related to the performance
Semantically unclear
Syntactically invalid
Papastefanatos@ ProactiveDataManagement2016 8
9. Why is evolution so important?
• Software and DB maintenance makes up for at least 50% of all
resources spent in a project.
• Changes are more frequent than you think
– Data View: Databases change their internal structure, schema and
semantics, due to changes on requirements, database technology or
refactoring.
– Application View: Users / Applications change their view on collected
data (e.g., reports, workflows).
– DBA and development teams do not sync well all the time
Databases are rarely stand-alone: typically, an entire ecosystem of applications is
structured around them
Changes in the schema can impact a large (typically, not traced) number of surrounding
app’s, without explicit identification of the impact
Papastefanatos@ ProactiveDataManagement2016 9
11. Evolving data-intensive ecosystem
Remove CS.C_NAME
Add exam year
Can we predetermine their reaction?
Allow addition
Block Deletion
Allow Deletion
Papastefanatos@ ProactiveDataManagement2016 11
12. Evolving data-intensive ecosystem
Can we automatically repair?
Block DeletionRemove CS.C_NAME
Allow Deletion
Papastefanatos@ ProactiveDataManagement2016 12
13. Proactive management of data centric systems evolution
Achieve ecosystem evolution without impacting the smooth
operation or the semantic consistency of its components
Papastefanatos@ ProactiveDataManagement2016 13
14. Proactive management of evolution
• Model for Evolution
– Model & Visualize Dependencies
between components
– Change modeling and
monitoring
• Principled response to Evolution
– Assess Impact of a Change
– What if Analysis
• Design for evolution
– Adapt to change
– Quality Metrics
– Self-Repairing
Papastefanatos@ ProactiveDataManagement2016 14
15. The Hecataeus tool & method
Papastefanatos@ ProactiveDataManagement2016 15
18. Played an impact analysis scenario: delete attr.
‘word’ from search_index
2. Queries Q215
and Q216 vetoed
1. The table
allowed the
deletion, but…
Papastefanatos@ ProactiveDataManagement2016 18
19. Played an impact analysis scenario: delete attr.
‘word’ from search_index
Papastefanatos@ ProactiveDataManagement2016
Rewrite the SW code to adjust to policies
19