20
Quality of Software Models Humboldt-Universität zu Berlin, June 3, 2004 University of Paderborn Gregor Engels University of Paderborn (Germany) Information Systems Group [email protected] 2 G. Engels Uni Paderborn Quality of Software Models Software Development: Traditional (?) Approach problem domain program implementation 3 G. Engels Uni Paderborn Quality of Software Models Software Development: Reality problem domain program „program“ 4 G. Engels Uni Paderborn Quality of Software Models Software Development: Model-based Approach problem domain program model analyse and design code abstracts from irrelevant details abstracts from implementation details

Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

1

Quality of Software Models

Humboldt-Universität zu Berlin, June 3, 2004

University of Paderborn

Gregor EngelsUniversity of Paderborn (Germany)

Information Systems Group

[email protected]

2

G. Engels

Uni Paderborn Quality of Software Models

Software Development: Traditional (?) Approach

problem domain

program

implementation

3

G. Engels

Uni Paderborn Quality of Software Models

Software Development: Reality

problem domain

program

„program“

4

G. Engels

Uni Paderborn Quality of Software Models

Software Development: Model-based Approach

problem domain

program

modelanalyse and design

code

abstracts fromirrelevant details

abstracts fromimplementation details

Page 2: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

2

5

G. Engels

Uni Paderborn Quality of Software Models

Software Development: Model-based Approach

problem domain

program

modelanalyse and design

code

abstracts fromirrelevant details

abstracts fromimplementation details

6

G. Engels

Uni Paderborn Quality of Software Models

Outline of the Talk1. Motivation

2. Characterization of Model Qualities

3. Model Quality Assurance Techniques

• Generic Model Construction Approaches

• Domain-specific Languages

• Pattern-based Modelling

• Model Analysis

4. Summary

7

G. Engels

Uni Paderborn Quality of Software Models

2. Characterization of Model Qualities

review of typical software (= program) qualities• correctness

• reliability

• robustness

• user friendliness

• understandability

• maintainability

• reusability

• portability

• interoperability

are there also usable as

model qualities?

8

G. Engels

Uni Paderborn Quality of Software Models

Model Qualities: Correctness

Correctness of programs:• “a program is correct if it behaves according

to a specification (= model)”

Correctness of models:• “a model is correct if it reflects the user’s

requirements” or• “a model is correct if it fulfills additionally

given properties”

Page 3: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

3

9

G. Engels

Uni Paderborn Quality of Software Models

Model Qualities: Reliability

Reliability of programs:• “a program is reliable if the user can depend on it”

Reliability of models:• “a model is reliable if the user (modeller, client,

software developer) can depend on it”• this means: model errors are not serious

• are easily detected during coding

• are obvious

• model “similar“ situations10

G. Engels

Uni Paderborn Quality of Software Models

Model Qualities: Robustness

Robustness of programs:• “a program is robust if it behaves reasonably

even in unexpected, not specified situations”

Robustness of models:• “a model is robust if unexpected, not specified

situations do not have an impact on the model”

• this means that the model is “complete” w.r.t. allrelevant requirements

11

G. Engels

Uni Paderborn Quality of Software Models

Model Qualities: User Friendliness

User friendliness of programs:• external quality

• “a program is user friendly if its human usersfind it easy to use.”

User friendliness of models:• “a model is user friendly if its human users

(modeller, client, software developer)find it easy to use (i.e. read or understand).”

12

G. Engels

Uni Paderborn Quality of Software Models

Model Qualities: Understandability

Understandability of programs:• internal quality• “a program is understandable if programmers

find it easy to understand.”

Understandability of models:• “a model is understandable if its human users

(modeller, client, software developer)find it easy to understand”

Note: User friendliness and understandability are the same for models, or?!

Page 4: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

4

13

G. Engels

Uni Paderborn Quality of Software Models

Model Qualities: Maintainability

Maintainability of programs:• “a program is maintainable if corrective, adaptive,

or perfective modifications can easily be made.”

Maintainability of models:“a model is maintainable if corrective, adaptive,or perfective modifications can easily be made.”

14

G. Engels

Uni Paderborn Quality of Software Models

Model Qualities: Reusability

