27
mosel.tutorial.esm02.print.fm: 09.10.02 12:59 1 MOSEL MOdeling Specification and Evaluation Language Jörg Barner and Gunter Bolch University Erlangen / Germany Helmut Herold Khalid Begain University of Applied Sciences University Bradford / UK Nürnberg / Germany MOSEL MOdeling Specification and Evaluation Language J. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002 2 mosel.tutorial.esm02.print.fm: 09.10.02 12:59 2 Outline Motivation MOSEL Structure of the MOSEL System Constructs of MOSEL Queueing Network Examples, Petri Net Example Production Line Examples Fundamental Systems: Basic Model, Multiple Machines, Finite Buffer, Batch Processing, Unreliable Machines Wafer Production System Other Real Life Examples IGL Intermediate Graphic Language Related Work and Future Work

MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

Embed Size (px)

Citation preview

Page 1: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

1

MOSELMOdeling Specification and Evaluation Language

Jörg Barner and Gunter Bolch

University Erlangen / Germany

Helmut Herold Khalid Begain

University of Applied Sciences University Bradford / UK

Nürnberg / Germany

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

2mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

2

Outline

❏ Motivation

❏ MOSEL

• Structure of the MOSEL System

• Constructs of MOSEL

• Queueing Network Examples, Petri Net Example

❏ Production Line Examples

• Fundamental Systems: Basic Model, Multiple Machines, Finite Buffer,Batch Processing, Unreliable Machines

• Wafer Production System

❏ Other Real Life Examples

❏ IGL Intermediate Graphic Language

❏ Related Work and Future Work

Page 2: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

3mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

3

Motivation (1)

❏ Performance and Reliability Evaluation is importantfor

• Design

• Planning

• Tuning

• Comparison

• Selection

of

• Manufacturing Systems

• Computer Systems

• Operating Systems

• Communication Systems

• Workflow Management Systems

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

4mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

4

Motivation (2)

❏ Performance and Reliability Evaluation Methods

• Measurement:Expensive, only for already existing systems

• Simulation:Very time consuming, but universal

• Analytical Methods:Very fast, but restrictive

• Numerical Methods:Faster than Simulation

Page 3: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

5mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

5

Motivation (3)

❏ Performance and Reliability Evaluation Models

• Queueing Network Models

• Petri Net Models

• Precedence Graph Models

• Fault Trees

• Markov Models

• Modeling Languages

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

6mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

6

Motivation (4)

❏ Tools for Performance and Reliability Evaluation

• Queueing Network Tools

QNAP, RESQ, PEPSY, ...

• Petri Net Tools

SPNP, TIMENET, PETSI, GreatSPN, ...

• Tools based on Modeling Languages

MOSEL - Tool, SHARPE, QNAP, SPNP, ...

Page 4: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

7mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

7

Motivation (5)

❏ Problems:

• Learning more than one modeling language is very time consuming

• Some systems are difficult to describe in a particular language

• Syntax of a modeling language is oriented to the specific characteristics of

the particular tool ☞ tool oriented

❏ Solution:

• Design a model description language that allows the user to describe thesystem directly without any knowledge of the underlying methods or tools

☞ system oriented

• Provide translators that transform this model description into the inputlanguages/models needed by specific already existing tools.

☞ MOSEL: MOdeling, Specification and Evaluation Language

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

8mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

8

MOSELStructure of the MOSEL System

Real System

Model of the System

MOSEL

Translater / Interpreter

Simulation SHARPE PEPSY MOSEL-Tool TimeNET SPNP

Textual and Graphical Representation of the Results

Page 5: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MO

SE

LM

Ode

ling

Spe

cific

atio

n an

dE

valu

atio

nL

angu

age

SY

ST

EM

Mod

el o

f the

Sys

tem

Sol

ver

Sta

teP

roba

bilit

ies

Per

form

ance

Mea

sure

s

Mod

el

Lang

uage

Des

crip

tion

MO

SE

L

Mar

kov

Mod

el

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

10mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

10

MOSEL

MOdeling Specification and Evaluation Language

❏ SPNP - Stochastic Petri Net Package(Duke University)

❏ Generation and Solution of the Markov Chain

• Input: Description of the System in CSPL

– Generated automatically from the MOSEL Description of the Systemby a Translater

• Output: State Probabilities

• Solution Methods

– Power (Iterative)

– Gauss Seidel (Iterative)

– SOR (Iterative)

