40
Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The University of Edinburgh UK [email protected]

Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Embed Size (px)

Citation preview

Page 1: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Evolution of Computer-based

SystemsMassimo Felici

LFCS, School of InformaticsThe University of Edinburgh

UK

[email protected]

Page 2: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

DIRC – www.dirc.org.uko Interdisciplinary Research Collaboration on

Dependability of Computer-based Systems (DIRC)o 6-year project funded by the UK EPSRCo 5 UK universities involved + industry

o various Project Activities (e.g., Dependable Human Machine Interaction in Real-time Systems, Design for Dependability, Impact of Organizational Culture and Trust on Dependability, etc.)

o Research Themes: Structure, Diversity, Timeliness, Responsibility, Risk

Page 3: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Overviewo Evolution… of Computer-based Systems

o Taxonomy of Evolutiono …Dependable Evolution

o Requirements Evolutiono A Case Study

Page 4: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

A Taxonomy of EvolutionDependability Perspectives

Massimo Felici

Page 5: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Overviewo Evolutionary Dependabilityo Evolutionary Layeringo Evolutionary Modellingo Dependable Evolutiono Taxonomy of Evolution

o Practical issueso Practical Challenges

Page 6: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Evolutionary Dependability?

o “Dependability is that property of a computer system such that reliance can justifiably be placed on the service it delivers”

o Issue: Static definition of Dependability

o Issue: A computer system can just be to a certain extent Dependable or Undependable

Page 7: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Dependability Basiso Dependability consists of a set of attributeso Dependability means:

o fault prevention, tolerance, removal and forecasting

o Dependability impairments:o faults, errors and failures

o others use an equivalent reshuffled model based on errors, faults and failures

Page 8: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Dependability implies Evolution…but Evolution is not taken into account into Dependability

Page 9: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Evolutionary Layering

Page 10: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Software Evolutiono M. Lehman defines E-type programs (software

systems), whicho continuously evolve in order to be satisfactoryo need to accommodate environmental changeso have an increasing complexityo represent multi-level, multi-loop and multi-agent

feedback systems

Page 11: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Architecture Evolutiono Architecture is (should be) a stable part of a system

(Anderson and Felici, Safecomp 2000)o Issue: expensive to changeo Issue: imply high risk

o Product-line architecture represents the extent to which a product-line will be able to evolveo Trade-off: General vs. Specifico In practice: Identified variability points

o Definition: unclear definition of architecture evolution. There are in general two (three) types of evolution;o the architecture evolves or components evolve

(everything evolve).

Page 12: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Requirements Evolutiono It is impossible to frozen requirements. But we should (and

could) identify the extent to which requirements evolve in order to identify the stable ones and the most likely to change.(Anderson and Felici, Safecomp 2000, Profes 2001, COMPSAC 2002)

o Requirements evolution has been considered mainly a management problemo little emphasis on product featureso Research Hypothesis: Product features enhance our ability

in understanding (requirements) evolution.o Requirements evolution is unstructured

o Research Hypothesis: There are structures for evolution (There are structures in Requirements, Changes and Evolution)

Page 13: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Computer-based System Evolution

o Did I speak just about software?o Holistic viewpont

SHEL ModelEnvironmentEnvironment

SoftwareSoftware

HardwareHardwareLivewareLiveware

EnvironmentEnvironment

SoftwareSoftware

HardwareHardwareLivewareLiveware

EnvironmentEnvironment

SoftwareSoftware

HardwareHardwareLivewareLiveware

EnvironmentEnvironment

SoftwareSoftware

HardwareHardwareLivewareLiveware

Page 14: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Computer-based System Evolution

o Social Learning:o Domestication and Innofusion

o Emergent behaviouro Distributed Cognition:

o Human Cognition as result of interactions (knowledge distribution) between (among) individuals and artefacts

o Disappearing Computer (D. Norman):o The system (design) becomes less intrusive and

evolves according to human needs

Page 15: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Organization Evolution

o (System) Evolution and (Organization) Co-evolution or vice versa

o System-Organization reflection (Conway‘s Law)

o Evolution as Corporate Knowledge

Page 16: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Evolutionary Modelling1/2

o Software Evolutiono E-type systemso code modification

o Architecture Evolutiono product-line variability

o Requirements Evolutiono Goal-structures framework based on first-order logic with

Prolog resolution (Proteus Project)o First-order logic model of Requirements Evolution (Zowghi)o Traceabilityo Management processo Quantitative approaches:

o (few) Metrics; (little) Probabilistic Distribution

Page 17: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Evolutionary Modelling2/2

o Computer-based System Evolutiono Human Evolution

o Social Learningo Emergent Behaviour

