component-based software engineering and composition of quality attributes

24
Page 1, July 4, 2022 CBSE - presentations Component-Based Software Engineering Component-Based Software Engineering and composition of Quality Attributes and composition of Quality Attributes Ivica Crnkovic

Upload: lilia

Post on 25-Feb-2016

23 views

Category:

Documents


1 download

DESCRIPTION

Component-Based Software Engineering and composition of Quality Attributes . Ivica Crnkovic. What are Quality Attributes. A (Software) system perform a function – it provides functions Functions – WHAT the system is doing A (software) system perform a function in a fashion – good, bad…. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Component-Based Software Engineering and composition of Quality Attributes

Page 1, April 22, 2023CBSE - presentations

Component-Based Software EngineeringComponent-Based Software Engineeringand composition of Quality Attributes and composition of Quality Attributes

Ivica Crnkovic

Page 2: Component-Based Software Engineering and composition of Quality Attributes

Page 2, April 22, 2023CBSE - presentations

What are Quality AttributesWhat are Quality Attributes

A (Software) system perform a function – it provides functions

Functions – WHAT the system is doing A (software) system perform a function in a fashion – good,

bad…. Quality Attributes – HOW the system is performing the

functions Quality attributes have different names

Non-functional properties Extra-functional properties Properties Ilities.. (reliability, Availability, Mobility, Maintainability,…)

Page 3: Component-Based Software Engineering and composition of Quality Attributes

Page 3, April 22, 2023CBSE - presentations

Classification of Quality attributesClassification of Quality attributes Run-time:

ReliabilityAvailabilityIntegrityPerformance….

Life timeMaintainabilityModifiabilityPortabilityTestabilityUsabilityReusability…..

Page 4: Component-Based Software Engineering and composition of Quality Attributes

Page 4, April 22, 2023CBSE - presentations

Importance of QAImportance of QA

In different domains different QAs are important

Widely used software (office software)Important:Usability, Flexibility, Portability, Interoperability…

Safety-critical systemsReliability, Safety, Security,…

Page 5: Component-Based Software Engineering and composition of Quality Attributes

Page 5, April 22, 2023CBSE - presentations

More about safety-critical systems…More about safety-critical systems…

Safety-critical real-time embedded systems

Safety - “Absence of catastrophic consequences on the users and the environment”

Property depends onEnvironmentUse of the systemConsequently, software is only hazardous in a contextIt is a system behavior

Safety is an attribute of a more general property: Dependability

Page 6: Component-Based Software Engineering and composition of Quality Attributes

Page 6, April 22, 2023CBSE - presentations

DependabilityDependability

1. Ability of a system to deliver service that can justifiably be trusted

Related to 1. Trustworthiness (assurance that a system will perform as

expected)

Page 7: Component-Based Software Engineering and composition of Quality Attributes

Page 7, April 22, 2023CBSE - presentations

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 8: Component-Based Software Engineering and composition of Quality Attributes

Page 8, April 22, 2023CBSE - presentations

Quality Attributes

Page 9: Component-Based Software Engineering and composition of Quality Attributes

Page 9, April 22, 2023CBSE - presentations

The ChallengesThe Challenges

Component C1Property P1 (QA1)

Component C2Property P2 (AQ2)

C2Ic2

C1Ic1

C2Ic2

C1Ic1

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?

Page 10: Component-Based Software Engineering and composition of Quality Attributes

Page 10, April 22, 2023CBSE - presentations

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 11: Component-Based Software Engineering and composition of Quality Attributes

Page 11, April 22, 2023CBSE - presentations

The main questionThe main question

Which quality attributes are composable? What are the prerequisites for a predictable

composition?The component properties themselvesSystem architectureParticular usage profiles (how the components are used)?The system and the system’s environment circumstances?

Page 12: Component-Based Software Engineering and composition of Quality Attributes

Page 12, April 22, 2023CBSE - presentations

IdeaIdea

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?

Page 13: Component-Based Software Engineering and composition of Quality Attributes

Page 13, April 22, 2023CBSE - presentations

Some definitionsSome definitions Component

Specified by functional interface and a number of properties

Assembly A set of components integrated

System Application