– Uniformization (Transient Solution)

Page 6: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

11mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

11

MOSEL

MOdeling Specification and Evaluation Language

❏ MOSEL - Tool (University of Erlangen)

❏ Generation and Solution of the Markov Chain

• Input: Description of the System in CSPL

– Generated automatically from the MOSEL Description of the Systemby a Translater

• Output: State Probabilities

• Solution Methods

– Power, SOR

– Gauss Seidel

– Multi Level

– Uniformization

– (Simulation)

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

12mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

12

MOSEL

MOdeling Specification and Evaluation Language

❏ Structure of a MOSEL file (1)

• Parameter declaration part (optional)

– Variables

– Constants

• System state definition part (Vector description part)

– Components of the state vector

– Range of the state space

– Start vector (optional)

– Specification of the prohibited states (optional)

Page 7: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

13mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

13

MOSEL

MOdeling Specification and Evaluation Language

❏ Structure of a MOSEL file (2)

• Transition definition part (Rules part)

– Specification of the transitions betweenthe states

• Condition part

• Action part (rate, probability)

• Results part

– Specification of the performance measures

• Picture part

– Specification of the values to be plotted

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

14mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

14

MOSEL

Queueing Network Examples

❏ Open Tandem Network (1)

• Description in MOSEL

/* Definition of the state vector */

NODE station_1 [K] = 0;NODE station_2 [K] = 0;NODE num [K] = 0;

/* Definition of the arrival of jobs */

FROME TO station_1, num W arrival;

arrival

station_1 station_2

1 2

Page 8: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

15mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

15

MOSEL

Queueing Network Examples

❏ Open Tandem Network (2)

/* Definition of the behavior of the stations */

FROM station_1 TO station_2 W ServiceRate_1;FROM station_2, num TOE W ServiceRate_2;

/* Definition of the performance measures */

RESULT>> k_1 = MEAN station_1;

RESULT>> WIP = MEAN num;

RESULT>> system_time = WIP / arrival;

arrival

station_1 station_2

1 2

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

16mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

16

MOSEL

Queueing Network Examples

❏ Closed Queueing Network (1)

Description in MOSEL

/* Definition of the state vector */

NODE station_1 [K] = K;NODE station_2 [K] = 0;NODE station_3 [K] = 0;

NOT station_1 + station_2 + station_3 != K;

station_1

station_2

station_3

Kp_2

p_3

3

2

1

Page 9: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

17mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

17

MOSEL

Queueing Network Examples

❏ Closed Queueing Network (2)

/* Definition of the behavior of the stations */

FROM station_1 W ServiceRate_1{ TO station_2 P p_2;

TO station_3 P p_3;}

FROM station_2 TO station_1 W ServiceRate_2;

FROM station_3 TO station_1 W ServiceRate_3;

/* Definition of the performance measures */

RESULT>> utilization_1 = UTIL station_1;

RESULT>> throughput_1 = utilization_1 * ServiceRate_1;

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

18mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

18

MOSELQueueing Network Examples

• Short MOSEL Version

/* Definition of the state vector */

NODE station_1 [K] = K;<2,3> NODE station_# [K] = 0;

NOT station_1 + station_2 + station_3 != K;

/* Definition of the behavior of the stations */

FROM station_1 W ServiceRate_1{ TO station_2 P p_2;

TO station_3 P p_3;}

<2,3> FROM station_# TO station_1 W ServiceRate_#;

/* Definition of the performance measures */

<1,2,3>RESULT>> utilization_# = UTIL station_#;

<1,2,3>RESULT>> throughput_# = utilization_# * ServiceRate_#;

Page 10: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

19mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

19

MOSELQueueing Network Examples

❏ Nonproductform Queueing Network (1)

/* Definition of the state vector */

NODE queue_1 [K] = 0;

NODE phase_1 [1] = 0;

NODE phase_2 [1] = 0;

NODE node_2 [K] = 0;

NOT queue_1 + phase_1 + phase_2 + node_2 != K;

mue_11 mue_12

queue_1 ph_1 ph_2

mue_2

node_2

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

20mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

20

MOSELQueueing Network Examples

❏ Nonproductform Queueing Network (2)

/* Behavior of node_1 */

FROM queue_1 TO phase_1 IF (phase_1 + phase_2 == 0);

FROM phase_1 TO phase_2 W mue_11;

FROM phase_2 TO node_2 W mue_12;

/* Behavior of node_2 */

