1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe...

62
SD Xperf=1.00 Xloss=0.01 Softw are D esign and Q uality 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

Transcript of 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe...

Page 1: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

1

Challenges and Results in Component Quality Certification

Ralf Reussner Universität Karlsruhe (TH)

Karlsruhe Institute of Technology (KIT)

Page 2: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 2

Overview

▪ Software Industrialisation & Software Quality Certification

▪ Software Engineering & Software Quality Prediction

▪ How Architectural Quality Models and Prediction Methods can be used for Softwae Quality Certification

▪ Open Issues

2

Industrialisation Engineering Certification by Prediction Open Issues

Page 3: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 3

Overview

▪ Software Industrialisation & Software Quality Certification

▪ Software Engineering & Software Quality Prediction

▪ How Architectural Quality Models and Prediction Methods can be used for Softwae Quality Certification

▪ Open Issues

3

Industrialisation Engineering Certification by Prediction Open Issues

Page 4: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 4

Industrialisation (1)

1. Epoch in History of Technology1. Phase: steam engine as technological driver ca.

1780-18402. Phase: Electricity as driver: ca. 1840-19603. Phase: ICT as driver: since ca. 1990

2. Management-Method• Lowering of costs per unit (“Stückkosten”)

Industrialisation Engineering Certification by Prediction Open Issues

Page 5: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 5

Industrialisation (2)

Goal:▪ Lowering of costs per unitThrough:▪ Standardisation▪ Specialisation▪ Automation

Standardisation eases specialisation and automation

Technologies as drivers: ▪ Steam engine as driver for automation, ▪ Enabled technologies demand standardisation (e.g., railroading) ▪ Which allowed specialisation (e.g., locomotive, wagons, rails, etc.)

Industrialisation Engineering Certification by Prediction Open Issues

Page 6: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 6

Ways of Industrialisation

Standardisation

AutomationSpecialisation

adapted from: Buxmann, Diefenbach, Hess: Die Softwareindustrie, Springer, 2008

Technology Technology

Technologysupports / enables supports / enables

demandsdemands

Driver Driver

Driver

Industrialisation Engineering Certification by Prediction Open Issues

Page 7: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 7

Development and Production

▪ Technical Production: well understood, planable, repeatable

▪ Problems of Software Engineering are problems in development, not production

Development

Production

TechnicalProduct

Requirements to

a technical product ......

Production Use

7

Industrialisation Engineering Certification by Prediction Open Issues

Page 8: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 8

Software-Industrialisation

▪ What actually does: “lower costs per unit” mean for Software?– In particular, as software is not produced by

developers.

▪ What actually means Software-Production?– Not only distribution!

▪ But also: – Adaptation– Deployment– Configuration

Industrialisation Engineering Certification by Prediction Open Issues

Page 9: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 10

Drivers ofSoftware-Industrialisation

▪ Software Components▪ Software Architectures / Patterns▪ Software Product Lines / Frameworks / Reference

Architectures▪ Model-driven Software Development ▪ Well-understood Development Processes /

Collaborative Processes▪ Certified Components and Architectures▪ Software Services and SOAs▪ Fixed and reasonable Technical Standards

which are not ignored.

Industrialisation Engineering Certification by Prediction Open Issues

Page 10: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 11

Role of Components in an Industrialised Discipline

▪ All industries have components.▪ Important means for standardisation ▪ Components lower the degrees of freedom during

development and, hence, increase the predictability of quality attributes.

▪ The re-use of components blurs the boundaries between development of new software, evolution of software and integration of software (which reflects just the reality).

▪ Re-use of components / composition of systems is isomorphic to re-use / composition of prediction models

11

Industrialisation Engineering Certification by Prediction Open Issues

Page 11: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 12

What is a component?

▪ “A component is a contractually specified building unit of software which can be readily composed or deployed.”– “readily composed or deployed”:

• without having to understand the interna as a human• these are the two main things to be done with

components

– not necessarily “black-box”: Information on interna can be available to tools.

▪ “Components are for composition, much beyond is unclear…” (Clemens Szyperski)

12

Industrialisation Engineering Certification by Prediction Open Issues

