43
1 1 Telecom and Informatics INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004 Jan Øyvind Aagedal 2 Telecom and Informatics Agenda Quality of Service Support in Software Architecture Terminology - IEEE MDA investigated Quality of Service Support in Software Architecture What is Quality of Service (QoS) and why do we need to bother? Where does QoS fit in the picture? Quality of Service Support in Software Architecture QoS Management Quality of Service Support in Software Architecture Component Quality Modelling Language (CQML) Overview and principles Example

INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

1

1Telecom and Informatics

INF5120 – Modellering med objekter

Quality of Service Support in Software Architecture

Forelesning 1025.03.2004

Jan Øyvind Aagedal

2Telecom and Informatics

Agenda

� Quality of Service Support in Software Architecture� Terminology - IEEE� MDA investigated

� Quality of Service Support in Software Architecture � What is Quality of Service (QoS) and why do we need to bother?� Where does QoS fit in the picture?

� Quality of Service Support in Software Architecture� QoS Management

� Quality of Service Support in Software Architecture� Component Quality Modelling Language (CQML)

� Overview and principles� Example

Page 2: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

2

3Telecom and Informatics

Quality of Service Support in Software Architecture� IEEE Std 1471-2000

� Recommended Practice for Architectural Description

� Adopted September 2000� For software-intensive systems

� Architecture has too long been focussed on hardware-related issues - IEEE strikes back!

� Common frame of reference for architectural descriptions� Common terminology

� architecture, architectural description, model, view, viewpoint, system, stakeholder, concern, …

4Telecom and Informatics

Motivations

� Change ctd.� Changes should have limited effects

� Do not want to have unknown ripple effects

� Should define the envelope of change � What is allowed to change without

major consequences

� Good, old SW engineering principles still apply!

� Loose coupling� High cohesion

� Flexibility as a competitive advantage� AT&T vs Sprint

� Complexity� SW systems become complex� The context becomes complex

� Many usage scenarios

� How to convey� Internal structure?� Applicability in different

contexts?

� Change� Panta rei

� Requirements, underlying platform, competitors, market, ...

� Two major motivations for explicit architecture� Change and Complexity

Page 3: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

3

5Telecom and Informatics

Architecture of what?

Virtual enterprise

Business

Software system

Software component

Software object

Software architecture

Enterprise architecture

Decomposition

Bus1Bus2 Bus3

Bus4

SW syst1Actor1 Actor2

SW syst2

Decomposition

Comp1Comp2 Comp3

Comp4

Decomposition

Decomposition

Object1Object2 Object3

Object4

Datatype1Datatype2 Operation1

Datatype3

6Telecom and Informatics

Concern

has 1..* identifies

1..*

used to cover

1..*

Viewpoint

Library viewpoint

0..1has source

selects 1..*conforms to

establishes methods for1..*

Model1..*

aggregates1..*consists of

1..*participates in

View

1..*organized by

participates in

Architectural description1..*

identifies

1..*is addressed to

1..*is important to Stakeholder

described byhas1..*

Rationaleprovides

Architecturehas aninfluences

inhabitsEnvironment System

1..*fulfills

Mission

Those interests which pertain the system’s development, operation and other aspects that are critical or otherwise important to one or more stakeholders.

Concern

The expression of a systems architecture with respect to a particular viewpoint. Addresses one or more of the concerns of the system stakeholder.

View

Determines the boundaries that define the scope of the system of interest relative to other systems.

Environment RationaleThe Rationale of the architecture.

Library viewpoint

A viewpoint with definition originated elsewhere than in the architectural description.

Developed using the methods established by its viewpoint, consisting of views expressing an architectural description.

Model

Has interest in, or concerns relative to the system.

Stakeholder

Viewpoint

A specification of the conventions of constructing and using a view. A pattern or template from which to develop individual views.

A collection of products to document an architecture.

Architectural description

A collection of components organized to accomplish a specific function or set of functions.

System Architecture

The fundamental organisation of a system embodied in its components, their relationships to each other and to the environment, and the principles guiding its design and evolution.

A use or operation for which a system is intended by one or more stakeholders to meet some set of objectives.

Mission

Page 4: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

4

7Telecom and Informatics

described by

identifies

SystemEnvironmentinfluences

inhabits

Mission

Stakeholder

has

fulfills

Architecturehas an

Architectural description

Concern

is important to

has identifies

ViewViewpointused to cover

is addressed to

selects organized by

conforms to

Modelestablishes methods for

participates in

consists of aggregates