FROM node_2 TO queue_1 W mue_2;

mue_11 mue_12

queue_1 ph_1 ph_2

mue_2

node_2

Page 11: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

Petri Net Example

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

22mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

22

Petri Net Example (1)MOSEL Specification

/*---------------------------------- Different values (loops) -------*/

#define K 10#define mtbf 10000#define mttr 10#define lambda 0.1, 0.2, 0.3, 0.4, 0.5, 0.6 0.8, 1#define mue 0.5, 0.8, 1, 1.5, 1.8, 2, 3

/*------------------------------------------ Node definitions -------*/

enum down_up { down, up };NODE queue[K] = 0 ;NODE server[down_up] = up;

/*--------------------------- Arrival and service of the jobs -------*/

FROME TO queue W lambda;IF server == up FROM queue TOE W mue ;

Page 12: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

23mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

23

Petri Net Example (2)MOSEL Specification

/*------------------------------ Repair/Failure of the server -------*/

FROM server[up] TO server[down] W 1/mtbf;FROM server[down] TO server[up] W 1/mttr;

/*--------------------------------------------------- Results -------*/

RESULT>> IF (queue == 0) server_idle += PROB ;RESULT>> IF (queue == K) server_reject += PROB ;RESULT>> rate_reject = lambda *server_reject;RESULT>> mean_qlength = MEAN queue ;RESULT>> thruput = util_server*mue ;RESULT>> util_server = UTIL queue ;

/*-------------------------------------------------- Pictures -------*/

PICTURE "Mean queue length" -BACKGROUND gray90XSCALE lambda -MIDDLE -HIGHVALUE 1.4 -LABELNR 7CURVE mean_qlength -DIFF THICK, POINT

Pet

ri N

et E

xam

ple

(3)

Res

ults

Cal

l of

the

MO

SEL

-TO

OL

:

mos

el-c

spe

tri.m

sl--

> p

etri

.res

-->

petr

i.igl

igl

petr

i.igl

-->

pict

ures

Res

ults

:

......

.....

lam

bda

= 0

.1, m

ue =

0.5

.....

......

serv

er_i

dle

= 0

.665

8740

5876

9 s

erve

r_re

ject

= 1

.820

1791

8692

e-06

rate

_rej

ect =

1.8

2017

9186

92e-

07 m

ean_

qlen

gth

= 0

.251

5550

3124

1th

rupu

t = 0

.100

2995

7828

util_

serv

er =

0.2

0059

9156

56

......

.....

lam

bda

= 0

.1, m

ue =

0.8

.....

......

se

rver

_idl

e =

0.8

7443

8162

634

se

rver

_rej

ect =

1.3

3052

9234

69e-

06ra

te_r

ejec

t =...

.... . .

......

.....

lam

bda

= 1

, mue

= 2

.....

......

serv

er_i

dle

= 0

.499

5271

4429

4se

rver

_rej

ect =

0.0

0096

2398

9715

26ra

te_r

ejec

t = 0

.000

9623

9897

1526

mea

n_ql

engt

h =

1.0

0283

4342

33th

rupu

t = 1

.000

9457

1141

util_

serv

er =

0.5

0047

2855

706

......

.... l

ambd

a =

1, m

ue =

3 ..

......

...se

rver

_idl

e =

0.6

6587

4058

769

serv

er_r

ejec

t = 1

.820

1791

8692

e-06

rate

_rej

ect =

......

Page 13: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

25mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

25

Petri Net Example (4)

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

26mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

26

PETRI NET EXAMPLE (5)

Page 14: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

27mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

27

Production Line ExamplesBasic Model (1)

/* Declaration part*/

enum machine_state {idle, busy};

/* Vector Description part*/

NODE buffer_1 [K] = 0;NODE machine_1 [1] = 0;NODE station_2 [K] = 0;NODE num [K] = 0;

arrival

station_1 station_2

1 2

buffer_1 machine_1 buffer_2 machine_2

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

28mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

28

Production Line ExamplesBasic Model (2)

/* Rules part */

FROME TO buffer_1, num W arrival;FROM buffer_1 TO machine_1;FROM machine_1 TO station_2 W ServiceRate_1;FROM station_2, num TOE W ServiceRate_2;

/* Results part */

RESULT>> utilization_1 = UTIL machine_1;RESULT>> utilization_2 = UTIL station_2;RESULT>> WIP = MEAN num;RESULT>> T = WIP / Arrival;

arrival

station_1 station_2

