modsim monitory

background image

Metody symulacyjne

Mechanizm monitorowania

zmiennych w MODSIM’ie

background image

Monitory - idea

Monitorowanie polega na

ś

cisłym powi

ą

zaniu

pewnych (zdefiniowanych) zachowa

ń

(działa

ń

) z

operacjami dost

ę

pu do zmiennych i/lub ich

modyfikacji.

Powi

ą

zanie to ma charakter ukryty i automatyczny

Powi

ą

zanie to ma charakter ukryty i automatyczny

(działania te s

ą

uruchamiane w sposób

automatyczny i niejawny).

Operacje monitoruj

ą

ce s

ą

odseparowane od operacji

przetwarzania dotycz

ą

cych monitorowanych

zmiennych.

background image

Monitory - zastosowanie

 ś

ledzenie zmian warto

ś

ci wybranej zmiennej i

zobrazowanie tych zmian na wykresie



debagowanie – obserwacja warto

ś

ci kluczowych

zmiennych programu bez zmiany logiki programu
(głównego przepływu sterowania w programie)

(głównego przepływu sterowania w programie)



gromadzenie statystyk

dotycz

ą

cych wyników

symulacji (odseparowanie tych operacji od
„czystej” symulacji)

background image

Co mo

ż

emy monitorowa

ć

?



zmienne dowolnego typu:

(wyliczeniowy,

INTEGER

,

REAL

, STRING,

BOOLEAN, typ okrojony, obiektowy, rekordowy,
tablicowy)



pola w obiektach



pola w obiektach



pola w rekordach

background image

Składnia deklaracji obiektu monitora

background image

Składnia definicji metod monitoruj

ą

cych

background image

Własno

ś

ci monitorów



tylko monitor mo

ż

e zawiera

ć

metody typu: LMONITOR i

RMONITOR;



monitor mo

ż

e posiada

ć

dowoln

ą

liczb

ę

metod:

left-hand i right-hand. Je

ś

li jest wi

ę

cej ni

ż

jedna metoda

okre

ś

lonego rodzaju, wtedy s

ą

one wywoływane w

kolejno

ś

ci zadeklarowania;

kolejno

ś

ci zadeklarowania;



monitor mo

ż

e dziedziczy

ć

z innych obiektów, przy czym

obiektem bazowym mo

ż

e by

ć

zarówno typ monitorowy lub

nie;



obiekt, który dziedziczy z obiektu b

ę

d

ą

cego monitorem

musi by

ć

koniecznie monitorem tego samego typu danych

monitorowanych;



monitor mo

ż

e by

ć

statyczny lub dynamiczny;

background image

Struktura obiektu monitora

Trzy specjalne wielko

ś

ci zdefiniowane w monitorze:



VALUE

– dost

ę

pna ze wszystkich metod

monitoruj

ą

cych



NEWVALUE

– dost

ę

pna z metod typu

LMONITOR

LMONITOR



UPDATEVALUE

– funkcja wywoływana z metod

typu LMONITOR i modyfikuj

ą

ca warto

ść

zmiennej

NEWVALUE

background image

Deklaracja zmiennych monitorowanych

VAR

dlugosc : LMONITORED INTEGER;
czas : LRMONITORED REAL BY MonitorType;

Uwaga: w ten sam sposób deklarujemy monitorowane pola obiektów i

rekordów.

background image

Deklaracja typów monitorowanych

TYPE

TypMonit1 = LMONITORED INTEGER;

TypMonit2 = LRMONITORED REAL;

Uwaga: typ obiektu monitora musi by

ć

zgodny z typem monitorowanej zmiennej.

background image

Kolejno

ść

wywołania metod monitorujacych

TYPE MonitorSample = MONITOR INTEGER OBJECT

LMONITOR METHOD SetNewValue;

RMONITOR METHOD GetOldValue;

END ONJECT;
OBJECT MonitorSample

LMONITOR METHOD SetNewValue;
BEGIN

OUTPUT(„SetNewValue to „, NEWVALUE);

END METHOD;

END METHOD;
RMONITOR METHOD GetOldValue;
BEGIN

OUTPUT(„GetOldValue, which is „, VALUE);

END METHOD;

END OBJECT;

VAR

queuelen : LRMONITORED INTEGER BY MonitorSample;

BEGIN

queuelen := 0;
queuelen := queuelen + 1;

END MODULE.

SetNewValue to 0

GetOldValue, which is 0

SetNewValue to 1

background image

Typy monitorów statystycznych

MODSIM dostarcza cztery podstawowe typy

monitorów statystycznych typów liczbowych:



Dla zmiennych typu całkowitoliczbowego



IStatObj

;



ITimedStatObj

;



ITimedStatObj

;



Dla zmiennych typu rzeczywistego



RStatObj

;



RTimedStatObj

;

Uwaga: obiekty zdefiniowane w module StatMod.

background image

Typy monitorowanych statystycznie zmiennych

Sze

ść

monitorowanych typów danych liczbowych:



SINTEGER

= LMONITORED INTEGER BY IStatObj;



TSINTEGER

= LMONITORED INTEGER BY

ITimedStatObj;



BINTEGER

= LMONITORED INTEGER BY IStatObj,



BINTEGER

= LMONITORED INTEGER BY IStatObj,

ITimedStatObj;



SREAL

= LMONITORED REAL BY RStatObj;



TSREAL

