28
Resilient Systems - Predictability and Evolution Ivica Crnkovic Mälardalen University, Sweden www.idt.mdh.se/~icc i [email protected]

Resilient systems - predicatbility ane evolution

Embed Size (px)

Citation preview

Page 1: Resilient systems - predicatbility ane evolution

Resilient Systems - Predictability and Evolution

Ivica CrnkovicMälardalen University, Sweden

www.idt.mdh.se/[email protected]

Page 2: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 2

What is resilience?• In ecology1

– the capacity of an ecosystem to respond to a perturbation or disturbance by resisting damage and recovering quickly

• In System Engineering– Resilience is the ability of organizational, hardware and software systems to

mitigate the severity and likelihood of failures or losses, to adapt to changing conditions, and to respond appropriately after the fact.

1Resilience (ecology - Wikipedia)

Page 3: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 4

Characteristics of resilient systemsCritical aspects of resilience:1. Latitude: the maximum amount a

system can be changed before losing its ability to recover.

2. Resistance: the ease or difficulty of changing the system; how “resistant” it is to being changed.

3. Precariousness: how close the current state of the system is to a limit or “threshold.”

4. Panarchy: the degree to which a certain hierarchical level of an ecosystem is influenced by other levels.

Latitude

Precariousness

ResistanceSystemstate

Environment

Robustness

Page 4: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 5

Resilience vs. dependability vs. robustness?

• Dependability Ability of a system to deliver service that can justifiably be trusted