Reusability of programs:• “a program (component) is reusable if it can

easily be integrated into a new software system.”

Reusability of models:“a model (component) is reusable if it can

easily be integrated into a new model.”

15

G. Engels

Uni Paderborn Quality of Software Models

Model Qualities: Portability

Portability of programs:• “a program is portable if it can run in

different environments.”

Portability of models:• “a model is portable if it can be read and modified

by different CASE tools.”

• this means that the model can be exported and imported in a standardized exchange format(e.g. XML).

16

G. Engels

Uni Paderborn Quality of Software Models

Model Qualities: Interoperability

Interoperability of programs:• “a program is interoperable if it can coexist and

cooperate with other programs.”

Interoperability of models:• “a model is interoperable if it can coexist and

cooperate with other models.”

• this means that horizontal consistency with other models is defined and given.

Page 5: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

5

17

G. Engels

Uni Paderborn Quality of Software Models

2. Characterization of Model Qualities

typical model qualities• correctness

• reliability

• robustness

• user friendliness

• understandability

• maintainability

• reusability

• portability

• interoperability

are program qualities

also usable as model qualities?

yes – but they have to be redefined or

re-interpreted

18

G. Engels

Uni Paderborn Quality of Software Models

Outline of the Talk1. Motivation

2. Characterization of Model Qualities

3. Model Quality Assurance Techniques

• Generic Model Construction Approaches

• Domain-specific Languages

• Pattern-based Modelling

• Model Analysis

4. Summary

19

G. Engels

Uni Paderborn Quality of Software Models

Outline of the Talk1. Motivation

2. Characterization of Model Qualities

3. Model Quality Assurance Techniques

• Generic Model Construction Approaches

• Domain-specific Languages

• Pattern-based Modelling

• Model Analysis

4. Summary 20

G. Engels

Uni Paderborn Quality of Software Models

MDA: Model-driven Architecture

problem domain

program

analyseand design

code

Platform-independentmodel (PIM)

Platform-specificmodel (PSM)

refine

vertical consistency

separation of concerns

Page 6: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

6

21

G. Engels

Uni Paderborn Quality of Software Models

Compositional Modelling

problemdomain

• composition / collaborationof submodels (modelcomponents)

• reuse of existing submodels

Submodel 1 Submodel 3Submodel 2

modelSubmodel 1

Submodel 2

Submodel 3

22

G. Engels

Uni Paderborn Quality of Software Models

Multi-View Modelling

problemdomain

view 1 view 2 view 3 view 4

model

integration of different views:• structural view• behavioral view• functional view• non-functional view

separation of concerns

23

G. Engels

Uni Paderborn Quality of Software Models

Multi-View Modelling

problemdomain

view 1 view 2 view 3 view 4

model

integration of different views:

• structural view

• behavioral view

• functional view

• non-functional view

horizontal consistency

24

G. Engels

Uni Paderborn Quality of Software Models

Aspect-oriented Modelling

problemdomain

model

coremodel

aspects /

features

(e.g.,concurrency)

aspect weaver

separation of concerns

Page 7: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

7

25

G. Engels

Uni Paderborn Quality of Software Models

Pattern-based Modelling

problemdomain

model

pattern repositorypattern repository

modeling by

using patterns

26

G. Engels

Uni Paderborn Quality of Software Models

Modelling by Specialization

problemdomain

model

framework

application-dependent

modeling by

specialization

27

G. Engels

Uni Paderborn Quality of Software Models

Outline of the Talk1. Motivation

2. Characterization of Model Qualities

3. Model Quality Assurance Techniques

• Generic Model Construction Approaches

• Domain-specific Languages

• Pattern-based Modelling

• Model Analysis

4. Summary 28

G. Engels

Uni Paderborn Quality of Software Models

Model Quality Assurance Techniques

model

a-priori:• Which modeling language should I use?• How can I express domain-specific aspects?

• How can I structure the model?• How can I ensure certain properties of a model?

a-posteriori:• How can I analyze a model?• How can I check certain properties of a model?

domain-specificlanguages

patterns

modelchecking

Page 8: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

8

29

G. Engels

Uni Paderborn Quality of Software Models

Model Quality Assurance Techniques

domain-specificlanguages

