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 (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)

 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 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;

 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

 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;
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

;

 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,

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

 Wartość średnia

Mean

 Suma kwadratów

SumOfSquares

 Średnia kwadratowa

MeanSquare

 Wariancja

Variance

 Odchylenie standardowe

StdDev

 Histogram

Histogram

background image

Statystyki ważone czasem

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

t

0

1

2

10

30

100

x

i

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):

<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 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;


Document Outline


Wyszukiwarka

Podobne podstrony:
modsim monitory
symulacja 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