Upload
vantuyen
View
217
Download
1
Embed Size (px)
Citation preview
Evolution of Computer-based
SystemsMassimo Felici
LFCS, School of InformaticsThe University of Edinburgh
UK
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
Overviewo Evolution… of Computer-based Systems
o Taxonomy of Evolutiono …Dependable Evolution
o Requirements Evolutiono A Case Study
A Taxonomy of EvolutionDependability Perspectives
Massimo Felici
Overviewo Evolutionary Dependabilityo Evolutionary Layeringo Evolutionary Modellingo Dependable Evolutiono Taxonomy of Evolution
o Practical issueso Practical Challenges
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
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
Dependability implies Evolution…but Evolution is not taken into account into Dependability
Evolutionary Layering
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
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).
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)
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
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
Organization Evolution
o (System) Evolution and (Organization) Co-evolution or vice versa
o System-Organization reflection (Conway‘s Law)
o Evolution as Corporate Knowledge
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
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)
Dependability Related Modellingo Reliability Growth modelso Bayesian (probabilistic) modelso Fault Tree Analysiso Event Tree Analysiso Domino effecto Cheese modelo …??? ;-(
A Taxonomy of EvolutionDependability Perspectives
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,…
A Taxonomy of Evolutiono Practical Challenges
o Classify environments according to evolutions in place
o Model evolutiono Link evolutionary layerso Link evolutionary models
Requirements EvolutionAn Avionics Case Study
Massimo Felici
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
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
An Avionics Safety-Critical Case Study
Safety Requirements
Functional and Operational
Requirements
Software Development
ProcessProduct Line Aspects and Standards
Certification and
Maintenance Case Study
An Avionics Safety-Critical Case Study
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 …
Measuring Requirements EvolutionSize
…soRequirements evolve… over subsequent releases
There is a majority of added (new) requirements among changes
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
Requirements EvolutionClassified Requirements Evolution
Requirements EvolutionClassified Requirements Evolution
Changes having permission to change delivered code
Changes not having permission to change delivered code
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
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
RMI
RSIHRMI
RequirementsChanges
Total Numberof Requirements
Ageing Requirements EvolutionMeasuring Requirements Evolution
Historical Requirements
Maturity IndexRequirements
Stability Index
Average Number of
Requirements Changes
Ageing Requirements Evolution
Measuring Requirements EvolutionFunctional Viewpoint
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
Requirements DependenciesFunctional Viewpoint
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
…Conclusions & Further Work…
Design……for Evolution…
…Evolve……for Dependability…