participates in

Library viewpoint

has source

Rationaleprovides

1..*

1..*

1..*

1..*

1..* 1..*

1..*

1..*

1..*

1..*

0..1

1..*

1..*

1..*

1..*

Conceptual Model

8Telecom and Informatics

described by

identifies

SystemEnvironmentinfluences

inhabits

Mission

Stakeholder

has

fulfills

Architecturehas an

Architecturaldescription

Concern

is important to

has identifies

ViewViewpointused to cover

is addressed to

selects organized by

conforms to

Modelestablishes methods for

participates in

consists of aggregates

participates in

Libraryviewpoint

has source

Rationaleprovides

1..*

1..*

1..*

1..*

1..* 1..*

1..*

1..*

1..*

1..*

0..1

1..*

1..*

1..*

1..*

IEEE Definitions

� Architecture� The fundamental organisation of a system embodied in its

components, their relationships to each other and to the environment, and the principles guiding its design and evolution.

� Architecture description� A collection of products to document an architecture.

� Concern� Those interests which pertain the system’s development, operation

and other aspects that are critical or otherwise important to one or more stakeholders.

Page 5: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

5

9Telecom and Informatics

described by

identifies

SystemEnvironmentinfluences

inhabits

Mission

Stakeholder

has

fulfills

Architecturehas an

Architecturaldescription

Concern

is important to

has identifies

ViewViewpointused to cover

is addressed to

selects organized by

conforms to

Modelestablishes methods for

participates in

consists of aggregates

participates in

Libraryviewpoint

has source

Rationaleprovides

1..*

1..*

1..*

1..*

1..* 1..*

1..*

1..*

1..*

1..*

0..1

1..*

1..*

1..*

1..*

IEEE Definitions

� Environment� Determines the boundaries that define the scope of the system of

interest relative to other systems.

� Library viewpoint� A viewpoint with definition originated elsewhere than in the

architectural description.

� Mission� A use or operation for which a system is intended by one or more

stakeholders to meet some set of objectives.

10Telecom and Informatics

described by

identifies

SystemEnvironmentinfluences

inhabits

Mission

Stakeholder

has

fulfills

Architecturehas an

Architecturaldescription

Concern

is important to

has identifies

ViewViewpointused to cover

is addressed to

selects organized by

conforms to

Modelestablishes methods for

participates in

consists of aggregates

participates in

Libraryviewpoint

has source

Rationaleprovides

1..*

1..*

1..*

1..*

1..* 1..*

1..*

1..*

1..*

1..*

0..1

1..*

1..*

1..*

1..*

IEEE Definitions

� Model� Developed using the methods established by its viewpoint,

consisting of views expressing an architectural description.

� Rationale� The Rationale of the architecture.

� Stakeholder� Has interest in, or concerns relative to the system.

Page 6: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

6

11Telecom and Informatics

described by

identifies

SystemEnvironmentinfluences

inhabits

Mission

Stakeholder

has

fulfills

Architecturehas an

Architecturaldescription

Concern

is important to

has identifies

ViewViewpointused to cover

is addressed to

selects organized by

conforms to

Modelestablishes methods for

participates in

consists of aggregates

participates in

Libraryviewpoint

has source

Rationaleprovides

1..*

1..*

1..*

1..*

1..* 1..*

1..*

1..*

1..*

1..*

0..1

1..*

1..*

1..*

1..*

IEEE Definitions

� System� A collection of components organized to accomplish a specific

function or set of functions.

� View� The expression of a systems architecture with respect to a

particular viewpoint. Addresses one or more of the concerns of the system stakeholder.

� Viewpoint� A specification of the conventions of constructing and using a

view. A pattern or template from which to develop individual views.

12Telecom and Informatics

Defines Evolutionary Envelope� Anticipates likely system changes

� Other changes than the anticipated ones are often very expensive and uncertain

� D’Souza & Wills: “Architecture - The set of design decisions about any system (or smaller component) that keeps its implementors and maintainers from exercising needless creativity.”

� What matters in your system?� You may want to apply relevant patterns to support your

concerns

Built for speed:

Built for extensibility: Mediator

Page 7: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

7

13Telecom and Informatics

From Bran Selic at Summer School on Software

Architecture, Turku, Finland, August 2001

Architectural Description

14Telecom and Informatics

Arkitekturer og meta-nivå� Architecture

� The fundamental organisation of a system embodied in its components, their relationships to each other and to the environment, and the principles guiding its design and evolution.

Page 8: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

8

15Telecom and Informatics