Page 12: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 13

Different Abstraction of Components

CTType

IIDImplementation

Instance Description

DIDDeployment

Instance Description

RIDRuntime Instance

Description

1

*

1

*

Not considered within the Palladio ComponentModel

1

*

QoS (i, es, up, d)FP (es)

QoS (es, up, d)FP (es)

QoS (up)FP ()

i: implementationes: external servicesup: usage profiled: deployment

«implements»

«deploys»

Implementation

Type

Deployment

Runtime

Industrialisation Engineering Certification by Prediction Open Issues

Page 13: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 15

Components and Services

▪ A software component is a contractually specified software building block which can be deployed or composed without understanding its internals.

▪ A service is a deployed component.▪ New role: service provider, new business model▪ SOAs are not designed, but are evolving

– well, nearly

▪ Lightweight service compositions– instead of scripting– one-use software

▪ SLA are needed to describe service, like an interface describes a module.

Industrialisation Engineering Certification by Prediction Open Issues

Page 14: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 16

Quality of Services

▪ Eased modelling & prediction of quantitative properties:– Mostly synchronous calls– Deployment context and external components

fixed

Industrialisation Engineering Certification by Prediction Open Issues

Page 15: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 17

Q-Impress Vision(EU FP 7 STREP)

Design Model

Prediction Model

Source Code

Resource Model

Quality impact analysis and simulation

Service Architecture

Model

Annotations

Changes

Service evolution

cycle

Service evolution

cycle

Me

tho

d v

alid

atio

n / D

em

on

stra

tor

Me

tho

d in

teg

ratio

n

Usage profile

UML

Service architecture extraction

Monitoring

Domain knowledge

Legacy Code

Service Wrappers

Legacy code wrapping

Monitoring / Benchmarking

Annotations

Page 16: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 18

Certified Components and Architectures and Standards

▪ Needed to ensure trust of unknown foreign components.

▪ Needed to justify costs of architectural modelling.▪ Certification is usually related to a standard

(certification of “standard quality”)▪ Standards need to be reasonable (more than the

expression of the business interests if the members of standardisation bodies)

▪ Standards need to be known and obeyed. Lack of culture in our discipline.

Industrialisation Engineering Certification by Prediction Open Issues

Page 17: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 19

A Simple Test on Software Standards

▪ IEEE 610.12-1990 – SE Terminology

▪ IEEE 730-2002 – Software Quality

▪ IEEE 1471-2000 – Software Architecture

Industrialisation Engineering Certification by Prediction Open Issues

Page 18: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 20

What is Certification

▪ The verifiable demonstration of qualities of an entity according defined or prescribed standards.

▪ Entities are often technical products (cars, buildings, designs of such products, …)

▪ In the software world most often– processes (CMMi, QIP, ..) or– education / training courses

are certified.▪ If training courses are concerned with specific

software products, the certification of such courses is sometims wrongly called “product-oriented certification”.

Industrialisation Engineering Certification by Prediction Open Issues

Page 19: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 21

Certification of Software Products

▪ In the software world software products are not certified.

▪ Software is different to physical technical products (no wear and tear) but also evolves and designs also need to be certified.

▪ Analogy: Typ appropriation of cars.▪ Different to verification:

– several quality attributes are of concern– entities for certification can be

• components• architectures• deployed component (aka services) • whole systems

– verifiably demonstratable– according to standards

Industrialisation Engineering Certification by Prediction Open Issues

Page 20: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 22

Why Certification

▪ Software vendor / Software provider:– for “marketing” (a means to

create trust)– because of legal regulations

▪ Software customer:– because also software vendor

of composed products– because of legal regulations (of

non-software domains)

Software Developer

Customer

Industrialisation Engineering Certification by Prediction Open Issues

Page 21: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 23

What Quality to Certify?

▪ Functional properties of components (close to automated verification)

▪ External non-functional properties of components:

▪ Demonstrate, that formal quality model fits to implementation (and vice versa security)

Industrialisation Engineering Certification by Prediction Open Issues

Page 22: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 24

Standard Certification Scenario

24

CertificationAuthority