o Organization Evolutiono Business models ??? ;-(o Software Engineering Economics (e.g., COCOMO

II Boehm)

Page 18: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Dependability Related Modellingo Reliability Growth modelso Bayesian (probabilistic) modelso Fault Tree Analysiso Event Tree Analysiso Domino effecto Cheese modelo …??? ;-(

Page 19: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

A Taxonomy of EvolutionDependability Perspectives

Page 20: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

A Taxonomy of Evolutiono Practical Issues

o There are many different assumptions about evolution embedded into methodologies

o Unclear definition of evolutiono Little coordination giving rise to undependability in

placeo Evolutionary data are difficult to capture and

analyseo Incomplete, distributed, unrelated, unclear,…

Page 21: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

A Taxonomy of Evolutiono Practical Challenges

o Classify environments according to evolutions in place

o Model evolutiono Link evolutionary layerso Link evolutionary models

Page 22: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Requirements EvolutionAn Avionics Case Study

Massimo Felici

Page 23: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Overviewo Why Requirements Evolution?o Case Study

o System Requirementso Development Processo Requirements related Issues

o Empirical Analysiso General Requirements Evolutiono Taxonomy of Requirements Changeso Requirements Maturity Indexo Ageing Requirements Maturity

o Empirical evidenceo Functional Requirements Evolutiono Requirements Dependencieso Visualizing Requirements Evolution

Page 24: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Requirements Evolution Rationaleo Requirements Evolution

o affects: o cost (both in term of money and man-power)o project risko system dependability (and quality of service,

system quality, etc.)o process effectiveness

o So far… little investigated and supportedo Current practice: reactive (passive); non-proactive

(e.g., traceability)o Differently:

o Requirements Evolution as system feature

Page 25: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

An Avionics Safety-Critical Case Study

Safety Requirements

Functional and Operational

Requirements

Software Development

ProcessProduct Line Aspects and Standards

Certification and

Maintenance Case Study

Page 26: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

An Avionics Safety-Critical Case Study

Page 27: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

An Avionics Safety-Critical Case Studyo Requirements related issues:

o Requirements changes are collected just for certification

o Changes are collected by a simple tableo None support to analyze changeso Changes management is process orientedo None standard classification for describing

changeso …

Page 28: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Measuring Requirements EvolutionSize

…soRequirements evolve… over subsequent releases

There is a majority of added (new) requirements among changes

Page 29: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Requirements EvolutionTaxonomy of Requirements Changes

Add, Delete and Modify

Requirements

Explanation

Rephrasing

Traceability

Partial Compliance

Non-compliance

Hardware Modification

RangeModification

Add, Delete and Rename

parameters / variables

RequirementsEvolution

Page 30: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Requirements EvolutionClassified Requirements Evolution

Page 31: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Requirements EvolutionClassified Requirements Evolution

Changes having permission to change delivered code

Changes not having permission to change delivered code

Page 32: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

T

CT

R

RRRMI

−=

IEEE Std 982IEEE Standard Dictionary of Measures to Produce Reliable Software

Requirements Maturity Index (RMI)

…hence the RMI:o is too sensitive to changes introduced in a single release

o does not take into account historical information about changes (e.g., age)

Requirements Maturity IndexMaturity

Page 33: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

T

CT

T

CT

CC

R

ARRHRMI

R

CRRRSI

n

CRAR

−=

−=

=

Average Number of

Requirements Changes

RequirementsStability

Index

Cumulative Number of

Requirements

Historical Requirements

Maturity Index

Number ofSoftware Releases

Total Number of

Requirements

Ageing Requirements EvolutionMeasuring Requirements Evolution

Page 34: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

RMI

RSIHRMI

RequirementsChanges

Total Numberof Requirements

Ageing Requirements EvolutionMeasuring Requirements Evolution

Page 35: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Historical Requirements

Maturity IndexRequirements

Stability Index

Average Number of

Requirements Changes

Ageing Requirements Evolution

Page 36: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Measuring Requirements EvolutionFunctional Viewpoint

Page 37: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Measuring Requirements EvolutionFunctional Viewpoint

o The functional requirements have different evolutions…

…this may be due to requirements’ dependencieso Intuitive notion of stabilitybased on the proportion between changes and requirements

Page 38: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Requirements DependenciesFunctional Viewpoint

Page 39: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

Inspection of:o Requirements Documentso History of Changeso Backward reconstruction of

the requirements process

F1 – Software Architecture

1.2.1.1.1*/…

1.3.2*/

Mod[n]

Del[n]

Add[n]

Visualizing Requirements Evolution

Page 40: Evolution of Computer-based Systemshomepages.inf.ed.ac.uk/mfelici/doc/Dagstuhl_presentation.pdf · Evolution of Computer-based Systems Massimo Felici LFCS, School of Informatics The

…Conclusions & Further Work…

Design……for Evolution…

…Evolve……for Dependability…