Model Driven Architecture Framework

16Telecom and Informatics

MDA: Models

� Model = a representation of part of the function, structure, and/or behaviour of the system

� Platform = technological and engineering details that are irrelevant to the fundamental functionality of a software component

Page 9: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

9

17Telecom and Informatics

MDA: Viewpoints

� View = a representation of the whole system from the perspective of a related set of concerns

� Viewpoint = a specification of the conventions for constructing and using a view

� Abstraction = description that omits details that are not relevant to the purpose of abstraction

18Telecom and Informatics

Refinement

� Refinement = a more detailed description that conforms to another (its abstraction)

� Refinement relation = described using a model, defining abstraction observations in terms of realization observations while maintaining certain guarantees of the abstraction

***

Page 10: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

10

19Telecom and Informatics

MDA: Model transformation

� Model transformation = the process of converting one model into another model of the same system

� Mapping = a set of rules and techniques used for this modification

20Telecom and Informatics

MDA: Transformation

***

*

Page 11: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

11

21Telecom and Informatics

MDA: Mapping

22Telecom and Informatics

MDA: Refinement != transformation

� Refinement relation� criteria for when a model is a realization of another model

� Transformation� the process of constructing one model from another model

� Mapping� rules and techniques to be used in a transformation process

� Refinement pattern� special case of mapping, defined in accordance with refinement

relation

Page 12: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

12

23Telecom and Informatics

MDA: “Model driven” - a definition

� A system development process is model driven if� the development is mainly carried out using conceptual models at

different levels of abstraction and using various viewpoints� it distinguishes clearly between platform independent and platform

specific models� models play a fundamental role, not only in the initial development

phase, but also in maintenance, reuse and further development� models document the relations between various models, thereby

providing a precise foundation for refinement as well as transformation

24Telecom and Informatics

Metamodels

� Metamodels are specifications� models are valid if no false statements according to metamodel

(i.e., well-formed)

� Metametamodel� model of metamodels� reflexive metamodel, i.e., expressed using itself

� ref. Kurt Gödel

� minimal reflexive metamodel� can be used to express any statement about a model

Page 13: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

13

25Telecom and Informatics

Meta levels in OMG

� M0 – what is to be modelled (Das Ding an sich)� M1 – Models (Das Ding für mich)

� May contain both class/type and instance models

� M2 – Metamodels� M3 – The metametamodel

� Interpretation (not instantiation!) crosses meta-layers, theories reside in one layer (e.g., instance models can be deduced from class models)

26Telecom and Informatics

Classification

Dog

Collie

Animal

LivingBeing Four Legged

Object

Celebrity

MovieStar

Lassie

Page 14: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

14

27Telecom and Informatics

Classification Dimensions

Collie

Celebrity

Four LeggedObject

Animal

Dog

Movie Star

Model Element

Instance

Object

Ontological classification(domain types)

Linguistic classification(representation form)

28Telecom and Informatics

Kinds of metamodels

� Two kinds of information of a set of models are modelledin metamodels� Form (linguistic aspects)

� OMG is predominantly occupied with this

� Content (ontological aspects)

Page 15: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

15

29Telecom and Informatics

Linguistic metamodelling

LassieCollie

Class Object

Class

represents represents

linguistic ”instance-of” linguistic ”instance-of”

linguistic ”instance-of” linguistic ”instance-of”

instance-of

ontological instance-of

ontological instance-of

L0 (called M0 in OMG)

L1 (called M1 in OMG)

L2 (called M2 in OMG)

L3 (called M3 in OMG)

30Telecom and Informatics

Ontological metamodelling

Lassie

Collie Class

Breed

represents linguistic instance-ofO0

O1

O2

O3

Object

Biological rank

ontological ”instance-of”

linguistic instance-of

linguistic instance-ofontological”instance-of”

ontological ”instance-of”

ontological ”instance-of”

L1 L2

Page 16: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

16

31Telecom and Informatics

UML profiles

� Define the meaning of modelling elements� interpretation, i.e., relate stereotyped classifiers to real world

concepts such as memory, process, resource

� Mostly content (ontological), but must relate to form (linguistic)

� Poor expressional power – stereotypes� no relations between O 0/1/2 concepts� cast as form, but is really content

Breed

Class

32Telecom and Informatics

Resource model as a UML profile

<<ResourceInstance>>0xFFFF:LocalCache

ResourceInstance

Class

Resource

represents

ontological”instance-of”

linguisticinstance-of

00

O1

Object

linguisticinstance-of