Software Developer

Customer

Trust

Examination &

Certification

Software Offer

Industrialisation Engineering Certification by Prediction Open Issues

Page 23: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 25

Autonomic Certification Scenario

25

Software Developer

Customer

Software Offer

Checks certificate

CertificationAuthority

Provides certifies tools for certificatie checks

Industrialisation Engineering Certification by Prediction Open Issues

Page 24: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 26

Overview

▪ Software Industrialisation & Software Quality Certification

▪ Software Engineering & Software Quality Prediction

▪ How Architectural Quality Models and Prediction Methods can be used for Softwae Quality Certification

▪ Open Issues

26

Industrialisation Engineering Certification by Prediction Open Issues

Page 25: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 27

Elements of an Engineering Discipline

[Shaw&Garlan95]

Craft• Customer and Developer often the same person• Talent and Experience instead of Understanding

Manu-facturing• Division of Labour• Education of Specialists• Use of third party tools

Engineering

• Goal-driven optimisation of • Products• Processes

requires• Understanding of the effects of design decisions and changes Theories on products and processes

27

Industrialisation Engineering Certification by Prediction Open Issues

Page 26: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 28

State of SE?

The same problems since 1968(first Software Engineering Conference)

▪ “The problem of achieving sufficient reliability in the data systems...”

▪ “The difficulties of meeting schedules and specifications on large software projects”

▪ “The highly controversial question of whether software should be priced separately from hardware”

28

Industrialisation Engineering Certification by Prediction Open Issues

Page 27: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 30

Where stands“Software Engineering” as an Engineering Discipline?

▪ Progress: the same problems since decades, but for considerably larger and more complex systems

▪ “Planning crisis” instead of a “Software crisis” [Glass00]:– Budgets and schedules are

rarely done by the developer, much more by managers, sales persons and customers

0

200

400

600

800

1000

1979 1992 2004

KLOC

Approx. size of what is considered as “large” software systems

30

Industrialisation Engineering Certification by Prediction Open Issues

Page 28: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 31

Software Engineering:Manufacturing

▪ Division of labour– Roles– Use of specialised tools

▪ (Specialised Education)▪ Design patterns as a vocabulary on proven

solutions to recurring problems

31

Industrialisation Engineering Certification by Prediction Open Issues

Page 29: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 32

Problems

▪ Lack of Understanding and Professionalism – “New Motors in three month.”– “Sky scrapers in 5 days.”– Why do not we find books like:

• “Heart Transplantations for Dummies”• “Nuclear Weapons in 21 days”• “Flying the Airbus: Easy Access!”

– Sky scrapers as large garden houses

▪ Counter productive avoidance of up front costs

▪ Real problem of integrating and using legacy systems

32

Industrialisation Engineering Certification by Prediction Open Issues

Page 30: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 33

Treatment of Quality Properties Today

4. Re-Implementing / Re-Designing / Re-Negotiating

1. Specification

3. Testing

33

2. Ignoring

Industrialisation Engineering Certification by Prediction Open Issues

Page 31: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 34

Analogy and Role Model

▪ John L. Hennessy, David A. Patterson: “Computer Architecture. A Quantitative Approach”, Morgan Kaufman, 1992 (1st edition)

“At the core is a quantitative approach to computer design and analysis that uses empirical observation of programs, experimentation, and simulation as its tools.”

Industrialisation Engineering Certification by Prediction Open Issues

Page 32: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 35

Missing Properties of an Engineering Discipline

Systematic Treatment of Quantitative Software Properties

Decomposition of global System-Requirements

“reaction time below 2 ms”

?

“?”

?

Prediction of global System-Properties

35

? ? ??

? 0.02 sec.

0.3 sec. 0.08 sec. 0.1 sec.1.8 sec.

Industrialisation Engineering Certification by Prediction Open Issues

Page 33: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 36

Why do we want to predict quantitative Properties?

Dimensioning of Resources (“Sizing”)

vs.

Changes of usage profile – Scalability

vs.

Evaluation of Design Alternatives

▪ the quantifiable best of a list of many▪ trade-off decisions

– cost vs. benefits– QA a vs. QA b

