Upload
derek-montgomery
View
222
Download
0
Tags:
Embed Size (px)
Citation preview
1
23-04-21
Computation, Composability and Quality Attributes
Ivica Crnkovic Mälardalen University, Sweden
Department of Computer Science and Engineeringwww.idt.mdh.se/~icc, [email protected]
2
23-04-21
Mälardalen University (MdH)Mälardalen University, Vasteras (Västerås)
School of Innovation, Design and Engineering
Software Engineering Division
Prof. in Software Engineering http://www.idt.mdh.se/~icc [email protected]
3
23-04-21
Outline
• Parti I– Properties (Quality attributes)
• Part II– Composability vs. predictability of Quality
Attributes– Classification of Quality attributes
4
23-04-21
Computation vs Composition
• Computation– Abstraction + Automation (J.Wing)– What are the challenges;– Are there some things that are not
computable (yet are part of software)
5
23-04-21
Part I
Functional andextra-functional properties
6
23-04-21
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
7
23-04-21
Functional vs. extra-functional attributes
• Attribute/property– Functional – what a system is doing
• Car: drive, brake, turn on right, light,….• Computer: perform programs (software), connect to Internet…
– Extra-functional properties - EFPs (aka non-functional, aka quality attributes) – How a system is performing
• Car: speed, stability, safety, security, maintainability, energy consumption• Software: Performance, reliability, usability, security,….• -- ilities..
• How can we describe EFPs?• How can we analyze EFPs?• How can we ensure EFPs?• How can we compute EFPs?• What are the limitations?
8
23-04-21
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.
9
23-04-21
Classification of properties
• Different classification– Run-time properties – exhibits during the execution of
the system• Reliability, safety, performance, robustness
– Life cycle properties – visible in different phases of the system lifecycle
• Maintainability, portability, reusability,…
• Software from Components– Component properties– System properties
• Emerging properties – those that do not exist on component level
10
23-04-21
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).
11
23-04-21
General Concepts of the ISO/IEC 9126-1
Existing Components
12
23-04-21
Quality characteristics, sub-characteristics and attributes
13
23-04-21
ISO/IEC 9126-1 quality attributes
14
23-04-21
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
15
23-04-21
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
17
23-04-21
Dependability
Attributes
Threats
Means
AvailabilityReliabilitySafetyConfidentialityIntegrityMaintainability
Fault PreventionFault ToleranceFault RemovalFault Forecasting
FaultsErrorsFailures
18
23-04-21
Part II
Predictability of composition of properties
What do we know about properties compositions?
What do we need to know to predict system properties from component properties?
Page 19, April 21, 2023
The Challenges
Component C1Property P1 (QA1)
Component C2Property P2 (AQ2)
Property P
Is it possible (i.e. predict) to calculate P from P1 and P2?Is it possible to predict a quality attribute of a system from quality attributes of components?
C1
Ic1
C3
Ic2
C1
Ic1
C3
Ic2
Page 20, April 21, 2023
Is it possible (i.e. predict) to calculate P from P1 and P2?
Answer:It depends of the quality attribute (property).
What if it is not possible?We can test and measure P (hopefully)
But it can be time consumingIt can be very expensive
It can take more efforts to find P than (re)write the code
In some cases it is not worth to se component-based approach
Page 21, April 21, 2023
The main question
• Which quality attributes are composable?
– What are the prerequisites for a predictable composition?
• The component properties themselves• System architecture• Particular usage profiles (how the components are
used)?• The system and the system’s environment
circumstances?
Ivica Crnkovic, Magnus Larsson, Otto PreissConcerning Predictability in Dependable Component-basedSystems: Classification of Quality AttributesArchitecting Dependable Systems II, Springer LNCS 2005
Page 22, April 21, 2023
Idea
• Classification of quality attributes according to their composability– Related to the question
• When we develop a components what do we need to know about its usage in the future systems?
• When developed a system what do we need to know from the components, from the systems and from the system usage?
Ivica Crnkovic, Magnus Larsson, Otto PreissConcerning Predictability in Dependable Component-basedSystems: Classification of Quality AttributesArchitecting Dependable Systems II, Springer LNCS 2005
24
Some definition first…
Assembly – a set of components
System
System Usage
System context
Component
25
23-04-21
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
26
23-04-21
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.
27
23-04-21
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
cPcPcPfAP
nicA
cAP
28
23-04-21
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
29
23-04-21
Example (cont)
• Dynamic memory – components with parameterized configurations/deployment paramentars
n
iicMAM
1
max )()(
30
23-04-21
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
SA
SAcPcPcPfAP
nicA
n
i
31
23-04-21
Clients
Client tier Web server tier Business logic tier Data tier
Web server
Businesscomponents
Data accesscomponents Data
Variabilitypoints
tionimplementaparticularaforfactorsalproportion,,
componentsofnumber;clientsofnumber
ntransactiopertimeresponse/
/
cba
yx
NT
cyy
xbaxNT
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.
32
23-04-21
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
PP
P
cPcPcP
cPcPcP
cPcPcP
fAP
nicA
33
23-04-21
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
wcetcTc
cLcBwcetccL j
chpc j
in
iiin
ij
..
)()(.)(
)(
1
fixed priority scheduling
34
23-04-21
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
U
U
P
NkiUcPfUAP
35
23-04-21
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)
39
23-04-21
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
40
23-04-21
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
U
S
E
U
NlkiEUcPfEUSP
41
23-04-21
Example
• safety property – related to the potential catastrophe– the same property may have different
degrees of safety even for the same usage profile.
42
23-04-21
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
52
23-04-21
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)