1 2

buffer_1 machine_1 buffer_2 machine_2

Page 15: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

29mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

29

Production Line ExamplesMultiple Machines (1)

#define m 4;

NODE buffer_1 [K];NODE machine [m];NODE station_2 [K];NODE num [K];

FROME TO buffer_1, num W arrival;

arrival

station_1station_2

buffer_1

machine

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

30mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

30

Production Line ExamplesMultiple Machines (2)

FROM buffer_1 TO machine;<1..m> FROM machine TO station_2 W

#*ServiceRate_1 IF machine == #;

FROM station_2, num TOE W ServiceRate_2;

/* Mean number of active machines in station_1 */RESULT>> A = MEAN machine;

/* Utilization of station_1 */RESULT>> utilization_1 = A/m;

arrival

station_1station_2

buffer_1

machine

Page 16: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

31mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

31

Production Line Examples

Finite Buffer (Blocking) (1)

/* Definition of the state vector */

NODE station_1 [K] = 0;

NODE block [1] = 0;

NODE station_2 [Capacity] = 0;

NODE num [K];

arrival

regular station

buffer_1 machine_1 station_2

blocking station

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

32mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

32

Production Line Examples

Finite Buffer (Blocking) (2)

/* Definition of the arrivals */

FROME TO station_1 W arrival;

/* Definition of the behavior of station_1 */

FROM station_1 TO block W ServiceRate _1;

FROM block TO station_2:

/* Definition of the behavior of station_2 */

FROM station_2 TOE W ServiceRate_2;

arrival

regular station

buffer_1 machine_1 station_2

blocking station

Page 17: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

33mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

33

Production Line ExamplesFinite Buffer (Blocking) (3)

/* Definition of the Results */

RESULT>> utilization_2 = UTIL station_2;

RESULT>> throughput = utilization_2 * ServiceRate_2;

RESULT>> IF (block == 1) blockprob + = PROB;

RESULT>> IF (station_1 > 0 OR block == 1) utilization_1+ = PROB

RESULT>> WIP = MEAN num;

arrival

regular station

buffer_1 machine_1 station_2

blocking station

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

34mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

34

Production Line ExamplesBatch Processing (1)

/* Declaration part*/

VAR int b; /* Batch size */;

/*Definition of the state vector */

NODE buffer_1 [K];

NODE machine_1 [b];

NODE station_2 [K];

NODE num [K];

arrival

batch station

buffer_1 machine_1 station_2

regular station

Page 18: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

35mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

35

Production Line ExamplesBatch Processing (2)

/* Arrival of jobs */

FROME TO num, buffer_1 W arrival;

/* station_1 */

FROM buffer _1 (b) TO machine_1 (b)

IF (buffer_1 >= b);

FROM machine_1 (b) TO station_2 (b) W ServiceRate_1;

/* station_2 */

FROM station_2, num TOE W ServiceRate_2;

arrival

batch station

buffer_1 machine_1 station_2

regular station

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

36mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

36

Production Line ExamplesBatch Processing (3)

/* Performance measures */

RESULT>> utilization_2 = UTIL station_2;

RESULT>> throughput = utilization_2 * ServiceRate_2;

RESULT>> IF (machine_1 = 0) P0 += PROB;

RESULT>> utilization_1 = 1 - P0;

RESULT>> WIP = MEAN num;

RESULT>> DIST num;

arrival

batch station

buffer_1 machine_1 station_2

regular station

Page 19: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

37mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

37

Production Line ExamplesUnreliable Machines (1)

/* Declaration part */

enum state_a {up, down};

/* Definition of the state vector */

NODE station_1 [K] = 0;

NODE station_2 [K] = 0;

NODE num [K] = 0;

NODE server [state] = up;

arrival

unreliable station

buffer_1 machine_1 station_2

regular staion

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

38mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

38

Production Line ExamplesUnreliable Machines (2)

/* Arrival of jobs */

FROME TO num, station_1 W arrival;

/* Failure and repair */

FROM server [up] TO server [down] W 1/mtbf;

FROM server [down] TO server [up] W 1/mttr;

arrival

unreliable station

buffer_1 machine_1 station_2

regular staion

Page 20: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

39mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

39

Production Line ExamplesUnreliable Machines (3)

/* station_1 */

FROM station_1 TO station_2 W ServiceRate_1

IF (server == up);

/* station_2 */

FROM station_2, num TOE W ServiceRate_2;