Memoryrepresents

ontological”instance-of”

L2

<<Memory>>LocalCache

L1

Page 17: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

17

33Telecom and Informatics

Architecture Description Techniques� ADLs (Architecture Description Languages)

� Rapide, UniCon, Wright, Aesop, ArTek, SADL, Meta-H, C-2, ...� Lexical, research-oriented (not widely used)

� Lessons learned from the ADL community� Connectors, Interfaces� Multiple representations

� Refinement, PIM/PSM

� Styles� Domain-specific vocabulary� Impose topology constraints

� Visualisation� Domain-specific visual conventions

� UML (Unified Modeling Language)� Graphical� Standard, widely used� No agreed set of diagrams to specify system architectures

34Telecom and Informatics

Seven Principles of Sound Documentation (from Paul Clements, SEI, CMU)

� Certain principles apply to all documentation, not just documentation for software architectures.

� 1. Write from the point of view of the reader.

� 2. Avoid unnecessary repetition.

� 3. Avoid ambiguity.

� 4. Use a standard organization.

� 5. Record rationale.

� 6. Keep documentation current but not too current.

� 7. Review documentation for fitness of purpose.

Page 18: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

18

35Telecom and Informatics

1. Write from the point of viewof the reader.

� What will the reader want to know when reading a document?� Make information easy to find!

� Your reader will appreciate your effortand be more likely to read yourdocument.

� Signs of documentation written for the writer’s convenience:� stream of consciousness: the order is that in which things occurred

to the writer

� stream of execution: the order is that in which things occur in the computer

36Telecom and Informatics

2. Avoid unnecessary repetition.

� Each kind of information should be recorded in exactly one place.

� This makes documents easier to use and easier to change.

� Repetition often confuses, because the information is repeated in slightly different ways. Which is correct?

� Question: When is repetition OK?

Page 19: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

19

37Telecom and Informatics

3. Avoid ambiguity.

� Documentation is for communicating information and ideas. If the reader misunderstands, the documentation has failed.

� Precisely-defined notations/languages help avoid whole classes of ambiguity.

� If your documentation uses a graphical language� always include a key � either point to the language’s formal definition or give the meaning

of each symbol. Don’t forget the lines!

38Telecom and Informatics

3. Avoid ambiguity (cont’d.)

� Box-and-line diagrams are a verycommon form of architectural notation.

� But what do they mean?

� These do not show an� architecture, but only the beginning of one.

� If you use one, always define precisely what the boxes are and what the lines are.

� If you see one, ask the owner what it means. The result is usually very entertaining.

Page 20: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

20

39Telecom and Informatics

4. Use a standard organization.

� Establish it, make sure your documents follow it, and make sure that readers know what it is.

� A standard organization� helps the reader navigate and find information

� helps the writer place information and measure work left to be done

� embodies completeness rules, and helps check for validation

40Telecom and Informatics

4. Use a standard organization (cont’d.)

� Corollaries:

� Organize the documentation for ease of reference.� A document may be read once, if at all.� A successful document will be referred to hundreds or thousands of

times.� Make information easy to find. � Question: How?

� Don’t leave incomplete sections blank; mark them “to be determined”� Question: Why?

Page 21: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

21

41Telecom and Informatics

5. Record rationale.

� Why did you make certain design decisions the way you did?

� Next week, next year, or next decade, how will you remember? How will the next designer know?

� Recording rationale requires discipline, but saves enormous time in the long run.

� Record rejected alternatives as well.

42Telecom and Informatics

6. Keep documentation current but not too current.

� Keep it current:� Documentation that is incomplete, out of date, does not reflect

truth, and does not obey its own rules for form is not used.� Documentation that is kept current is used.� With current documentation, questions are most efficiently

answered by referring the questioner to the documentation.� If a question cannot be answered with a document, fix the

document and then refer the questioner to it.� This sends a powerful message.

Page 22: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

22

43Telecom and Informatics

6. Keep documentation current but not too current (cont’d.)

� Don’t keep it too current� During the design process, decisions are considered and re-

considered with great frequency.� Revising the documentation every five minutes will result in

unnecessary expense.� Choose points in the development plan when documentation is

brought up to date� Follow a release strategy that makes sense for your project.,

44Telecom and Informatics

7. Review documentation for fitness of purpose

� Only the intended users of a document can tell you if it� contains the right information� presents the information in a useful way� satisfies their needs

� Plan to review your documents with representatives of the groups for whom it was created.

� Active design reviews are a good technique.

