Fresh Water Ecosystems Marine Ecosystems Terrestrial Ecosystems.
Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016
-
Upload
periclesfp7 -
Category
Technology
-
view
35 -
download
1
Transcript of Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016
Proactive Evolution management in
Data –centric SW ecosystems
George [email protected]
“Athena” Research & Innovation Center
Proactive data management Workshop Acting on Change: New Approaches and Future Practices in
LTDPLondon, Dec 2016
Papastefanatos@ ProactiveDataManagement2016 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 EnhancementProactive Preventive PerfectiveReactive Corrective Adaptive
Papastefanatos@ ProactiveDataManagement2016 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 4
Data-Centric SW ecosystems• … and often they fail to adapt…
Papastefanatos@ ProactiveDataManagement2016 5
Evolving data-intensive ecosystem
Papastefanatos@ ProactiveDataManagement2016 6
Evolving data-intensive ecosystemRemove CS.C_NAME
Add exam year
Papastefanatos@ ProactiveDataManagement2016 7
Evolving data-intensive ecosystemRemove CS.C_NAME
Add exam year
The impact can be syntactical (causing crashes)
Syntactically invalid
Papastefanatos@ ProactiveDataManagement2016 8
Evolving data-intensive ecosystemRemove 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 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 themChanges in the schema can impact a large (typically, not traced) number of surrounding app’s, without explicit identification of the impact
Papastefanatos@ ProactiveDataManagement2016 10
Evolving data-intensive ecosystemRemove CS.C_NAME
Add exam year
Which parts are affected and how?
Papastefanatos@ ProactiveDataManagement2016 11
Evolving data-intensive ecosystemRemove CS.C_NAME
Add exam year
Can we predetermine their reaction?
Allow addition
Block Deletion
Allow Deletion
Papastefanatos@ ProactiveDataManagement2016 12
Evolving data-intensive ecosystem
Can we automatically repair?
Block DeletionRemove CS.C_NAME
Allow Deletion
Papastefanatos@ ProactiveDataManagement2016 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 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 15
The Hecataeus tool & method
Papastefanatos@ ProactiveDataManagement2016 16
Papastefanatos@ ProactiveDataManagement2016 17
Annotate with Event & Rules
Papastefanatos@ ProactiveDataManagement2016 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 19
Played an impact analysis scenario: delete attr. ‘word’ from search_index
Rewrite the SW code to adjust to policies
Papastefanatos@ ProactiveDataManagement2016 20
Highlight most Vulnerable parts
Papastefanatos@ ProactiveDataManagement2016 21
Thank you
http://www.cs.uoi.gr/~pvassil/projects/hecataeus/
https://github.com/DAINTINESS-Group/Hecataeus
Demos and Material
The team
Dr. George PapastefanatosAthena Research & Innovation Center
Prof. Panos Vassiliadis University of Ioannina
Petros ManousisUniversity of Ioannina