patterns

modelchecking

30

G. Engels

Uni Paderborn Quality of Software Models

The Beauty of High-Tech Dashboards

31

G. Engels

Uni Paderborn Quality of Software Models

Infotainment System Features

• entertainment (radio, CD, MP3)• convenience (GPS, navigation)• security (feature access) • information services (traffic, weather, calendar, …)• Internet access (synch with service providers)• user interface consolidation (with vehicle control)• service integration (in case of accidents, problems)• communication (docking stations for cell phones, PDA)• commerce (toll collect!)

32

G. Engels

Uni Paderborn Quality of Software Models

Driver Safety

Page 9: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

9

33

G. Engels

Uni Paderborn Quality of Software Models

Driver Safety

Danger• information overload• driver distraction

Some existing approaches• multi modal, multi media interfaces• prioritizing information presented to driver• integrated system approach

(e.g. no new info while braking)• context-sensitive options

(e.g. speedometer only while car in motion)34

G. Engels

Uni Paderborn Quality of Software Models

Software Engineering Challenges

Research Questions (1):

• integrated design of user interface and functionality

• component integration• user interface, functionality• consistency• coordination• prioritizing / context-sensitive adaption

• component configuration / update / exchange

• end-user adaption

35

G. Engels

Uni Paderborn Quality of Software Models

Software Engineering Challenges

Research Questions (2):

• appropriate modeling concepts

• appropriate modeling language

• appropriate development process• role of

• software engineers• electrical engineers• designers• suppliers• …

36

G. Engels

Uni Paderborn Quality of Software Models

Supplier

Prototype resp. Product

75 % of car production costs are supplier costs!

Traditional Development Process

Requirements(WORD)

OEM

Page 10: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

10

37

G. Engels

Uni Paderborn Quality of Software Models

Requirements(Word)

Supplier

Prototype resp. Product

(UML) model

Simulation,Analysis

Model-based Development

38

G. Engels

Uni Paderborn Quality of Software Models

Requirements(Word)

Supplier

Prototype resp. Product

(UML) model

Simulation,Analysis

Test

Model as Test Specification

39

G. Engels

Uni Paderborn Quality of Software Models

Focus of our Research

Research Questions (1):

• integrated design of user interface and functionality

• component integration• user interface, functionality• consistency• coordination• prioritizing / context-sensitive adaption

• component configuration / update / exchange

• end-user adaption

40

G. Engels

Uni Paderborn Quality of Software Models

Focus of our Research

Research Questions (2):

• appropriate modeling concepts

• appropriate modeling language

• appropriate development process• role of

• software engineers• electrical engineers• designers• suppliers• …

Page 11: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

11

41

G. Engels

Uni Paderborn Quality of Software Models

MMMMSESE

UCDUCD

softwareengineer

media production expert

domain expert

user media designer

user interface designer

usability expert

New

+

-

VoiceTemp

Fuel

Batt

Oil

421306.2

200

Audio

Commmin-1 km/h

MIS

multimedia software system

Multimedia Software Development

42

G. Engels

Uni Paderborn Quality of Software Models

Objective: What we want!

UsableInteractiveMultimedia

Applications

User-orientedMultimedia Software

Development

MultimediaDevelopment

MM

Software Engineering

SE

User-centredDesign

UCD

43

G. Engels

Uni Paderborn Quality of Software Models

MM & SE =MMSE: What we have!

OMMMA = Object-oriented Modeling of MultiMedia Applications

model-based,object-orientedmultimedia software engineeringmethodlanguage OMMMA-L defined as UML profilesupports integrated modeling of different aspects of interactive multimedia applications

44

G. Engels

Uni Paderborn Quality of Software Models

Aspects of an OMMMA Model

New

+

-

VoiceTemp

Fuel

Batt

Oil

421306.2

200

Audio

Commmin-1 km/h

MIS

layout

interactivebehaviour

structure

dynamicbehaviour

Page 12: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

12

45

G. Engels

Uni Paderborn Quality of Software Models

OMMMA-L: the Structure Aspect

AutoInfoSysSim

CommunicationAutoStatusSystem Navigation EntertainmentInfoServices

MapSpeedometer