Page 23: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

23

45Telecom and Informatics

Quality of Service Support in Software Architecture� Architecture defines evolutionary envelope within which

acceptable quality is maintained� But what kind of qualities are affected?

� Qualities define the “goodness” of the system (or its architecture)

� Heaps of -ilities� Subjective vs. objective quality� Design-time vs. run-time qualities

46Telecom and Informatics

effectiveness productivity safety

quality in use

satisfaction

ISO 9126 - Software Product Quality

� Quality in use - related to a specific context of use � effectiveness – the capability of the software product to enable users

to achieve specified goals with accuracy and completeness in a specified context of use.

� productivity – the capability of the software product to enable users to expend appropriate amounts of resources in relation to the effectiveness achieved in the specified context of use.

� safety – the capability of the software product to achieve acceptable levels of risk of harm to people, business, software, property or the environment in a specified context of use.

� satisfaction – the capability of the software product to satisfy users in a specified context of use.

Page 24: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

24

47Telecom and Informatics

ISO 9126 - External and Internal Quality Metrics� Irrespective of

context of use

functionality reliability usability efficiency maintainability

external and internal quality

portability

suitabilityaccuracyinteroperabilitysecurity

functionality compliance

maturityfault tolerancerecoverability

reliabilitycompliance

understandabilitylearnabilityoperabilityattractiveness

usability compliance

time behaviourresource utilisation

efficiency compliance

analysabilitychangeabilitystabilitytestability

maintainability compliance

adaptabilityinstallabilityco-existencereplaceability

portabilitycompliance

48Telecom and Informatics

Functionality

� Suitability� The capability of the software

product to provide an appropriate set of functions for specified tasks and user objectives.

� Accuracy� The capability of the software

product to provide the right or agreed results or effects with the needed degree of precision.

� Interoperability� The capability of the software

product to interact with one or more specified systems.

� Security� The capability of the software

product to protect information and data so that unauthorised persons or systems cannot read or modify them and authorised persons or systems are not denied access to them

� Functionality compliance� The capability of the software

product to adhere to standards, conventions or regulations in laws and similar prescriptions relating to functionality.

� The capability of the software product to provide functions which meet stated and implied needs when the software is used under specified conditions.

Page 25: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

25

49Telecom and Informatics

Reliability

� Maturity� The capability of the software

product to avoid failure as a result of faults in the software.

� Fault tolerance� The capability of the software

product to maintain a specified level of performance in cases of software faults or of infringement of its specified interface.

� Recoverability� The capability of the software

product to re-establish a specified level of performance and recover the data directly affected in the case of a failure.

� Reliability compliance� The capability of the software

product to adhere to standards, conventions or regulations relating to reliability.

� The capability of the software product to maintain specified level of performance when used under specified conditions.

50Telecom and Informatics

Usability

� Understandability� The capability of the software

product to enable the user to understand whether the software is suitable, and how it can be used for particular tasks and conditions of use.

� Learnability� The capability of the software

product to enable the user to learn its application.

� Operability� The capability of the software

product to enable the user to operate and control it.

� Attractiveness� The capability of the software

product to be attractive to the user.

� Usability compliance� The capability of the software

product to adhere to standards, conventions, style guides or regulations relating to usability.

� The capability of the software product to be understood, learned, used and attractive to the user, when used under specified conditions.

Page 26: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

26

51Telecom and Informatics

Efficiency

� Time behaviour� The capability of the software

product to provide appropriate response and processing times and throughput rates when performing its function, under stated conditions.

� Resource utilisation� The capability of the software

product to use appropriate amounts and types of resources when the software performs its function under stated conditions.

� Efficiency compliance� The capability of the software

product to adhere to standards or conventions relating to efficiency.

� The capability of the software product to provide appropriate performance, relative to the amount of resources used, under stated conditions.

52Telecom and Informatics

Maintainability

� Analysability� The capability of the software

product to be diagnosed for deficiencies or causes of failures in the software, or for the parts to be modified to be identified.

� Changeability� The capability of the software

product to enable a specified modification to be implemented.

� Stability� The capability of the software

product to avoid unexpected effects from modifications of the software.

� Testability� The capability of the software

product to enable modified software to be validated.

� Maintainability compliance� The capability of the software

product to adhere to standards or conventions relating to usability.

� The capability of the software product to be modified. Modifications may include corrections, improvements or adaptation of the software to changes in environment, and in requirements and functional specifications.

Page 27: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

27

53Telecom and Informatics

Portability

� Adaptability� The capability of the software

