Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

21
Proactive Evolution management in Data –centric SW ecosystems George Papastefanatos [email protected] “Athena” Research & Innovation Center Proactive data management Workshop Acting on Change: New Approaches and Future Practices in LTDP London, Dec 2016

Transcript of Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Page 1: 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

Page 2: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 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

Page 3: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

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…

Page 4: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 4

Data-Centric SW ecosystems• … and often they fail to adapt…

Page 5: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 5

Evolving data-intensive ecosystem

Page 6: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 6

Evolving data-intensive ecosystemRemove CS.C_NAME

Add exam year

Page 7: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 7

Evolving data-intensive ecosystemRemove CS.C_NAME

Add exam year

The impact can be syntactical (causing crashes)

Syntactically invalid

Page 8: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

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

Page 9: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

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

Page 10: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 10

Evolving data-intensive ecosystemRemove CS.C_NAME

Add exam year

Which parts are affected and how?

Page 11: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 11

Evolving data-intensive ecosystemRemove CS.C_NAME

Add exam year

Can we predetermine their reaction?

Allow addition

Block Deletion

Allow Deletion

Page 12: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 12

Evolving data-intensive ecosystem

Can we automatically repair?

Block DeletionRemove CS.C_NAME

Allow Deletion

Page 13: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

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

Page 14: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

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

Page 15: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 15

The Hecataeus tool & method

Page 16: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 16

Page 17: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 17

Annotate with Event & Rules

Page 18: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

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…

Page 19: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 19

Played an impact analysis scenario: delete attr. ‘word’ from search_index

Rewrite the SW code to adjust to policies

Page 20: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

Papastefanatos@ ProactiveDataManagement2016 20

Highlight most Vulnerable parts

Page 21: Proactive Evolution management in Data-centric SW ecosystems - Acting on Change 2016

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