/* Performance Measures */

RESULT>> utilization_2 = UTIL station_2;

RESULT>> throughput_2 = utilization_2 * ServiceRate_2; ;

RESULT>> IF (server == up) upprob += PROB;

arrival

unreliable station

buffer_1 machine_1 station_2

regular staion

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

40mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

40

Wafer Production System (1)

/* Nodes */

<1..5> NODE Buffer_# [K];<1..5> NODE Active_# [m_#];

NODE Station_6 [K];NODE num [K];

1

2

3

5

m=3

m=2

m=2

p24 = 0.9

m=1

µ

µ

µ

µ

1

2

3

5

4m=1µ4

Spinning

Masking 2

Remove photoresist

Bad wafer

Arrival

Etching, remove photoresist

m1 = 3...10

m2 = 2...4

m3 = 2...4

m4 = 2

m5 = 1

p12 = 0.5

p25 = 0.1

p34 = 0.9

p35 = 0.1

p40 = 0.1

p46 = 0.9

p60 = 2/3

p61 = 1/3

mue1 = 1

mue2 = 1

mue3 = 1

mue4 = 2

mue5 = 1

Arrival = 1

Station 6

Good wafer

Masking 1

p13 = 0.5

Model of the wafer production system

Page 21: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

41mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

41

Wafer Production System (2)

/* Rules */

FROME TO Buffer_1, num W Arrival;<1..5> FROM Buffer_# TO Active_#;<1..m_1> FROM Active_1 TO Buffer_2 W #*mue_1 P p12 IF Active_1 == #;;<1..m_1> FROM Active_1 TO Buffer_3 W #*mue_1 P p13 IF Active_1 == #;

<1..m_2> FROM Active_2 TO Buffer_4 W #*mue_2 P p24 IF Active_2 == #;<1..m_2> FROM Active_2 TO Buffer_5 W #*mue_2 P p25 IF Active_2 == #;

<1..m_3> FROM Active_3 TO Buffer_4 W #*mue_3 P p34 IF Active_3 == #;<1..m_3> FROM Active_3 TO Buffer_5 W #*mue_3 P p35 IF Active_3 == #;

<1..m_4> FROM Active_4, num TOE W #*mue_4 P p40 IF Active_4 == #;<1..m_4> FROM Active_4 TO Station_6 W #*mue_4 P p46 IF Active_4 == #;

FROM Active_5 TO Buffer_1 W mue_5;

FROM Station_6, num TOE P p60;FROM Station_6 TO Buffer_1 P p61;

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

42mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

42

Wafer Production System (3)

/* Results */

/* Mean number of active machines */

<1..5> RESULT>> A_# = MEAN Active_#;

/* Utilization of the machines */

<1..5> RESULT>> utilization_# = A_#/m_#;

/* Mean buffer length */

<1..5> RESULT>> Q_# = MEAN Buffer_#;

/* Mean number of wafers (WIP) */

RESULT>> WIP = MEAN num;

/* Mean system time */

RESULT>> T = WIP / Arrival;

Page 22: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

43mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

43

Wafer Production System (4)

3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0Number of machines at station 1

5.0

10.0

15.0

20.0

Mea

n sy

stem

tim

e

Station 2 and 3 each have 2 machinesStation 2 and 3 each have 3 machinesStation 2 and 3 each have 4 machines

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

44mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

44

µ4

µ2

µ3µ1

14p

p

p

13

12

IGL Intermediate Graphic Language (1)

Page 23: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

45mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

45

IGL Intermediate Graphic Language (2)

/***====== Central-Server-model ===================*/

/**------------- Parameter declaration part----------------------------------------*/

#define K 10#define mue1 3.5#define mue2 0.9#define mue3 2.3#define mue4 1.2#define p12 0.25#define p13 0.35#define p14 0.4

/**------------- System state definition part --------------------------------------------*/

NODE N1[K] = K;<2..4> NODE N#[K];

/**------------- Prohibited states ---------------------------------*/

NOT N1 + N2 + N3 + N4 != K;

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

46mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

46

IGL Intermediate Graphic Language (3)

*-------------Transition definition part ----------------------------------------------*/

