You are on page 1of 32

Universitt Karlsruhe (TH)

Forschungsuniversitt

gegrndet 1825

Praktikum Ingenieurmige
Software-Entwicklung
Palladio Component Model (PCM)

Prof. Dr. R. H. Reussner (reussner@ipd.uka.de)


Lehrstuhl Software-Entwurf und Qualitt
Institut fr Programmstrukturen und Datenorganisation (IPD)
Fakultt fr Informatik, Universitt Karlsruhe (TH)

Outline

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

1. Introduction
a. Roles, Process Model, Example
b. Solver (Simulation, Analytical Model)

2. Component Developer
a. Repository
b. Component, Interface, Data Types
c. SEFF

Lecture 1

Lecture 2

3. Stochastical Expressions
a. Constants, PMF, PDF, Parameter
Characterisation
b. Parametric Dependencies

Palladio Component Model

Lecture 3

17.08.2007

Outline

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

4. Software Architect
a) System (Composed Structure)
b) QoS Annotations on System Interfaces

5. System Deployer

Lecture 4

a) Resource Types, Resource Environment


b) Allocation

6. Domain Expert
a. Usage Model
b. Parameter Characterisations

7. Solver, Result Interpretation


8. Comprehensive Case Study
9. Outlook
Palladio Component Model

Lecture 5

17.08.2007

Outline

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

1. Introduction
a. Roles, Process Model, Example
b. Solver (Simulation, Analytical Model)

2. Component Developer
a. Repository
b. Component, Interface, Data Types
c. SEFF

Lecture 1

Lecture 2

3. Stochastical Expressions
a. Constants, PMF, PDF, Parameter
Characterisation
b. Parametric Dependencies

Palladio Component Model

Lecture 3

17.08.2007

Palladio Component Model

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Developed at Uni Oldenburg,


Uni Karlsruhe since 2003
Domain-specific
Modelling Language
Targeted at
Performance Prediction
for Component-based Software Architectures
Business Information Systems

Extensive Metamodel in EMF/Ecore


Named after famous Renaissance Architect
Palladio Component Model

17.08.2007

CBSE Development Process

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

[Cheeseman2000, Koziolek2006a]
Palladio Component Model

17.08.2007

Developer Roles

Palladio Component Model

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

17.08.2007

Component
Developers

Software
Architect

System
Deployer

Domain
Expert

[Becker2007a]
Palladio Component Model

17.08.2007

Comp.Dev.

DSL Instance

Palladio
Component
Model

Stochastic
Regular Expr.

Analysis

SPA with
Scheduling

Analysis +
Simulation

Soft. Arch.

DSL Instance

Sys. Depl.

DSL Instance

Queueing
Network

Simulation

Performance
Prototype

Execution +
Measurement

Java Code
Skeletons

Completion +
Compilation

Instance

Dom. Exp.

DSL Instance

[Becker2007a]
Palladio Component Model

17.08.2007

Repository

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Component
Developer
Palladio Component Model

17.08.2007

10

Service Effect Specification

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Component
Developer
Palladio Component Model

17.08.2007

11

System

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Software
Architect

Palladio Component Model

17.08.2007

12

Resource Environment

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

System
Deployer

Palladio Component Model

17.08.2007

13

Usage Model

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Domain
Expert

Palladio Component Model

17.08.2007

14

Model Solver

Palladio Component Model

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

17.08.2007

15

Model Solver

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

PCMSolver

SimuBench

Only Single User


Fast (~2-5 seconds)
Analytical Method,
High Precision
Stochastic Process
Algebra based
Traverses the
architecture once
Directly convolutes
specified probability
functions

Single + Multiple User


Slow (~30-600 sec.)
Process-based
Simulation
Queueing Network
based (G/G/n)
Traverses the
architecture repeatedly
Draws samples from
probability functions,
adds them up

Palladio Component Model

17.08.2007

16