View

ModelController

ViewView

View

ModelController

ViewView

vs.

Industrialisation Engineering Certification by Prediction Open Issues

Page 34: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 42

Model-based Prediction of Quantitative Properties

Software Design Model

Annotated Software DesignModel

AnalysisModel

AnalysisResults

UML,ADL,

UML Performance Profile, QML,

Queuing modelsStochastic Petri-Nets,

Stochastic Process Algebra,…

Response timeThroughput,Utilisation,

EstimationMeasurement

Transformation (MDD)

Analysis / Simulation

Results

Automated by Tools

ExecutableSoftware

Transformation (MDD)

42

Industrialisation Engineering Certification by Prediction Open Issues

Page 35: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 43

Scientific Approach to Create Quantitative Models

Software

Modell of Software(mit Annotationen)

Measured Quality

Predicted Quality

ComparisonAbstraction

Prediction

Measurement

Interpretation

Acceptance / rejection of abstract model

Improvement / Extension

Industrialisation Engineering Certification by Prediction Open Issues

Page 36: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 4444

Validation of Quantitative Models

▪ Type 1: Validation of Prediction Model

▪ Type 2: Validation of Applicability – Case Studies and Controlled

Experiemts with Students

▪ Typ 3: Validation of Benefits – in comparison to different methods– Limitations of the Approach– Required prerequisites– FZI– Industrial Partners

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Industrialisation Engineering Certification by Prediction Open Issues

Page 37: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 4521.04.23 45

Industrialisation Engineering Certification by Prediction Open Issues

Page 38: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 4621.04.23 46

Dom. Exp.DSL Instance

Sys. Depl.DSL Instance

Soft. Arch.DSL Instance

Comp.Dev.DSL Instance

Tran

sfor

mat

ion

Stochastic Regular Expr.

Analysis

SPA with Scheduling

Transform

ation

Analysis +Simulation

QueueingNetwork

PerformancePrototype

Java CodeSkeletons

Transformation

Transformation

Transformation

Simulation

Execution +Measurement

Completion +Compilation

Instance

Part o

f

Part of

Part of

Part of

PalladioComponentModel

Industrialisation Engineering Certification by Prediction Open Issues

Page 39: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 47

Roles Component Model Analysis Methods CoCoME ConclusionComponent Model

PCM Bench Screenshot

Page 40: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 48

Roles Component Model Analysis Methods CoCoME ConclusionComponent Model

Tool Support

Page 41: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 49

Overview

▪ Software Industrialisation & Software Quality Certification

▪ Software Engineering &Software Quality Prediction

▪ How Architectural Quality Models and Prediction Methods can be used for Softwae Quality Certification

▪ Open Issues

49

Industrialisation Engineering Certification by Prediction Open Issues

Page 42: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 5050

Factors on Quantitative Component Properties

Industrialisation Engineering Certification by Prediction Open Issues

Page 43: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 51

Certification Problem

▪ Demonstrating that the relation between quality model and implementation satisfies pre-scribed properties.

Page 44: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 52

ComponentA

ComponentBa()

b()c()

ComponentCd()

Execution Time of a()?

?ms

2ms

3ms

5ms

Service Effect Specification(SEFF)

a(list, count):

Page 45: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 53

<<InternalAction>>

public List getListWithLittleEntropy(List listToSort, int count) {

while(mode) {

// some simple internal actionfor(int x = 0; x < count; x++) {

listToSort.add(new Integer(x));}

if(count > 100) { //external call:collectionComponent.sort(listToSort);

}

//external call:mode = collectionComponent.

isEntropyLessThan(listToSort, count);

}return listToSort;

}

<<ExternalAction>>CollectionComponent.sort()

<<ResourceDemandingSEFF>>getListWithLittleEntropy

<<LoopAction>>

<<ExternalAction>>CollectionComponent.isEntropyLessThan()

Service Effect Specification (1)

Industrialisation Engineering Certification by Prediction Open Issues

Page 46: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 54

ComponentDevelopers

BasicComponent

ServiceEffectSpecification

ResourceDemandingSEFF

ResourceDemandingBehaviour

