+ All Categories
Home > Documents > Mälardalen University (MdH)

Mälardalen University (MdH)

Date post: 25-Jan-2016
Category:
Upload: celine
View: 47 times
Download: 2 times
Share this document with a friend
Description:
Computation, Composability and Quality Attributes Ivica Crnkovic Mälardalen University, Sweden Department of Computer Science and Engineering www.idt.mdh.se/~icc , [email protected]. Mälardalen University (MdH). Mälardalen University, Vasteras (Västerås). - PowerPoint PPT Presentation
Popular Tags:
38
1 22-06-18 Computation, Composability and Quality Attributes Ivica Crnkovic Mälardalen University, Sweden Department of Computer Science and Engineering www.idt.mdh.se/~icc , [email protected]
Transcript
Page 1: Mälardalen University (MdH)

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]

Page 2: Mälardalen University (MdH)

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]

Page 3: Mälardalen University (MdH)

3

23-04-21

Outline

• Parti I– Properties (Quality attributes)

• Part II– Composability vs. predictability of Quality

Attributes– Classification of Quality attributes

Page 4: Mälardalen University (MdH)

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)

Page 5: Mälardalen University (MdH)

5

23-04-21

Part I

Functional andextra-functional properties

Page 6: Mälardalen University (MdH)

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

Page 7: Mälardalen University (MdH)

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?

Page 8: Mälardalen University (MdH)

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.

Page 9: Mälardalen University (MdH)

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

Page 10: Mälardalen University (MdH)

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).

Page 11: Mälardalen University (MdH)

11

23-04-21

General Concepts of the ISO/IEC 9126-1

Existing Components

Page 12: Mälardalen University (MdH)

12

23-04-21

Quality characteristics, sub-characteristics and attributes

Page 13: Mälardalen University (MdH)

13

23-04-21

ISO/IEC 9126-1 quality attributes

Page 14: Mälardalen University (MdH)

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

Page 15: Mälardalen University (MdH)

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

Page 16: Mälardalen University (MdH)

17

23-04-21

Dependability

Attributes

Threats

Means

AvailabilityReliabilitySafetyConfidentialityIntegrityMaintainability

Fault PreventionFault ToleranceFault RemovalFault Forecasting

FaultsErrorsFailures

Page 17: Mälardalen University (MdH)

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 18: Mälardalen University (MdH)

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 19: Mälardalen University (MdH)

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 20: Mälardalen University (MdH)

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 21: Mälardalen University (MdH)

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

Page 22: Mälardalen University (MdH)

24

Some definition first…

Assembly – a set of components

System

System Usage

System context

Component

Page 23: Mälardalen University (MdH)

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

Page 24: Mälardalen University (MdH)

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.

Page 25: Mälardalen University (MdH)

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

Page 26: Mälardalen University (MdH)

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

Page 27: Mälardalen University (MdH)

29

23-04-21

Example (cont)

• Dynamic memory – components with parameterized configurations/deployment paramentars

n

iicMAM

1

max )()(

Page 28: Mälardalen University (MdH)

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

Page 29: Mälardalen University (MdH)

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.

Page 30: Mälardalen University (MdH)

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

Page 31: Mälardalen University (MdH)

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

Page 32: Mälardalen University (MdH)

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

Page 33: Mälardalen University (MdH)

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)

Page 34: Mälardalen University (MdH)

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

Page 35: Mälardalen University (MdH)

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

Page 36: Mälardalen University (MdH)

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.

Page 37: Mälardalen University (MdH)

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

Page 38: Mälardalen University (MdH)

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)


Recommended