product to be adapted for different specified environments without applying actions or means other than those provided for this purpose for the software considered.

� Installability� The capability of the software

product to be installed in a specified environment.

� Co-existence� The capability of the software

product to co-exist with other independent software in a common environment sharing common resources.

� Replaceability� The capability of the software

product to be used in place of another specified software product for the same purpose in the same environment.

� Portability compliance� The capability of the software

product to adhere to standards or conventions relating to portability.

� The capability of the software product to be transferred from one environment to another.

54Telecom and Informatics

Development-time qualities (from Catalysis)

� Affected by architecture:� Modifiability- Can the system be modified efficiently?

� E.g., low coupling and high cohesion

� Reusability - Are there units in the system that can are candidates for use elsewhere? � E.g., does the system use standards?

� Portability - The ability to change platform� E.g., layering

� Buildability - Is it easy to implement?� E.g., use existing frameworks

� Testability - Can one easily define test scenarios?� E.g., precise requirement specifications

Page 28: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

28

55Telecom and Informatics

Runtime qualities (from Catalysis)

� Affected by architecture: � Functionality - does the system assist users in their tasks?� Usability - is it intuitive to use for all users?� Performance - does it perform adequately when running?

� E.g., response time, transaction volume, ...

� Security - does it prevent unauthorised access?� Reliability and availability - is it available and correct over time?� Scalability - can it cater for increased volume?� Upgradability - can it be upgraded at runtime?

� Single key quality: Conceptual integrity of an architecture

56Telecom and Informatics

Quality of Service (QoS)

� QoS is a general term that covers system performance, rather than system operation (i.e., functionality)

� Extra-functional properties� degrees of satisfaction as opposed to satisfied / not satisfied

� Examples:� availability, reliability, precision, fault-tolerance, capacity,

throughput, delay, …

� Most common for multimedia, command and control, simulations, distributed systems, …

� Less common for information systems� there are needs! (transaction-based, security aware, etc.)

Page 29: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

29

57Telecom and Informatics

Different Abstractions

Hardware

Operatingsystem

Applicationinterface

Applicationsubsystem

Transportsubsystem

Networkingsystem

User User QoS

Application QoS

Transport QoS

Network QoS

System QoS

Hardware QoS

� Peer-to-peer vs. layers� QoS concepts on

different layers are different, but related� QoS mapping

58Telecom and Informatics

Quality of Service Support in Software Architecture � Some is already available

� Networks and protocols (IPv6, RSVP, ATM, …)� Real time operating systems (Chorus, VxWorks, …)� Middleware (CORBA implementations such as COOL, ACE, …)

� Unified and comprehensive QoS architecture is still a hot research topic

� Several stakeholders� End users, system operators, network providers, resource owners,

...

� From a software engineering perspective, a unified computational model is needed

Page 30: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

30

59Telecom and Informatics

QoS Management� The activities needed to support monitoring, control and

maintenance of QoS� Spectrum from static to dynamic management

� Static� Designed and configured into the system� QoS are not monitored or controlled

� Dynamic� Adapts to changes� Monitoring, resource allocation, adaptation of applications (e.g.,

caching), re-routing, ...

� Best-effort QoS� Threshold or compulsory

� Guaranteed QoS� Statistical variations

60Telecom and Informatics

Managing a Distributed Application

� Multimedia Presentation Application� App-Server gets multimedia data from MMDBMS and Web-Server� Multimedia data is ”combined” and presented to the client

Client App-Server

MMDBMS

Web-Server

Net1

Net2

LocalQoS Mgr

LocalQoS Mgr

LocalQoS Mgr

LocalQoS Mgr

LocalQoS Mgr

LocalQoS Mgr

StrategicQoS Mgr

� Use a ”local” QoS manager for each app component

� Use a hierarchy of dynamically-configured, ”strategic” QoS managers for end-to-end management

StrategicQoS Mgr

StrategicQoS Mgr

Page 31: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

31

61Telecom and Informatics

� Coordinated Global View vs. Component-specific change� Tactical adaptation within a component

� Strategic adaptation strategies

� Parameter adjustment� Increase buffer size by 50%� Increase frequency of checking and

adjusting a video scaling factor

� Service migration� Move a data filtering

component from theserver to the client

� Service replacement� Obtain a media object from a replicated data source in another domain

� Service replication� Create a cached data copy

and migrate some requeststo the cache server

� Algorithm replacement� Use hash-based search in

place of index-based search

Strategic vs Tactical Adaptation