Status2Monitor

1 1 1 1 1

1

*

Locationstart

dest 1

1

*

*

***

MileageCounter1

RevCounter1

Media

TemporalMediaDiscreteMedia

Animation Audio VideoGraphics Image Text *

0..1

11

1

0..1

0..1

11..2

0..1

0..1

1

0..1Direction

1..*1

1

0..1 part: Integer

Route

Announce 10..1

1

Class Diagram

46

G. Engels

Uni Paderborn Quality of Software Models

OMMMA-L: the Dynamic Behaviour Aspect

:Navigation ABm:Map ABr:Route ab1:Direction

showRoute(A, B)

show

start

ab1a:Announce ab2:Direction

start

end

start

end

start

end

end

finished

finished

< 10 sec

< 5 sec300 sec

[10;20]sec

240 sec

< 3 sec

H*

Cent

<tL

eft:

Audi

o>

Mul

tivie

w

Mul

tivie

w

Nav

A1

Nav

A1

<st

raig

ht-le

ft:

Anim

atio

n>

<st

raig

ht:

Anim

atio

n>

<AB

Map

: Im

age>

<AB

Rou

teSe

g1:

Anim

atio

n><

ABRou

teSe

g2:

Anim

atio

n>

Mul

tivie

w

ABm:= calcMap(A, B)ABr:= calcRoute(A, B)

Extended Sequence Diagram

47

G. Engels

Uni Paderborn Quality of Software Models

OMMMA-L: the Interactive Behaviour Aspect

AutoInfoSysSim

Navigation InfoServices

Entertainment

AutoStatusSystem

Communication

H

runmonitor

on

standby

call

hangup

dial

connect

redial

new

navinavi

retNavi

infoSys

infoSyseTaineTain

Off

MultiInfoSys

H

offon

MIS

Statechart Diagram

48

G. Engels

Uni Paderborn Quality of Software Models

OMMMA-L: the Layout Aspect

AutoInfoSysSim

MileageView

FuelIndicator

Stat1

Stat2

Stat3

Stat4

DevCntrViewSpeedView

FlashIndicat

Cockpit

Com MisCockpitDisplay

SpeakerL R Cent

(New) Presentation Diagram

Page 13: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

13

49

G. Engels

Uni Paderborn Quality of Software Models

OMMMA-L: the Layout Aspect

AutoInfoSysSim::MIS::MultiInfoSys

MultiView

NavA1

Ctrl1

Ctrl2

Ctrl3

Ctrl4

CtrlA

CtrlB

AutoInfoSysSim::Cockpit

CockpitDisplay

(New) Presentation Diagram

50

G. Engels

Uni Paderborn Quality of Software Models

OMMMA: 4 Fundamental Views

AutoInfoSysSim::MIS::MultiInfoSys

MultiView

NavA1

Ctrl1

Ctrl2

Ctrl3

Ctrl4

CtrlA

CtrlB

AutoInfoSysSim::Cockpit

CockpitDisplay

AutoInfoSysSim

SpeakerL R Cent

AutoInfoSysSim

CommunicationAutoStatusSystem Navigation EntertainmentInfoServices

MapSpeedometer

Status2Monitor

1 1 1 1 1

1

*

Locationstart

dest 1

1

*

*

***

MileageCounter1

RevCounter1

Media

TemporalMediaDiscreteMedia

Animation Audio VideoGraphics Image Text *

0..1

11

1

0..1

0..1

11..2

0..1

0..1

1

0..1Direction

1..*1

1

0..1 part: Integer

Route

Announce 10..1

1

AutoInfoSysSim

Navigation InfoServices

Entertainment

AutoStatusSystem

Communication

navinavi

retNavi

infoSys

infoSyseTaineTain

Off

MultiInfoSys

Hoff

on

MIS

directing

do / showRoute(start, dest)

directzoomOutzoomIn

:Navigation ABm:Map ABr:Route ab1:Direction

showRoute(A, B)

show

start

ab1a:Announce ab2:Direction

start

end

start

end

start

end

end

finished

finished

< 10 sec

< 5 sec300 sec

[10;20]sec

240 sec

< 3 sec

H*

Cent

<tL

eft:

Audi

o>