AbstractAction

1

*

1

*

*

1

VariableUsage

NamespaceReference

VariableReference

<<enumeration>>Variable

CharacterisationTypeVALUETYPEBYTESIZENUMBER_OF_ELEMENTSSTRUCTURE

SignatureserviceName : String

*

1

*1

1

1

1

*

RandomVariablespecification : String

VariableCharacterisationtype : VariableCharacterisationType

AbstractNamedReference

referenceName : String

AbstractResourceDemandingAction

ExternalCallAction

Signature

VariableUsage

StartAction StopActionInternalAction

ParametricResourceDemand

AcquireAction

ReleaseAction

ProcessingResourceType

PassiveResourceType

in out

1

1

1 1

* *

1 *1 1

11

1

0..1

0..1

SetVariableAction11

1

1

*

ParameterparameterName : String

successor

predecessor

BranchAction AbstractLoopAction ForkAction

ResourceDemandingBehaviour

AbstractBranchTransition

GuardedBranchTransition

BranchCondition ProbabilisticBranchTransition

branchProbability : Double

LoopAction CollectionIteratorAction

IterationCount ParameterparameterName : String

1

1

1

*

1

1

1

1

1

*1

1RandomVariablespecification : String

1

1

Ecore

Service Effect Specification (2)

Industrialisation Engineering Certification by Prediction Open Issues

Page 47: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 55

MediaStore - Architecture

WebBrowser MediaStoreWebGUI

UserManagement

SoundProcessing

Billing

Encoding

DigitalWatermarking

AudioDB

CommunityServices

PodcastInternetRadio

Equalizer

Accounting UserDB

DBAdapter

<<ResourceContainer>>Client

<<ResourceContainer>>Application Server

<<ResourceContainer>>DBServer1

<<ResourceContainer>>DBServer2

<<LinkingResource>>throughput = 1000unit = MBit/s

<<LinkingResource>>throughput = 1unit = MBit/s

<<VariableUsage>>StoredFiles.NUMBER_OF_ELEMENTSStoredFiles.INNER.BYTESIZE

<<VariableUsage>>probIncludeID.VALUEprobIncludeText.VALUE

Industrialisation Engineering Certification by Prediction Open Issues

Page 48: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 5757

<<ExternalCallAction>>queryDB

<<CollectionIteratorAction>>

<<ExternalCallAction>>

watermark

<<SetVariableAction>>

<<InternalAction>>search

<<SetVariableAction>>

<<ParametricResourceDemand>>specification = „1.49E-6 * StoredFiles.NUMBER_OF_ELEMENTS + 0.0096“<<ProcessingResourceType>>name = „HD“

<<InternalAction>>addID

<<InternalAction>>addText

<<SetVariableAction>>

probIncludeID

1-probIncludeID

probIncludeText

1-probIncludeText

<<VariableUsage>>fileToMark.BYTESIZE

<<Parameter>>desiredFiles

<<RDSEFF>>MediaStore.download

<<RDSEFF>>AudioDB.getFiles

<<VariableUsage>>filesIDs.NUMBER_OF_ELEMENTS

<<RDSEFF>>DigitalWatermarking.

watermark

<<VariableUsage>>filesToMark.BYTESIZE

<<ParametricResourceDemand>>specification = „fileToMark.BYTESIZE * 5.11E-9<<ProcessingResourceType>>name = „CPU“

<<VariableUsage>>desiredFiles.NUMBER_OF_ELEMENTS

<<InternalAction>>getFiles

<<ParametricResourceDemand>>specification = „4.0E-8 * desiredFile.BYTESIZE + 0.08“<<ProcessingResourceType>>name = „HD“

Industrialisation Engineering Certification by Prediction Open Issues

Page 49: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 5858

Results

Industrialisation Engineering Certification by Prediction Open Issues

Page 50: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 5959

Results

Industrialisation Engineering Certification by Prediction Open Issues

Page 51: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 60

Overview

▪ Software Industrialisation & Software Quality Certification

▪ Software Engineering & Software Quality Prediction

▪ How Architectural Quality Models and Prediction Methods can be used for Softwae Quality Certification