62Telecom and Informatics

Problem space Solution space InfrastructureQoSreqs.

QoSsupport

Quality of Service Support in Software Architecture

� QoS support in applications requires methodological support during development� How to match requirements and solutions

� QoS is a concern of many stakeholders� Need to include QoS specification into architectural descriptions

� The Big Question: How do changes affect the agreed upon QoS?

Page 32: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

32

63Telecom and Informatics

Overview

Reqs..

Process

UML + CQML

ApplicationC++/Java/...

Services

Middleware

Rep

64Telecom and Informatics

CQML

� Component Quality Modelling Language� Lexical language for Quality of Service (QoS) specification� QoS specification orthogonal to functional specification

� add QoS specification of existing systems

� UML profile for QoS based on CQML

� QoS specification required for QoS management

Page 33: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

33

65Telecom and Informatics

CQML overview

Componentspecification

Profile_1

Statement_1

Characteristic_1

Characteristic_2

Characteristic_1

Statement_2

Profile_2

Statement_1

Characteristic_1

Characteristic_2

Characteristic_1

Statement_3

Characteristic_1

Statement_4

66Telecom and Informatics

Orthogonality

UML profile for QoS

Foundation Quality Elements

Page 34: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

34

67Telecom and Informatics

Quality profiles

� Specifies conditional QoS offers� assumption/guarantee

� Related to service provider� A service provider may have many profiles

� offering different qualities to different clients

� Simple or compound profile� adaptation� transition behaviour between “regions”

Classifier(f rom Core ) QoSProfile

0..n1 0..n1 for

68Telecom and Informatics

QoS contract� Components can provide a service only if the environment

meets certain requirements� A sufficiently hostile environment can always ruin system

performance

� Expectation(component) --> Obligation(component)� If the expectations are met, the component must keep its promise

� Can be used both between peers and between layersClassifier(from Core)

QoSStatementQoSProfile

0..n

1

0..n

1for

11provides

11uses

Page 35: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

35

69Telecom and Informatics

Quality statement

� Restricts QoS characteristics� Boolean expression of such restrictions� Qualified

� best-effort, guaranteed, threshold best-effort, compulsory best-effort

Classifier(f rom Co re)

QoSProfile

0..n

1

0..n

1for

QoSCharacteristic

QoSStatement

11provides

11uses

QoSConstraint1..n1..n

70Telecom and Informatics

Quality characteristic

� It represents some aspect of the QoS of a system, service or resource that can be identified and quantified

� Represents the domain� numeric, enum, set� ordering (what is “better-than”?)� composition

� values of aggregates along this dimension

Page 36: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

36

71Telecom and Informatics

Conceptual model (virtual meta-model)

CategoryPart

QoSCategory

1..*

0..*

1..*

0..*

QoSCharacteristic

QoSConstraintQoSStatement1..*1..*

Classifier(from Core)

QoSProfile

11

provides

11

uses

1

0..*

1

0..*

for

72Telecom and Informatics

Example

Enrol in University

{Public lectures may be viewed by all customers}

{Course lectures may only be viewed by students currently registered in the course}

Guest

Register for Course

Notify of Event

View Answer {Student must be enrolled,Prerequisites must be met,

Must be space in course}

GoodLearninglearnability >= good

<<QoSStatement>>

Viewer Find Lecture

Student

View Lecture

<<include>>

Ask Question

<<extend>>

Page 37: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

37

73Telecom and Informatics

Business Process Model

Create MM Lecture

Produce MM Element

Give Lecture LectureContent

Lecturer MM lecture producer

<<QoSConstraint>>Pedagogic

MMelement<<QoSConstraint>>Ordering and synchronymust be preserved

Lecture

74Telecom and Informatics

CQML in req eng.

quality_characteristic learnability {domain : increasing enum{poor, average, good, excellent};media_quality;pedagogic_quality;

}

View LectureViewer

{learnability >= good}

Page 38: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

38

75Telecom and Informatics

Information and Computational Modelling

Study University

AtLeastISDN<<QoSStatement>>

bandwidth >= ISDN

AtLeastISDN<<QoSStatement>>

bandwidth >= ISDN

GoodLearning<<QoSStatement>>

learnability >= good

Viewer Find Lecture

Retrieve Lecture

View Lecture

<<include>>

<<include>>

76Telecom and Informatics

Quantification

� How to measure and quantify quality?� Commonly agreed reference units (objective) versus ordinal

rankings (subjective)

� Main problem: From subjective to objective� Vagueness in classification of observations

