28
Robust-and-evolvable Resilient Software Systems Open Problems and Lessons Learned Vincenzo De Florio www.pats.ua.ac.be

Robust-and-evolvable Resilient Software Systems Open Problems and Lessons Learned

  • Upload
    ina

  • View
    20

  • Download
    0

Embed Size (px)

DESCRIPTION

Robust-and-evolvable Resilient Software Systems Open Problems and Lessons Learned. Vincenzo De Florio www.pats.ua.ac.be. Reflections & lessons learned. ...on how to build evolvable & robust resilient systems Evolvable , robust, and resilient: definitions - PowerPoint PPT Presentation

Citation preview

Page 1: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

Robust-and-evolvableResilient Software SystemsOpen Problems and Lessons Learned

Vincenzo De Florio

www.pats.ua.ac.be

Page 2: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

229 August 2011

Reflections & lessons learned...

• ...on how to build evolvable & robust resilient systems

• Evolvable, robust, and resilient: definitions• Personal view on key requirements and

dimensions• Experiences on how robustness evolve with

evolvability requirements and dimensions• Conclusions and next steps

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 3: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

329 August 2011

Definitions and questions - 2

• Robustness: “Feature persistence under (un)foreseen perturbations, reached through parametric/structural re-organizations” [Jens] How to achieve – and prove – the emergence of

robustness? Single “Gestalt”, several domain- (feature-)

specific solutions...• Resilience: functional and non-functional

identity persistence (e.g. dependability)

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 4: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

429 August 2011

Robust evolvability: depends on several parameters

• M: Sensitivity to change The wider the sensorial spectrum, the higher

the chances of being aware of change• A: Ability to analyze, correlate past and

present sensorial data & Knowledge• P: Ability to plan reactions (e.g. firing

rules based on acquired Knowledge)• E: Action spectrum

Defines feasible vs. infeasible reactions

Rea

ctio

n la

tenc

ies,

com

plex

ity,

dete

rmin

istic

beh

avio

ur...

.

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 5: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

529 August 2011

Boulding’s categories

• Kenneth Bouldingdeveloped a scaleranking systems and SoS according to M+A (lower levels) and P+E (higher levels) “Thermostats”, “Cells”, “Plants”, “Animals”,

“Beings,”...

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 6: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

Key dimensions

• In what follows, P+E = Evolution engine• Two dimensions appear particularly relevant

here:• Evolution engine complexity• (Evolution engines multiplicity) +

(complexity of their interactions)

29 August 2011 ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

6

Page 7: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

29 August 2011

Phenotypically plastic:simple parametric

adaptation

Complexity of evolution engine

Page 8: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

29 August 2011

Phenotypically plastic,switching betweenpredefined known

organizations

Complexity of evolution engine

Page 9: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

29 August 2011

Phenotypically dynamic:complex compositional

and parametricadaptation

Page 10: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

29 August 2011

Simple forms ofinteraction, few

entities

Page 11: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

29 August 2011

Ecosystems withmultiple complex

social organizations;heterarchies

Page 12: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

29 August 2011

The higher the level, the more difficult to assure robustness and resilience

Page 13: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

1329 August 2011

First example

• Autonomically redundant data structures (RDS) Phenotypically static

• Single adaptation strategy based on one parameter (redundancy degree)

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 14: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

Redundancy = f(risk(t))

• Dynamically redundant data structures– Autonomic management of redundancy– RDS where redundancy changes dynamically

after risk of scheme failure– risk(t): Indirect assessment

29 August 2011 ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

14

Page 15: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

15

Indirect deduction of risk

R = 0 R = 1/3

R = 2/3R =1

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

29 August 2011

Page 16: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

Intuitive formulation of risk-throughout-evolution• n(i) = redundancy at voting round i

= 2p(i)+1 (for some p(i)>0)

• m(i) = card {replicas that agree after voting round i }, 1 ≤ m(i) ≤ n(i)

• Then risk(i) =

29 August 2011

(n(i) – m(i))/p(i) when m(i) > p(i)1 otherwise

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Linear (naïve)formulation

16

Page 17: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

Evolution throughout fault injection

t

Red

unda

ncy

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

29 August 2011 17

Page 18: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

18ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

29 August 2011

Page 19: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

1929 August 2011

First example – conclusions

Simple and stable evolution engine → robust• Reduced complexity• Convenient formulation of robustness assertions• Predictable behaviours

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 20: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

2029 August 2011

Second example

• Transformer middleware Phenotypically dynamic Multiple domain-specific

“planners” are selected and merged on the fly

Component-based application reshaped accordingly

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 21: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

Second example – conclusions

• Big problem: robustness• Will the emerging properties include the

design goals?• No assurance (yet)

• Collaboration initiated (assisted model evolution)• For the time being, known-and-”safe”

evolution states can be recognized

29 August 2011 21ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 22: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

2229 August 2011

Third example – Service-oriented communities

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

• SoA• Orchestration of

devices and human beings• different capabilities,

backgrounds…

• Responses to societal problems(e.g. AAL)

Page 23: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

Member Member

Service registry

Servicedescription

SoC: General structure

Publish Publish

Bind

Reasoning & coordinationIndividual &

social concernsoptimization

(e.g. viaTransformer)

CapabilitiesPoliciesAvailabilityLocation…

Events

PeopleDevices

29 August 2011 23ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 24: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

2429 August 2011

SoC: Specialization:Mutual Assistance Community

ABC Shop

Smartdevices

Informal serviceprovider

Commercial vender

Doctor

Community

Access

A smart house

Coordinationcenter

(professional)

OSGIGateway

CreateOWL-S

OWL-S servicepublication

ServiceRequest

OWL-S servicepublication

OWL-S servicepublication

OWL-SMatcher

OSGIbundle

OSGIbundle

OSGIbundle

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Reducing social isolation of elderly people Promoting active life Reducing costs – best utilizing the social resources

Page 25: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

Emergence of new services

Interactive TV

Request

Request

Required service: Walking with someone.Location: Middelheim park, Antwerp.Deadline: 8pm, Sept. 4, 2011.Service model: Participant.

Walk in park

Request

Required service: Chatting with someone.Location: Somewhere, Antwerp.Deadline: 7pm, Sept. 4, 2011Service model: Participant, or informal carer.

NA

NA

Join Mary?Join Kate?

Join Kate?

Yes

YesBind, take activity together MaryKate

Service Matching

Request stored in service center

29 August 2011 25ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 26: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

Conclusions

• Target environment and target objectives: key factors in choosing the “best” system structure for evolvability• Stable environment + simple tasks do not

necessarily call for the utmost complexity…• High forms of evolvability high complexity

less guarantees• Bio-inspired MAS may provide an answer

• Spontaneous emergence of resilience• Evolvable social organizations

29 August 2011 26ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 27: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

2729 August 2011

More questions and some answers: www.igi-global.com/ijaras

ESEC/FSE Workshop on Assurances for Self-Adaptive Systems

Page 28: Robust-and-evolvable Resilient  Software Systems Open Problems and Lessons Learned

Time for Questions…

[email protected]

29 August 2011 28ESEC/FSE Workshop on Assurances for Self-Adaptive Systems