▪ Open Issues

60

Industrialisation Engineering Certification by Prediction Open Issues

Page 52: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 61

Standard Certification Scenario

61

CertificationAuthority

Software Developer

Customer

Trust

Examination &

Certification

Software Offer

Industrialisation Engineering Certification by Prediction Open Issues

Page 53: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 62

Autonomic Certification Scenario

62

Software Developer

Customer

Software Offer

Checks certificate

CertificationAuthority

Provides certifies tools for certificatie checks

Industrialisation Engineering Certification by Prediction Open Issues

Page 54: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 63

Specific Challenges of Component Certification

▪ Component developer has to provide checkable certificate for component,– but does not want to expose specific

know-how of the component implementation

▪ In the standard certification scenario this is not a problem,– as certification authority can see all

internal of the components but its certification needs not to contain component specific information (except the component ID and a hash value)

Different for the autonomic scenario.Certifification can just mean failed

falsification.

CertificationAuthority

Software Developer

Industrialisation Engineering Certification by Prediction Open Issues

Page 55: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 64

Research Questions

▪ How to demonstrate that a quality model (e.g. performance or reliability) fits to an implementation?

▪ Right level of abstraction? Model vs. code, model vs. code abstraction?

▪ How to automatical gain code abstractions?

▪ Right mix of testing, automated code-analysis and verification (in particular model-checking)

Industrialisation Engineering Certification by Prediction Open Issues

Page 56: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 65

Certification levels

▪ depend on architectural analysis to be performed▪ An example hierarchy:

1. components as black boxes (no model on component behaviour) architectural dependency analysis for components. (If component fails, which other components are affected)

2. components with a model on dependency between provided and required services architectural dependency analysis for components on service granularity. (If component service fails, which other services are affected)

3. components with protocol information if required protocol changes, what is the new provides protocol)

4. components with QoS model analysis of system-wide QoS properties

Page 57: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 67

Static Reconstruction (using existing

tools)Building Blocks

Genetic Algorithm

Monitoring

Static AnalysesAnalyses of

Dynamics / RuntimeMachine Learning

Process for dynamic reconstruction

Reconstructed Model

InternalCalculation

ExternalCall

01001001011010000111101100100010100110010001010111001

Provided Quality Model

InternalCalculation

ExternalCall

Control flow abstraction

Check conformance:• bisimulation• testing • simulation

Provided Component

Industrialisation Engineering Certification by Prediction Open Issues

Page 58: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 69

Machine Learning

▪ Not limited to one approach– Genetic Algorithms (GA) – Support Vector Machines (SVM) – Hill-Climbing / simulated annealing– Regression (Splines / linear)– Stochastic approximation– Greedy optimization– …

Industrialisation Engineering Certification by Prediction Open Issues

Page 59: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 70

What is to be learned?

▪ Loops– Break conditions– Loop number (depending on input parameters, (a, b))

▪ Branches– Branching conditions / probabilities

▪ Call of component-external services– Frequency / probability– Conditions– Call parameters (x, y) as a function of input parameters (a, b)

▪ Return value of provided service (long)

Based on (input dimensions)▪ Service input parameters (of described service) (a, b)▪ Return parameters (of component-external calls) (float)

long myService(int a, int b)

float requiredService (double x, double y)

Industrialisation Engineering Certification by Prediction Open Issues

Page 60: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 7171

Conclusions

▪ Prediction and Understanding of the Consequences of Design Decisions is THE central characteristic of an engineering discipline.

▪ Components and MDD lower the degrees of freedom in implementation

▪ Creativity is on design-model level▪ Quality-driven design requires prediction models

– Automatically generated from design models▪ Certification as a means to provide standardised

component with standardised quality▪ Certification approaches can make use of

verification and prediction techniques, etc, but answers a different question.

Industrialisation Engineering Certification by Prediction Open Issues

Page 61: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 72

Missing:Franz Brosch

Dr. Jan KofronChristof Momm

Dr. Pierre ParrendDr. Barbora Zimmerova

Page 62: 1 Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

SD Xperf=1.00Xloss=0.01

Software Design and Quality

Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 73