(Ability of a system to avoid failures that are more frequent or more severe than is acceptable to user(s)

• Survivability is the ability to remain alive or continue to exist.

• Robustness is the persistence of a system’s characteristic behavior under perturbations or conditions of uncertainty.

• Resilience is the persistence of the avoidance of failures that are unexpectedly frequent or severe, when facing change [Laprie]

Page 5: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 6

Robustness vs. Resilience

Page 6: Resilient systems - predicatbility ane evolution

Resilience vs. dependability vs. robustness?

04/11/2023 Serene 2011 7

dependable (robust&resistent) systems”states

• Highly controlled• Operates in a narrow band• Predefined states (“modes”)• Top-down design• Challenge: predict all states

caused by the environment

• A broad spectrum of possible equilibrium state• Not necessary all states are predicted • Adaptive and evolving systems• impact of the system on the environment• Challenge:

• Adaptation • Optimal performance in different states• Minimize unwanted impact on the

environment

“Resilient systems”

Page 7: Resilient systems - predicatbility ane evolution

ABB vision: “Power and productivity for a better world”

“….., we help our customers to use electrical power efficiently, to increase industrial productivity and to lower environmental impact in a sustainable way.”

04/11/2023 Serene 2011 8

Do we care about impact on the environment?

Page 8: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 10

Resilient system development challenges

• Resilience is an extra-functional (non-functional) property

• A part of the design:– System adaptability – System evolvability– Impact on external environment

• (direct & indirect)• (short & long term)

Page 9: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 11

Development process – top-down vs. Bottom-up

• Modern, sustainable and resilient systems:– Complex, distributed, highly dynamic, highly

adaptive– Adjustable to the changing environment and to

the users• Top-down principle is not enough!

– It would be a problem with evolution and flexibility• Late compositions, reconfigurations, on-line

verifications, on-line validations

Page 10: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 12

Extended development process

1JOSEPH FIKSEL Designing Resilient, Sustainable Systems , Environ. Sci. Technol. 2003, 37, 5330-5339

Page 11: Resilient systems - predicatbility ane evolution

How can we assess the resilience?

Page 12: Resilient systems - predicatbility ane evolution

Resilience property model

04/11/2023 22

Resilience subcharacteristicsis refined to

1 1..*

measuring attributes

is refined to1..*

1

metrics measured by

1 1..*

QoS

reason about

1

1..*

Questions:which are subcharacteristics?which measuring attributes?How to design for resilience?How to analyze resilience?

Page 13: Resilient systems - predicatbility ane evolution

Change stimuli

Elicit Architectural Concerns

Analyze Implication of change stimuli

Potential architecturalrequirements

Stakeholders’ concerns(subcharacteristics)

Propose architectural solutions

Analyze Implication of change stimuli

Analysis Process

Page 14: Resilient systems - predicatbility ane evolution

Example: Software Evolvability Model• Literature survey and analysis of the literature• Industrial case studies

• Evolvability subcharacteristics• Analyzability• Architectural Integrity• Changeability• Portability• Extensibility• Testability• Domain-specific attributes

Evolvability

QoS

Metrics

Subcharacteristics

Measuring Attributes

-is refined to

1 1..*-is refined to1

1..*-is measured by

1 1..*

-reason about1

1..*

04/11/2023 Serene 2011 24

Hongyu Pei Breivold, Ivica Crnkovic, Peter Eriksson, Analyzing Software Evolvability, 32nd IEEE International computer Software and Applications Conference (COMPSAC), 2008

Page 15: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 27

Case Study: ABB Robotic Control System

PC Applications Man Machine Interactions

Controller Language

Control Interfaces and Resources

I/O File System Safety Base system Support services

OS & HW abstraction Device Drivers

A conceptual view of the software architecture

Page 16: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 28

Architectural concerns

• Analyzability• Architectural Integrity• Changeability• Portability• Extensibility• Testability• Domain-specific attributes

– Performance, real-time

Page 17: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 29

Phase 1: Change Stimuli and Architectural Requirements

Change Stimuli• Time-to-market requirements

• Increased ease and flexibility of distributed development of diverse application variants.

R1, R2, R3 prioritized

Page 18: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 30

Phase 2: Architectural analysis• Extract architectural constructs related to the respective identified issues• Identify refactoring components for each identified issue

Refactoring components – dynamic component biding

Page 19: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 31

Phase 3: finalize the analysis

Page 20: Resilient systems - predicatbility ane evolution

Quantitative Architecture Evolvability Analysis Method

Phase 2: Analyze and prepare the software architecture to accommodate change stimuli and potential future changes

Step 2.2: Assess candidate architectural solutions’ impacts on

evolvability subcharacteristics

Step 2.1: Identify candidate architectural solutions

Phase 1: Analyze the implications of change stimuli on software architecture

Step 1.2: Extract stakeholders’ prioritization and preferences of evolvability subcharacteristics

Step 1.1: Elicit stakeholders’ views on evolvability

subcharacteristics

Phase 3: Finalize the evaluation

Step 3.1: Analyze and present evaluation results

04/11/2023 Serene 2011 32

Using Analytic Hierarchy Process (AHP) for comparison of choices

Page 21: Resilient systems - predicatbility ane evolution

Analytic Hierarchy Process (AHP)

[mij] nxn matrics – comparison elements (subcharacteristics)

mij – comparison values between two elements (1 … 9/1)(results – binary relations between the elements)

Calculation and value normalization -> normalized significance of the values Wi(W1+W2+… Wn = 1)

Page 22: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 34

Case study: Ericsson

• mobile network architecture with respect to the evolvability of a logical node at Ericsson.

• Logical Node:– handle control signaling for and keep track of user equipment

such as mobiles using a certain type of radio access.

Control System Transmission System

Middleware OS

Application level

Platform level

In-Service Software Upgrade (ISSU)

Page 23: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 35

Phase 1: requirements identification

Page 24: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 36

Preferences of evolvability subcharacteristics (1)

Page 25: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 37

Preferences of evolvability subcharacteristics (2)

CR < 0.1 – the consistent selections between stakeholders

Page 26: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 38

Phase 2: provide alternative architectural solutions

Select alternative:

Page 27: Resilient systems - predicatbility ane evolution

Summary - Questions• What is the importance of resilience?• How to include resilience aspects in the development process?

– In certification?– In real-time systems?– Component-based approach?– Model-driven approach?

• How to verify resilient systems?– Can we test all possible scenarios?

• Adaptability– Where to implement the adaptability?

• Source code level?• Architectural level?

04/11/2023 Serene 2011 39

Page 28: Resilient systems - predicatbility ane evolution

04/11/2023 Serene 2011 40