Mul

tivie

w

Mul

tivie

w

Nav

A1

Nav

A1

<st

raig

ht-le

ft:

Anim

atio

n>

<st

raig

ht:

Anim

atio

n>

<AB

Map

: Im

age>

<AB

Rou

teSe

g1:

Ani

mat

ion>

<AB

Rout

eSeg

2:An

imat

ion>

Mul

tivie

w

ABm:= calcMap(A, B)ABr:= calcRoute(A, B)

syntactic consistency constraints

classdiagram: media and applicationstructure

presentationdiagram: spatiallayout, UI structure(not in UML)

sequencediagram: temporal behavior

statechart: interactivecontrol

51

G. Engels

Uni Paderborn Quality of Software Models

Language Engineering

end-user aspect

language definition aspect

abstract syntax (formal) semantics

(visual) [modeling] language

mapping

concrete syntax intuition/meaning

52

G. Engels

Uni Paderborn Quality of Software Models

Language Engineering

end-user aspect

language definition aspect

abstract syntax (formal) semantics

(visual) [modeling] language

mapping

concrete syntax intuition/meaning

OMMMA (UML profile)

meta modeling

graph transformation

dynamicmeta modeling

Object-oriented Modeling of MultiMediaApplications

Page 14: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

14

53

G. Engels

Uni Paderborn Quality of Software Models

Model Quality Assurance Techniques

domain-specificlanguages

patterns

modelchecking

54

G. Engels

Uni Paderborn Quality of Software Models

Model Quality Assurance Techniques

model

a-priori:• Which modeling language should I use?• How can I express domain-specific aspects?

• How can I structure the model?• How can I ensure certain properties of a model?

a-posteriori:• How can I analyze a model?• How can I check certain properties of a model?

patterns

55

G. Engels

Uni Paderborn Quality of Software Models

Pattern-based Modeling Approach

model

objectives of patterns

• reuse modeling experience

• improve model structure

• documentation• reuse• change

• guarantee certain properties

patterns

56

G. Engels

Uni Paderborn Quality of Software Models

Pattern-based Modeling Approach

sourcemodel

kind of patterns

• structural patterns

• behavioural patterns

• process patterns

• quality patterns

patterns

pattern-basedmodel

Page 15: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

15

57

G. Engels

Uni Paderborn Quality of Software Models

Structural Patterns: composite pattern

sourcemodel

Gamma et al.: Design Patterns

Composite Pattern

pattern-basedmodel

Component

CompositeLeaf

58

G. Engels

Uni Paderborn Quality of Software Models

Pattern-based Modeling Approach

sourcemodel

kind of patterns

• structural patterns

• behavioural patterns

• process patterns

• quality patterns

patterns

pattern-basedmodel

59

G. Engels

Uni Paderborn Quality of Software Models

ISO 9000-based Patterns

processmodel

• ISO 9000 is well-accepted

• ISO 9000 is process-oriented

• ISO 9000 defines requirements, demands,functional and non-functional properties of processes

quality patterns

pattern-basedprocess model

ISO 9000

60

G. Engels

Uni Paderborn Quality of Software Models

Solution Idea / Example

Page 16: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

16

61

G. Engels

Uni Paderborn Quality of Software Models

Research Questions

processmodel

questions:

• how to apply a quality pattern?

• how to check / prove existenceof a quality pattern?

quality patterns

pattern-basedprocess model

ISO 9000

?

62

G. Engels

Uni Paderborn Quality of Software Models

Model Quality Assurance Techniques

domain-specificlanguages

patterns

modelchecking

63

G. Engels

Uni Paderborn Quality of Software Models

Questions of Interest

model

a-priori:• Which modeling language should I use?• How can I express domain-specific aspects?

• How can I structure the model?• How can I ensure certain properties of a model?

a-posteriori:• How can I analyze a model?• How can I check certain properties of a model?

modelchecking

Solutions

64

G. Engels

Uni Paderborn Quality of Software Models

constituents of model analysis

semanticalvalue

semantics

modelinglanguage

syntax

model

Page 17: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

17

65

G. Engels

Uni Paderborn Quality of Software Models

choice of modeling language

semanticalvalue

modelinglanguage

