mälardalen university (mdh)
DESCRIPTION
Component-based Approach and Dependable Systems Concerning Predictability of Component-based Systems: Classification of Quality Attributes Ivica Crnkovic Mälardalen University, Sweden Department of Computer Science and Engineering www.idt.mdh.se/~icc , [email protected]. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/1.jpg)
1
23-04-22
Component-based Approach and Dependable Systems
Concerning Predictability of Component-basedSystems: Classification of Quality Attributes
Ivica Crnkovic Mälardalen University, Sweden
Department of Computer Science and Engineeringwww.idt.mdh.se/~icc, [email protected]
![Page 2: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/2.jpg)
2
23-04-22
Mälardalen University (MdH)Mälardalen University, Vasteras (Västerås)
Department of Computer Science and electronics (IDE)
Real-Time Systems Design Lab Computer Architecture Lab
Computer Science Lab Software Engineering Lab Intelligent sensors Lab
Medical Equipment
Prof. in Software Engineering http://www.idt.mdh.se/~icc [email protected]
![Page 3: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/3.jpg)
3
23-04-22
![Page 4: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/4.jpg)
4
23-04-22
Sources of information
Ivica Crnkovic and Magnus Larsson:
Building Reliable Component-Based Software Systems
Artech House Publishers, 2002, ISBN 1-58053-327-2
http://www.idt.mdh.se/cbse-book/
Ivica Crnkovic, Magnus Larsson Otto PreissConcerning Predictability in Dependable Component-Based Systems: Classification of Quality Attributes, Architecting Dependable Systems III,, p pp. 257 – 278, Springer, LNCS 3549, Editor(s): R. de Lemos et al. (Eds.):, 2005
ISO/IEC, “Software engineering - Product quality - Part1: Quality model”, ISO/IEC, International, Standard 9126-1:2001(E).
Ralf H. Reussner, Heinz W. Schmidt, Iman H. Poernomo, Reliability prediction for component-based software architectures The Journal of Systems and Software 66 (2003) 241–252
Claes Wohlin, Per Runeson: Certification of Software ComponentsIEEE Trans. Software Eng. 20(6): 494-499 (1994)
![Page 5: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/5.jpg)
5
23-04-22
Outline
• Introduction– Why CBD
• Parti I– Properties (Quality attributes)
• Part II– Composability vs. predictability of Quality
Attributes– Classification of Quality attributes
![Page 6: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/6.jpg)
6
23-04-22
What is Component-based approach?
• Building systems from (existing) software components– Providing support for the development of systems as assemblies
of components
– Supporting the development of components as reusable units
– Facilitating the maintenance and evolution of systems by customizing and replacing their components
– Separation of building components from building systems
![Page 7: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/7.jpg)
7
23-04-22
Why component-based approach?
• Primary a concern of business and life-cycle factors– Costs, Time-to-market– Flexibility– Understandability, maintainability– Reuse of already existing software
• Higher abstraction level for functional properties• To less degree a concern of non-functional properties
– The requirements that must be fulfilled also with this approach– Sometimes more difficult to achieve– Might be a reason that component-based approach is less (or
not) feasible
![Page 8: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/8.jpg)
8
23-04-22
The main question• CBD has shown to be successful in many domains
(desktop, distributed web-based applications...)
• What are the benefits and what are the drawbacks of CBD for particular domains?– Benefits /drawbacks for dependable (embedded) systems?
• What are the primary concerns and requirements of particular domains?– Can CBD contribute in providing solutions that meet these
requirements/concerns?• Yes• No• Make it more difficult
![Page 9: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/9.jpg)
9
23-04-22
Part IComponents and system
propertiesWhat are properties?
![Page 10: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/10.jpg)
10
23-04-22
Properties• Attribute/property
– “a construct whereby objects and individuals can be distinguished”
– “a quality or trait belonging to an individual or thing” • A required attribute/property is expressed as a need or
desire on an entity by some stakeholder. • An exhibited attribute/property is an attribute/property
ascribed to an entity as a result of evaluating (for example measurement of) the entity.
• The need for properties is motivated by their explanatory roles they have to fill. They describe phenomena of interest – There are no “absolute” properties
![Page 11: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/11.jpg)
11
23-04-22
Some example of properties• Reusability, Configurability, Distributeability, Availability, Confidentiality,
Integrity, Maintainability, Reliability, Safety, Security, Affordability, Accessibility, Administrability, Understandability, Generality, Operability, Simplicity, Mobility, Nomadicity, Hardware independence Software, independence, Accuracy, Footprint, Responsiveness, Scalability, Schedulability, Timeliness, CPU utilization, Latency, Transaction, Throughput, Concurrency, Efficiency, Flexibility, Changeability, Evolvability, Extensibility, Modifiability, Tailorability, Upgradeability, Expandability, Consistency, Adaptability, Composability, Interoperability, Openness, Heterogenity, Integrability, Audibility, Completeness, , Conciseness, Correctness, Testability, Traceability, Coherence, Analyzability, Modularity, ….
Kazman, R., L. Bass, G. Abowd, M. Webb, “SAAM: A method for analyzing properties of software architectures,” Proceedings of the 16th International Conference on Software Engineering, 1994.
Kazman et al, Toward Deriving Software Architectures from Quality Attributes, Technical Report CMU/SEI-94-TR-10, 1994.
McCall J., Richards P., Walters G., Factors in Software Quality, Vols I,II,III', US Rome Air Development Center Reports, 1977.Bosch, J., P. Molin, “Software Architecture Design: Evaluation and Transformation,” Proceedings of the IEEE Conference and Workshop on Engineering of Computer-Based Systems, 1999.
![Page 12: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/12.jpg)
12
23-04-22
Classification of properties• Different classification
– Run-time properties – Life cycle properties– Run time
• Reliability, safety, performance, robustness – Life cycle
• Maintainability, portability, reusability,…
• CBSE– Component properties– System properties
• Emerging properties
![Page 13: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/13.jpg)
13
23-04-22
Quality model in ISO 9126-I
Examplehaving source code reviews” (a Software development process quality) influences the source code in that “the number of not initialized variables” (an internal quality attribute of a software product) is minimized. This positively influences the reliability, of the system (an external quality attribute of a software product).
![Page 14: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/14.jpg)
14
23-04-22
General Concepts of the ISO/IEC 9126-1
Existing Components
![Page 15: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/15.jpg)
16
23-04-22
ISO/IEC 9126-1 quality attributes
![Page 16: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/16.jpg)
17
23-04-22
Other views – example: Dependability
1. Ability of a system to deliver service that can justifiably be trusted2. Ability of a system to avoid failures that are more frequent or more
severe than is acceptable to user(s)
Related to 1. Trustworthiness (assurance that a system will perform as expected)2. Survivability (capability to fulfill its mission in a timely manner)
Dependability
Safety-critical systems
Mission-critical systems
Business-critical systems
Avizienis, A.; Laprie, J.-C.; Randell, B.; Landwehr, C., “Basic concepts and taxonomy ofdependable and secure computing”, IEEE Trans. Dependable Sec. Comput., Vol. 1, Issue1, 2004
Other systems – embedded systems - Desktop systems
![Page 17: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/17.jpg)
18
23-04-22
Dependability
Availability Reliability Safety Confidentiality Integrity Maintainability
Readinessfor usage
Continuity of services
Absence ofcatastrophic consequences
Absence ofunauthorized disclosure ofinformation
Absence of impropersystemalternations
Ability toUndergorepairs andevolutions
Attributes of Dependability
![Page 18: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/18.jpg)
20
23-04-22
Dependability
Attributes
Threats
Means
AvailabilityReliabilitySafetyConfidentialityIntegrityMaintainability
Fault PreventionFault ToleranceFault RemovalFault Forecasting
FaultsErrorsFailures
![Page 19: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/19.jpg)
21
23-04-22
Part II
Composition Predictability of properties
What do we know about properties compositions?
What do we need to know to predict system properties from component properties?
![Page 20: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/20.jpg)
22
23-04-22
Main concern: Composability and predictability of extra-functional properties
• Classification in respect to:– to ability to predict system properties from
component properties• (ability to verify the predictability)
Ivica Crnkovic, Magnus Larsson, Otto PreissConcerning Predictability in Dependable Component-basedSystems: Classification of Quality AttributesArchitecting Dependable Systems II, Springer LNCS 2005
![Page 21: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/21.jpg)
24
23-04-22
Some definitions first…
Assembly – a set of components
System
System Usage
System context
Component
![Page 22: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/22.jpg)
25
23-04-22
Component development (COTS type)Known: Architectural Framework, component modelUnknown: system architecture, products, usage,..
Product lineKnown: domain, architectural framework, application skeleton,Variation (integration) pointsUnknown: Final products
Open systemsKnown: similar to PLA,but integrators are not necessary known
Final product ready to use(usage not necessary known)
Final product in use
What can we predict (or guarantee) about the system properties In each stage of development?
Different levels of knowledge about future component-based systems
![Page 23: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/23.jpg)
26
23-04-22
Classification1. Directly composable properties. A property of an assembly
which is a function of, and only of the same property of the components involved.
2. Architecture-related properties. A property of an assembly which is a function of the same property of the components and of the software architecture.
3. Derived (emerging) properties. A property of an assembly which depends on several different properties of the components.
4. Usage-depended properties. A property of an assembly which is determined by its usage profile.
5. System context properties. A property which is determined by other properties and by the state of the system environment.
![Page 24: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/24.jpg)
27
23-04-22
1. Definition: A directly composable property of an assembly is a function of, and only of the same property of the components.
• Consequence: to derive (predict) an assembly property it is not necessary to know anything about the system(s)
))(,),(),(()(}1:{
component assembly, attribute,
21 n
i
cPcPcPfAPnicA
cAP
![Page 25: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/25.jpg)
28
23-04-22
Example
• “Physical characteristics”– Static memory
– (the “function” can be much more complicated)– (the functions are determined by different factors,
such as technologies)
componentsassembly,size,memory
)()(1
i
n
ii
cAM
cMAM
![Page 26: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/26.jpg)
29
23-04-22
Example (cont)
• Dynamic memory – components with parameterized configurations/deployment paramentars
n
iicMAM
1
max )()(
![Page 27: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/27.jpg)
30
23-04-22
2. Definition: An architecture-related property of an assembly is a function of the same property of the components and of the software architecture.
• Consequence: System/assembly architecture must be known
– Ok when building systems of particular class• (product-line architectures)
rearchitectu software)),(,),(),(()(
}1:{
21
SASAcPcPcPfAP
nicA
n
i
![Page 28: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/28.jpg)
31
23-04-22
Clients
Client tier Web server tier Business logic tier Data tier
Web server
Businesscomponents
Data accesscomponents Data
Variabilitypoints
tionimplementaparticularaforfactorsalproportion,,componentsofnumber;clientsofnumber
ntransactiopertimeresponse/
/
cbayx
NT
cyyxbaxNT
Example - distributed systems
Yan L., Gorton I., Liu A., and Chen S., "Evaluating the scalability of enterprise javabeans technology", In Proceedings of 9th Asia-Pacific Software Engineer-ing Conference, IEEE, 2002.
![Page 29: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/29.jpg)
32
23-04-22
3.Definition: A derived property of an assembly is a property that depends on several different properties of the components.
– Consequence: we must know different properties and their relations (might be quite complex) attributescomponent...
attributeassembly
)(,),(),(
),(,),(),(),(,),(),(
)(
}1:{
1
21
22212
12111
k
nkkk
n
n
i
PPP
cPcPcP
cPcPcPcPcPcP
fAP
nicA
![Page 30: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/30.jpg)
33
23-04-22
C1wcet1f1
A
C2wcet2f2
Inputports
Outputports
end-to-end deadline is a function of different component properties, such as worst case execution time (WCET) and execution period.
Example
wcetcTccL
cBwcetccL jchpc j
in
iiin
ij
..
)()(.)(
)(
1
fixed priority scheduling
![Page 31: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/31.jpg)
34
23-04-22
4. Definition: A Usage-dependent property of an assembly is a property which is determined by its usage profile.
Consequence: It is not enough to know which system will be built. It must be known how the system will be used
profileusagecomponent'profileusageassembly
profileusageparticularaforattribute
,:))'((),(
,
,,
ki
k
kiik
UUP
NkiUcPfUAP
![Page 32: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/32.jpg)
35
23-04-22
Example Reliability• the probability that a system will perform its intended
function during a specified period of time under stated conditions.
• Mean time between failure• How to calculate reliability for Software System?
– Start from from a usage profile– Identify probability of the execution of components– Find out (measure) reliability of components– Calculate reliability of the system
Ralf H. Reussner, Heinz W. Schmidt, Iman H. Poernomo, Reliability prediction for component-based software architectures
The Journal of Systems and Software 66 (2003) 241–252
Claes Wohlin, Per Runeson: Certification of Software ComponentsIEEE Trans. Software Eng. 20(6): 494-499 (1994)
![Page 33: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/33.jpg)
39
23-04-22
Uk
Ul
P(U)
Uk-min Uk-max
Ul -min Ul -max
Pl
Pk
Uk
Ul
P(U)
Uk-min Uk-max
Ul -min Ul -max
PlPl
PkPk
Can we predict reliability using existing usage profiles?Reuse problem:
mapping system usage profile to component usage profileWhen the known (measured) properties values can be reused?
),(),(),( maxmin kkllkkkl UAPUAPUAPUU
![Page 34: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/34.jpg)
40
23-04-22
5. Definition: A System Environment Context property is a property which is determined by other properties and by context of the system environment.
– Consequence: It is not sufficient to know the systems and their usage, it is necessary to know particular systems and the context in which they are being performed
profile usageComponent ´System
contexttEnvironmen
profile; usage System
,,);),´((),(
,
,,,
ki
l
k
lkiiklkk
USE
U
NlkiEUcPfEUSP
![Page 35: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/35.jpg)
41
23-04-22
Example
• safety property – related to the potential catastrophe– the same property may have different
degrees of safety even for the same usage profile.
![Page 36: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/36.jpg)
42
23-04-22
Summary - Classification1. (DIR) - Directly composable properties. A property of an assembly which is a function of, and only of the
same property of the components involved.
2. (ART) - Architecture-related properties. A property of an assembly which is a function of the same property of the components and of the software architecture.
3. (EMG) - Derived (emerging) properties. A property of an assembly which depends on several different properties of the components.
4. (USG) - Usage-depended properties. A property of an assembly which is determined by its usage profile.
5. (SYS) - System context properties. A property which is determined by other properties and by the state of the system environment.
DIR – component context
DIR – Architecture (assembly) context
EMG – Architecture and other components context
USG – Use context
Sys – System (including external environemnt) context
![Page 37: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/37.jpg)
44
23-04-22
Composition Combination of Different Types of Properties
• Classification should be– Complete– Orthogonal
• The shown classification is an idealization
– Some properties will be of combination of different types
![Page 38: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/38.jpg)
45
23-04-22
![Page 39: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/39.jpg)
46
23-04-22
Experiment
• Questionnaire– A set of defined properties– Grouped in different “sets of concerns”
• Following ISO 9126 standard and Dependability classification
• Assignment:– Classify the proposed properties
![Page 40: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/40.jpg)
47
23-04-22
Questionnaire – instructions
For each property (Quality attribute) in the table ask the following questions:
a. (Directly composable attributes) Is it possible to analyze this assembly quality attribute given the same quality attribute of the components involved?
b. (Architecture Related attributes) Is it possible to analyze this assembly quality attribute given the assembly software architecture and the same quality attribute of the components involved?
c. (Derived attributes) Is it possible to analyze this assembly quality attribute from several different component attributes of the components involved?
d. (Usage-dependent attributes) Is it necessary to know the usage profile of the assembly to analyze this quality attribute?
e. (System environment context dependent attributes) Is it necessary to have system environment information to analyze this quality attribute?
Answer each question with:0 = No, 1 = yes, 2 = yes, significantly
There is also a question where you can indicate the confidence in your answers for each attribute. (scale 1 to 5)
Please fill in answers on all attributes and indicate with the confidence of your selection1= little confidence 5=high confidence
Questionnaire
![Page 41: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/41.jpg)
48
23-04-22
Survey -Distribution of attribute classification
16%
44%13%
12%
15%a) Directly composable
b) Architecture-related
c) Derived
d) Usage-dependent
e) System environmentcontext
![Page 42: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/42.jpg)
49
23-04-22
Level of agreement of the participants for the classification
57%
95%
66%74%
56%
0%
20%
40%
60%
80%
100%
Leve
l of a
gree
men
t
a) Directly composable
b) Architecture-related
c) Derived
d) Usage-dependent
e) System environmentcontext
![Page 43: Mälardalen University (MdH)](https://reader035.vdocuments.us/reader035/viewer/2022062810/56815e3e550346895dcca9c8/html5/thumbnails/43.jpg)
51
23-04-22
Conclusion• “Return of investment” for component-based approach
depends also on predictability and assurance of quality attributes
• Composability of different quality attributes is different• The ability of predicting system properties from
component properties vary – from pure component properties to properties of systems exhibited differently in different context
• This limits the prediction ability of CB system’s behaviour