= LMONITORED REAL BY RTimedStatObj;



BREAL

= LMONITORED REAL BY RStatObj,

RTimedStatObj;

Uwaga: obiekty zdefiniowane w module StatMod.

background image

Rodzaje zbieranych statystyk

Do statystyk wyznaczanych automatycznie nale

żą

:



Licznik (liczba obserwacji)

Count



Maksimum

Maximum



Minimum

Minimum



Suma

Sum



Suma

Sum



Warto

ść

ś

rednia

Mean



Suma kwadratów

SumOfSquares

 Ś

rednia kwadratowa

MeanSquare



Wariancja

Variance



Odchylenie standardowe

StdDev



Histogram

Histogram

background image

Statystyki wa

ż

one czasem

t

0

1

2

10

30

100

x

i

Przebieg zmian liczby zada

ń

w kolejce

1

3

2

1

0

1

1

=

+

+

=

=

=

n

i

i

n

x

n

X

=

=

=

=

+

+

=

=

n

i

i

n

i

i

i

n

t

T

t

x

T

X

1

1

*

6

,

1

100

70

2

20

1

10

0

1

Przebieg zmian liczby zada

ń

w kolejce

background image

Histogramy

Histogramy s

ą

zbierane automatycznie jak i inne statystyki

(nale

ż

y jednak najpierw ustawi

ć

pewne parametry).

ASK waitingTime TO SetHistogram(low, high, interval);

Odwoływanie si

ę

do histogramu jest identyczne jak do tablicy.

FOR i:=0 TO 21

OUTPUT(ASK waitingTime TO GetHistogram[i]);

END FOR;

background image

Wbudowane procedury i funkcje (1/2)



ADDMONITOR

(IN monVar : AnyMonitoredVar;

IN monObj : AnyMonitorObjectVar)

kojarzy obiekt monitora monObj z monitorowan

ą

zmienn

ą

monVar z

jednoczesn

ą

aktywacj

ą

monitora



REMOVEMONITOR

(IN monVar : AnyMonitoredVar;

IN monObj : AnyMonitorObjectVar)

usuwa skojarzenie obiekt monitora monObj z monitorowan

ą

zmienn

ą

monVar



ACTIVATE

(IN monVar : AnyMonitoredVar;

IN monType : AnyMonitorObjectType):

<montype> object reference

aktywuje działanie monitora podanego typu monType dla wskazanej i
skojarzonej z nim zmiennej monitorowanej monVar

background image

Wbudowane procedury i funkcje (2/2)



DEACTIVATE

(IN monVar : AnyMonitoredVar;

IN monType : AnyMonitorObjectType):

<montype> object reference

dezaktywuje działanie monitora podanego typu monType dla wskazanej i
skojarzonej z nim zmiennej monitorowanej monVar



GETMONITOR

(IN monVar : AnyMonitoredVar;

IN monType : AnyMonitorObjectType):

IN monType : AnyMonitorObjectType):

<montype> object reference

zwraca referencj

ę

na obiekt monitora podanego typu monType skojarzonego

z zadan

ą

zmienn

ą

monitorowan

ą

monVar

background image

Sposób wykorzystania

TYPE

MyMonitoredType = LMONITORED REAL;

VAR

monVar1 : MyMonitoredType;
monVar2 : SREAL; {LMONITORED REAL BY RStatObj}
mon1, mon2 : RStatObj;

BEGIN

. . .

. . .
monVar2 := 10.0;
NEW(mon1);

ADDMONITOR

(monVar1, mon1); {automatycznie zostaje aktywowany}

monVar1 := 20.0;
. . .
OUTPUT(ASK

GETMONITOR

(monVar2, RStatObj) TO Mean);

OUTPUT(ASK mon1 TO StdDev);

DEACTIVATE

(mon1);

. . .

REMOVEMONITOR

(monVar1, mon1);

DISPOSE(mon1);

background image

Klasa bazowa monitora statystycznego

StatObj = OBJECT

Count : INTEGER
Sum : REAL
SumOfSquares: REAL
low

: INTEGER

high : INTEGER
interval : INTEGER
ASK METHOD ObjTerminate
ASK METHOD SetHistogram(IN Low : INTEGER;

IN High : INTEGER;

IN High : INTEGER;
IN Interval : INTEGER)

ASK METHOD GetHistogram() : histogram
ASK METHOD Mean() : REAL
ASK METHOD MeanSquare() : REAL
ASK METHOD Variance() : REAL
ASK METHOD StdDev() : REAL
ASK METHOD Reset

PRIVATE

Histogram

: histogram;

ASK METHOD UpdateHistogram(IN value : REAL)

END OBJECT;


Wyszukiwarka

Podobne podstrony:
symulacja modsim monitory
modsim monitory
Monitoring ZM Pierzchala
Monitory
w 3 monitorowanie podróży
Modsim Skladnia
Proces wdrazania i monitoringu strategii rozwoju
5 Terapia monitorowana
BHP przy obsludze monitorow ekranowych
Monitoring zrwnowaonej turystyki
monitoring gleb
Monitorowanie pacjentów w OIT
7 [ Biofizyczne metody monitorowania ciąży ]
monitoring wod
W2 , inform locyjne,PLANOWANIE i monitorowanie
monitoring
BIOFIZYCZNE MONITOROWANIE CIAZY Nieznany (2)

więcej podobnych podstron