FROM N1 WITH mue1 { <2..4> TO N# P p1#;}<2,3,4> FROM N# TO N1 WITH mue#;

/**------------- Result part--------------------------------------------*/

<1..4> RESULT>> IF (N#>0) rho# += PROB; // utilization<1..4> RESULT nquer# = MEAN N#; // mean queue length<1..4> RESULT DIST N#; // distribution (probability of each possile queue length)<1..4> RESULT>> lambda# = rho# * mue#; // throughput<1..4> RESULT>> tquer# = nquer# / lambda#; // mean time a job is in a node

/**------------- Picture part-----------------------------*/

PICTURE "Distribution for queue lengths" -FONTSIZE 16CURVE DIST N1, N2, N3, N4

PICTURE lambdas_and_rhos -FONT courier -FONTSIZE 20

LIST lambda1, lambda2, lambda3, lambda4, rho1, rho2, rho3, rho4LEGEND -NOVISIBLE

Page 24: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

=========================================================================== Results provided by the tool `CSPL'===========================================================================Constants: K = 10 mue1 = 3.5 mue2 = 0.9 mue3 = 2.3 mue4 = 1.2 p12 = 0.25 p13 = 0.35 p14 = 0.4- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Results: __DIST N1 ___ 0: 0.226490510324

------------------10: 0.00523876082994

__DIST N2 ___ 0: 0.247975421288

----------------10: 0.00395268685905

__DIST N3 ___ 0: 0.588022114438

----------------10: 9.62301477005e-06

__DIST N4 ___ 0: 0.0975734220455

-----------------10: 0.0244732959731

rho1 = 0.773509489676 rho2 = 0.752024578712 rho3 = 0.411977885562 rho4 = 0.902426577954

lambda1 = 2.70728321387 lambda2 = 0.676822120841 lambda3 = 0.947549136792 lambda4 = 1.08291189355

tquer1 = 0.965895587825 tquer2 = 3.56550339435 tquer3 = 0.720806197492 tquer4 = 3.96046645608

IGL Intermediate Graphic Language (4)

MO

SE

L M

Odeling

Specification and

Evaluation

Language

J. Barn

er, K. B

egain

, G. B

olch

and

H. H

erold

, ES

M02, 2002

48

mosel.tutorial.esm02.print.fm: 09.10.02 12:59

48

IGL

Intermediate G

raphic Language (5)

Page 25: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

49mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

49

IGL Intermediate Graphic Language (6)

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

50mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

50

IGL Intermediate Graphic Language (7)

Page 26: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

51mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

51

Real Life Examples

❏ MOSEL has been successfully used to model and to analyze systems from thefollowing domains:

❏ Computer Systems: UNIX Operating System, Polling Systems, Fork JoinSystems, Terminal Systems, Multithreaded Architecture, Client Server,Multi Processor Systems

❏ Communication Systems: Cellular Mobil Networks, ATM-Multiplexer,Internet Router, Retrial Systems

❏ Manufacturing Systems: Batch Systems, Wafer Production Systems,ClusterTools for Single Wafer Processing

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

52mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

52

Remarks

❏ Availability: MOSEL is working on Solaris and Linux platforms.An earlier version had been compiled successfully under Windows NT.The IGL-interpreter is written in Tcl/Tk. MOSEL is implemented in C.The MOSEL-Tool (MOSEL, IGL) is freeware.

❏ Documentation: Practical Performance Modelling - Application of theMOSEL Language; by Begain, K.; Bolch, G.; Herold, H., Kluwer AcademicPublishers, 2001, 409 pages.The book serves as a reference guide to MOSEL and IGL and contains a lotof real life examples

❏ Current State: MOSEL contains a translator to CSPL (suitable for SPNPv. 6.x, and a Petri Net based analysis module which was recently added to theMOSEL-Tool)

❏ http://www4.informatik.uni-erlangen.de/Projects/MOSEL/

Page 27: MOSEL MOdeling Specification and Evaluation Language fileSYSTEM Model of the System Model Description Language MOSEL Markov Model Solver State Probabilities Performance Measures MOSEL

MOSEL MOdeling Specification and Evaluation LanguageJ. Barner, K. Begain, G. Bolch and H. Herold, ESM02, 2002

53mos

el.tu

toria

l.esm

02.p

rint.f

m: 0

9.10

.02

12:5

9

53

Future Work and Related Work

❏ Macros

❏ Parallel Solver

❏ Translator to other Tools

❏ Application to Special Systems

• Computer Systems

• Operating Systems

• Communication Systems (Ethernet (CSMA/CD, Tokenring), FDDI, ATM,Cellular Mobil Networks)

• Fault Tolerant Systems

❏ Simulation

❏ Non Phase Type Distribution