� Vagueness is not ambiguity or generality� Sorites paradox (The “slippery-slope” argument)� Vagueness-as-ignorance or gray areas (fuzzy logic)?

� Chosen approach: Stability threshold

Page 39: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

39

77Telecom and Informatics

Timeliness

: Displayer : Lecture Consumer

1: play

2: showDataUnit(unit)

3: stop

4: showDataUnit(null)

5: fastForward

6: showDataUnit(unit)

7: pause

a

b

c

d

e

f

<<QoSConstraint>>{b - a < 1000 ms andd - c < 10 ms andf - e < 100 ms}

78Telecom and Informatics

profile acceptable for Lecture Consumer {profile good {

uses good(in) and smooth(in);provides good(out) and smooth(out);

}profile ok {

uses good(in);provides good(out);

}transition good->ok: increaseBufferSize();

}

CQML in detailed designLecture Consumer

increaseBufferSize()

Buffer

size : Integerflow : Flow1..*

+in

1..*DataReceiver

putDataUnit(unit : DataUnit)

Displayer

showDataUnit(unit : DataUnit)

out

Page 40: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

40

79Telecom and Informatics

quality smooth(flow : Flow) {jitter(flow) < 10;

}quality_characteristic jitter(flow : Flow) {

domain : decreasing numeric milliseconds;values: (flow.SE->last.time() –(flow.SE->first.time() + flow.chronon*flow.SE->size())).abs;

composition: parallel-and max;parallel-or min;sequential +;

}

Support for QoS Management

� QoS mapping between abstraction levels needs brainwork� Traceability from requirements to solution

80Telecom and Informatics

CIDLcomponent X {

provides If x;};…...

CQMLprofile Y for X {

provides good(x);;};…...

Repositories

Specifications

CompilationConfiguration/deployment

Running system

Codeclass anX implements X {

int i:=0….;

};…...

instancestemplates

QoS-aware System Development

Page 41: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

41

81Telecom and Informatics

Conclusions

� QoS should be considered during software design� QoS should be specified to support QoS management� QoS specifications should be orthogonal to software

architecture� but may influence it

82Telecom and Informatics

QoS Profile for components

Operation(from Core)

CompoundProfile

ProfileTransit ion0..*0..*{ordered}

0..*0..*

SimpleProfile1..*1..*

{ordered}1+to11

+from1

QoSStatement1 11 1uses

11

11

provides

QoSAssociation

QoSProfile

BehavioralFeature(from Core)

Association(from Core)

AssociationEndisNavigable : Boolean

2..*

1+connection

2.. *

1Feature

(from Core)

Classifier(f rom Core) *1 *

+type

1* *+specification*

+participant*

*

1

+feature*

{ordered} +owner1

StructuralFeature(from Core)

1+type 1*

Page 42: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

42

83Telecom and Informatics

QoS Statement

SingleQoSStatement

QoSConstraintqualification : QualificationKind

11

{ordered}

Constraintbody : BooleanExpression

ModelElement(from Core)

*

1..*

+constraint*

+constrainedElement1..*

{ordered}

CompoundQoSStatement

Operation(from Core)

QoSStatement2..n2..n

relation0..10..1worth

Classifier(from Core)

Parameter(from Core)

0..*+parameter

0..*

1 *

+type

1 *

84Telecom and Informatics

QoS Characteristic

Numeric<<primitive>>

String(from Data Types)

<<primitive>>

Set

StringSet 1..*1..*1.. *1.. *{ordered}

Enumeration(from Data Types)

DataType(from Core)

StatisticalAttributeKind<<enumeration>>

Domaindirection : DirectionKind

Classifier(from Core)

QoSCharacteristicinvariant : BooleanExpressionparallel_and_composition : MappingExpressionparallel_or_composition : MappingExpressionsequential_composition : MappingExpressionvalues : MappingExpression

0..*0..*

11

Parameter(f rom Core)

1*

+type

1*

+parameter

Page 43: INF5120 – Modellering med objekter · 1 Telecom and Informatics 1 INF5120 – Modellering med objekter Quality of Service Support in Software Architecture Forelesning 10 25.03.2004

43

85Telecom and Informatics

QoS Category

QoSProfile

QoSCharacteristic

QoSCategory

CategoryPart

0..*

1..*

0..*

1..*

QoSStatement

Namespace(from Core)

86Telecom and Informatics

Quality types

QualificationKind<<enumeration>>

DirectionKind<<enumeration>>

StatisticalAttributeKind<<enumeration>>