model

syntax

semantics

UML

UML-RT

66

G. Engels

Uni Paderborn Quality of Software Models

UML-RT is a UML profileintroduces the concepts of capsule, port, protocol, protocol role, connector (as stereotypes of existing UML constructs)capsule collaboration diagram is a special form of a collaborationassociates a specific interpretation to capsule statecharts and protocol statecharts

SProtocol

CapsuleA CapsuleBP1:Protocol::RoleA

P2:Protocol::RoleB

SA SB

Concepts of UML-RT

67

G. Engels

Uni Paderborn Quality of Software Models

semantics of modeling language

Problems• multi-paradigms• multi-views• application domain-dependent• development phase-dependent• theoreticians have no answer (yet)

68

G. Engels

Uni Paderborn Quality of Software Models

semantics of modeling language

Our solution:

define for each consistency property a partial, i.e. consistency property-dependent semantics

software engineer

Page 18: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

18

69

G. Engels

Uni Paderborn Quality of Software Models

Consistency Management ProcessStep 1: identification of the consistency problem

Step 2: choice of an appropriate semantic domain,i.e., where consistency constraint can be checked

Step 3: definition of partial semantical mapping

Step 4: formal specification of consistency constraints

Step 5: tool-based verification of consistency constraints

70

G. Engels

Uni Paderborn Quality of Software Models

Instantiated Consistency Management ProcessStep 1: identification of the consistency problem

Step 2: choice of an appropriate semantic domain,i.e., where consistency constraint can be checked

Step 3: definition of partial semantical mapping

Step 4: formal specification of consistency constraints

Step 5: tool-based verification of consistency constraints

property ≡ „deadlock-freeness“

Mapping of capsule and protocol statecharts to CSP

Communicating Sequential Processes (CSP)

Trace / failure refinement of processes in CSP

Use of FDR model checker

71

G. Engels

Uni Paderborn Quality of Software Models

Consistency: Model-based Verification of Properties

UML SystemModelProperties

FormalSpecification

FormalConditions

Verificationresult

formal verification

Result Model

visu

aliz

atio

n

manual encoding

graphtransform

ation

72

G. Engels

Uni Paderborn Quality of Software Models

Consistency: Model-based Verification of Properties

UML SystemModelProperties

FormalSpecification

FormalConditions

graphtransform

ation

Verificationresult

formal verification

Result Model

visu

aliz

atio

n

manual encoding

CSP(failure) refinement

UML/RTdeadlock freeness

FDR

Page 19: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

19

73

G. Engels

Uni Paderborn Quality of Software Models

Outline of the Talk1. Motivation

2. Characterization of Model Qualities

3. Model Quality Assurance Techniques

• Generic Model Construction Approaches

• Domain-specific Languages

• Pattern-based Modelling

• Model Analysis

4. Summary 74

G. Engels

Uni Paderborn Quality of Software Models

Impact of Quality Assurance Techniques on Model Qualities

interoperability

portability

reusability

maintainability

understandability

user friendliness

robustness

reliability

correctness

model checkingpatternsdomain-specific languages

75

G. Engels

Uni Paderborn Quality of Software Models

Impact of Quality Assurance Techniques on Model Qualities

☺interoperability

portability

☺reusability

☺☺maintainability

☺☺understandability

☺☺user friendliness

☺robustness

☺☺reliability

☺correctness

model checkingpatternsdomain-specific languages

76

G. Engels

Uni Paderborn Quality of Software Models

Interest in related Research?

European project

Research and Training Network (RTN)

Syntactic and Semantic Integration of Visual Modeling Techniques

2002 - 2006

Page 20: Quality of Software Models - hu-berlin.de · MIS layout interactive behaviour structure dynamic behaviour. 12 45 G. Engels Uni Paderborn Quality of Software Models OMMMA-L: the Structure

20

77

G. Engels

Uni Paderborn Quality of Software Models

SegraVis - Grants

Grants are available for pre- and post-doc‘s!• arguments

• flexible timing and organization

• only a few bureaucracy

• local contracts / local rules

• no further application in Brussels

Contact one of the partners!

www.segravis.org

78

G. Engels

Uni Paderborn Quality of Software Models

The End