Example

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Blog-System
Switch to Eclipse!

Palladio Component Model

17.08.2007

17

Outline

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

1. Introduction
a. Roles, Process Model, Example
b. Solver (Simulation, Analytical Model)

2. Component Developer
a. Repository
b. Component, Interface, Data Types
c. SEFF

Lecture 1

Lecture 2

3. Stochastical Expressions
a. Constants, PMF, PDF, Parameter
Characterisation
b. Parametric Dependencies

Palladio Component Model

Lecture 3

17.08.2007

18

Tasks

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Specifies Component & Interfaces


Specifies Data Types
Builds Composite Components
Creates Service Effect Specifications
Stores Modelling & Implementation
Artefacts in Repositories
Implements Components
Tests Components
Component
Developer
Maintains Components
Palladio Component Model

17.08.2007

19

Example Repository

Palladio Component Model

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

17.08.2007

20

Example Repository

Palladio Component Model

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

17.08.2007

21

Interfaces

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

[Beugnard1999]
Palladio Component Model

17.08.2007

22

SD

PCM Interfaces

Xperf=1.00
Xloss=0.01

Software Design
and Quality

QoS (=Performance, Reliability)


Service Effect Specification (Lecture 2)

Protocol (=Valid Call Sequences)


Finite State Machine (Not shown here)

Signature
Corba IDL:

Return Type
Name
Parameter List
Exception List

Palladio Component Model

17.08.2007

23

PCM Component Types

Palladio Component Model

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

17.08.2007

24

Provided Component Type

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Only Provided Interfaces mandatory


May contain required services,
not mandatory
Specified during early development,
refined later
Situation: certain functionality needed,
but additionally required services unknown
QoS Annotations

Palladio Component Model

17.08.2007

25

Complete Component Type

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Provided and Required Interfaces


mandatory
Dependencies between Provided and
Required Interfaces not fixed
Situation: Needed functionallity known,
component environment also fixed

Palladio Component Model

17.08.2007

26

Basic Component

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Provided/Required Interfaces mandatory


One option to implement a Complete Type
Service Effect Specification for
Dependencies between Provided and
Required Interfaces
May be composed to Composed
Components

Palladio Component Model

17.08.2007

27

Composite Component

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

During development composed from any


component types
Finally composed from Basic Components
and/or other Composite Components
Likely not used in the experiment, but may
occur in exercises

Palladio Component Model

17.08.2007

28

SD

Data Types

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Primitive Datatype
INT, CHAR, BOOL, DOUBLE, LONG,

Collection Datatype
Contains an inner primitive datatype
ARRAY, SET, LIST, TREE, HASHMAP,

Composite Datatype (Struct)


Contains inner primitive
and/or collection and/or composite datatypes
ADDRESS, CUSTOMER, PERSON,

Palladio Component Model

17.08.2007

29

Hands on Example

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Switch to PCMBench

Palladio Component Model

17.08.2007

30

Outline

SD

Xperf=1.00
Xloss=0.01

Software Design
and Quality

1. Introduction
a. Roles, Process Model, Example
b. Solver (Simulation, Analytical Model)

2. Component Developer
a. Repository
b. Component, Interface, Data Types
c. SEFF

Lecture 1

Lecture 2

3. StoEx
a. Constants, PMF, PDF, Parameter
Characterisation
b. Parametric Dependencies

Palladio Component Model

Lecture 3

17.08.2007

31

SD

Lessons Learned Today

Xperf=1.00
Xloss=0.01

Software Design
and Quality

Person Role Task


Component Developer, Software Architect,
System Deployer, Domain Expert
PCMSolver vs. SimuBench
PCM Repository (Component Developer)
Components
(Provided, Complete, Basic, Composite)
Interfaces
(Signature, Protocol, SEFF)
Data Types
(Primitive, Collection, Composite)
Palladio Component Model

17.08.2007

32

You might also like