or a software system Quality attributes vs. properties

A component/system has a property that express a ceraing quality

Mostly: Quality attribute = property

Page 14: Component-Based Software Engineering and composition of Quality Attributes

Page 14, April 22, 2023CBSE - presentations

Classification of propertiesClassification of properties

1. 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 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 environment context properties. A property which is determined by other properties and by the state of the system environment.

Page 15: Component-Based Software Engineering and composition of Quality Attributes

Page 15, April 22, 2023CBSE - presentations

A) A directly composable property of an assembly is a function of, and only of the same property of the components.

NicPfAPcA

cAP

i

i

));(()(}{

componentassembly,property,

componentsassembly,size,memory

)()(1

i

n

ii

cAM

cMAM

Example: memory size

Page 16: Component-Based Software Engineering and composition of Quality Attributes

Page 16, April 22, 2023CBSE - presentations

An architecture-related property of an assembly is a function of the same property of the components and of the software architecture

NkixcSAcPfAPxSA

kii

k

,));,(),(()(sconnection ,returearchitectusoftware

Page 17: Component-Based Software Engineering and composition of Quality Attributes

Page 17, April 22, 2023CBSE - presentations

Architecture-based properties - exampleArchitecture-based properties - example

Client tier Web server tier Business logic tier Data tier

Web server

Businesscomponents

Data accesscomponents Data

Variabilitypoints

Client tier Web server tier Business logic tier Data tier

Web server

Businesscomponents

Data accesscomponents Data

Variabilitypoints “Performance”

depends on number of clients and concurrent server-components

Page 18: Component-Based Software Engineering and composition of Quality Attributes

Page 18, April 22, 2023CBSE - presentations

A derived property of an assembly is a property that depends on several different properties of the components.

propertiescomponent...propertyassembly

,));(,),(),(()(

1

21

k

ikii

PPP

NkicPcPcPfAP

Page 19: Component-Based Software Engineering and composition of Quality Attributes

Page 19, April 22, 2023CBSE - presentations

A derived property of an assembly exampleA derived property of an assembly example

C1wcet1f1

A

C2wcet2f2

Inputports

Outputports

C1wcet1f1

A

C2wcet2f2

Inputports

Outputports

Component: (A worse case) execution timeAssembly: Latency (response time)

Christer Notström et al…..

Page 20: Component-Based Software Engineering and composition of Quality Attributes

Page 20, April 22, 2023CBSE - presentations

A Usage-dependent property of an assembly is a property which is determined by its usage profile.

Usage profile – describes how do we use the system Used to calculate the reliability

profileusagecomponent´profileusageassembly

profileusageparticularaforproperty

,));´((),(

,

,,

ki

k

kiik

UU

P

NkiUcPfUAP

Page 21: Component-Based Software Engineering and composition of Quality Attributes

Page 21, April 22, 2023CBSE - presentations

A System Environment Context property is a property which is determined by other properties and by the state of the system environment.

profile usageComponent ´System

contexttEnvironmen

profile; usage System

,,);),´((),(

,

,,,

ki

l

k

lkiiklkk

USE

U

NlkiEUcPfEUSP

Example: Safety, security

Page 22: Component-Based Software Engineering and composition of Quality Attributes

Page 22, April 22, 2023CBSE - presentations

SummarySummary

There are properties it is possible to predict Directly from the same properties of the components From different properties of the components From the properties of the components and the architecture

of the system From properties of the components and the Usage Profile of

the system From properties of the components and the Usage Profile of

the system and the system environment

Page 23: Component-Based Software Engineering and composition of Quality Attributes

Page 23, April 22, 2023CBSE - presentations

Classification of QAsClassification of QAs

ConcernsQuality Attribute

Directly compo-sable

Architecture-related Derived

Usage-dependent

System environment context

Availability x xx

Confidentiality xx

Integrity xx

Maintainability x x

Reliability x xx

Safety x xx

Security xx x

Dep

enda

bilit

y

Page 24: Component-Based Software Engineering and composition of Quality Attributes

Page 24, April 22, 2023CBSE - presentations

AssignmentAssignment

Try to classify different properties The properties (quality attributes) are grouped in different

“concerns”