Lekcja 3. Statystyki narzędzie Result Analysis

Podobne dokumenty
Lekcja 5. Funkcje handlemessage() i initialize(), konstruktor i destruktor

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

Lekcja 1. Środowisko OMNeT++

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

Wykresy statystyczne w PyroSim, jako narzędzie do prezentacji i weryfikacji symulacji scenariuszy pożarowych

Program V-SIM tworzenie plików video z przebiegu symulacji

Skrócona instrukcja obsługi czujników Fast Tracer firmy Sequoia.

Przy wykonywaniu rozliczeń obowiązują pewne zasady, do których nie zastosowanie się będzie skutkowało odrzuceniem raportów ze strony NFZ:

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

Spis treści. S t r o n a 2

Lekcja 4. Wektory bram i wektory modułów

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S IVR SYSTEM

Nowe funkcje w module Forte Finanse i Księgowość

Backend Administratora

Moduł Handlowo-Magazynowy Zaawansowane analizy sprzedaży i zakupu

MATERIAŁY DYDAKTYCZNE. Streszczenie: Z G Łukasz Próchnicki NIP w ramach projektu nr RPMA /15

Robert Barański, AGH, KMIW Writing TDM and TDMS Files in LabVIEW v1.0

nowe idee nowe inspiracje City Network wersja demonstracyjna

Ćwiczenie Zmiana sposobu uruchamiania usług

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

1 Moduł Konfigurowanie Modułu

Ewidencja Opłat za Korzystanie ze Środowiska

Instrukcja obsługi programu:

INSTRUKCJA UŻYTKOWNIKA. Wielkopolski system doradztwa. edukacyjno-zawodowego

E-book: Automatyzacja powiadomień SMS. CASE STUDY

Praktyczny Excel. Wykresy i grafika. w Excelu krok po kroku

Automatyzowanie zadan przy uz yciu makr języka Visual Basic

1. Logowanie do systemu

enova Analizy Wielowymiarowe podręcznik Użytkownika (9.1)

Obsługa kalendarza wizyt w serwisie elekarze. Podręcznik użytkownika

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Spis treści. 1: Wyszukiwanie elementu : Do linii modelu : Powiel arkusze : Długość kabla : Rozmieszczenie widoków...

Instrukcja do programu DoGLS 1.0

1 Rejestrator czasu pracy

Praktyczny Excel. Wykresy i grafika. w Excelu krok po kroku

Podstawy pracy w systemie Doradca.

SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA

TECHNOLOGIA OBSŁUGI KONTRAKTÓW INFORMACJA O AKTUALIZACJI SYSTEMU ISO 9001:2008 Dokument: Raport Numer: 10/2016 Wydanie: Waga: 90

Przewodnik korzystania z Biblioteki kursów na platformach e-learningowych RON

P&I Scout Pro Wygodne i proste tworzenie raportów

Instrukcja do programu DoDHL 1.5

Program dla praktyki lekarskiej

Instrukcja użytkownika. systemu BIP

INSTRUKCJA UŻYTKOWNIKA. Wielkopolski system doradztwa. edukacyjno-zawodowego

Materiały szkoleniowe Moduł Administracja budowlana. Urząd Starostwa Powiatowego w Chełmie

1. Protokołowanie operacji wykonywanych na danych osobowych

Wprowadzenie do SAS. Wprowadzenie. Historia SAS. Struktura SAS 8. Interfejs: SAS Explorer. Interfejs. Część I: Łagodny wstęp do SAS Rafał Latkowski

INSTRUKCJA UŻYTKOWNIKA GENERATORA WNIOSKÓW O DOFINANSOWANIE DLA WNIOSKODAWCÓW

Wspólne Zaawansowana tabela

Elektroniczna Skrzynka Podawcza

Instrukcja użytkownika. Aplikacja Smart Paczka DPD

Instrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego

Dokumentacja Użytkownika Systemu

Instrukcja użytkownika bgk24 Moduł Konsolidacja Finansów Publicznych

Obsługa kalendarza wizyt w serwisie elekarze. Podręcznik użytkownika

1 Moduł Modbus ASCII/RTU

Profil pracy wariant konfiguracji programu obejmujący m.in język, walutę, konto allegro, szablon aukcji, zdefiniowane koszty wysyłki itp.

Instrukcja do programu DoUPS 1.0

UONET+ moduł Dziennik. Rejestrowanie frekwencji uczniów na lekcjach w widoku Lekcja

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

INSTRUKCJA UŻYTKOWNIKA. Wielkopolski system doradztwa. edukacyjno-zawodowego

Analizy na podstawie danych sprawozdawczych - Moduł analiz z obsługą broszur

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

SYSTEM ZARZĄDZANIA RELACJAMI Z KLIENTEM CRM7

1. Opis. 2. Wymagania sprzętowe:

Instrukcja obsługi Nauczyciel. Spis Treści

GA Przepustowość najlepszy program generujący formularze obliczeniowe dla przepustowości skrzyżowań w środowisku CAD.

Współpraca FDS z arkuszem kalkulacyjnym

Materiały dodatkowe. Simulink Real-Time

S P I S T R E Ś C I. Instrukcja obsługi

JPK Jednolity Plik Kontrolny

Cyfrowa Telefonia Stacjonarna. Panel Użytkownika - instrukcja obsługi

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne.

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

PRZYGOTOWANIE HARMONOGRAMU WEWNĘTRZNEGO EGZAMINÓW PISEMNYCH W OŚRODKU.

Obsługa aplikacji Walne Zgromadzenia. Instrukcja użytkownika. wersja 6.1

Rozdział 5: Style tekstu

SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA

Sprzedawaj jeszcze więcej dzięki usłudze Ads!

JPK Jednolity Plik Kontrolny

W otwartym oknie w zakładce Ogólne znajdujemy opcje Podpis. Po zaznaczeniu pola wyboru, w edytorze możemy zredagować dołączaną treść.

Instrukcja użytkownika systemu medycznego

1 Moduł Modbus ASCII/RTU 3

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

3.7. Wykresy czyli popatrzmy na statystyki

Pomoc dla użytkowników systemu Asix 8. Asix.Evo Harmonogramy. Dok. Nr PLP8E016 Wersja:

Jak rozpocząć pracę? Mapa

Operacje. instrukcja obsługi wersja 2.9.2

16) Wprowadzenie do raportowania Rave

enova Systemowe Narzędzia Projektowe

Biblioteki publiczne

Instrukcja obsługi Zaplecza serwisu biznes.gov.pl dla Pracowników Instytucji w zakresie weryfikacji opisów procedur przygotowanych przez Zespół epk

PODRĘCZNIK UŻYTKOWNIKA SYSTEMU MaxeBiznes MODUŁ KANCELARIA-Elektroniczny obieg faktury

PWI Instrukcja użytkownika

R o g e r A c c e s s C o n t r o l S y s t e m 5. Nota aplikacyjna nr 016 Wersja dokumentu: Rev. A. obecności w VISO

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała


Transkrypt:

Lekcja 3. Statystyki narzędzie Result Analysis Lekcja 3 ma na celu zapoznanie czytelnika z narzędziami do prowadzenia statystyk i analizowania rezultatów symulacji. Objaśnione zostaną zagadnienia związane z plikami wektora oraz skalara wyjściowego. Poznamy również klasy służące do gromadzenia statystyk. Analizowanie rezultatów symulacji Wyniki symulacji mogą zostać zapisywane do plików: wektora wyjściowego (output vector files) skalara wyjściowego (output scalar files) OMNeT++ posiada narzędzie do analizy statystycznej symulacji Result Analysis. Umożliwia ono podgląd plików odpowiednio wektora wyjściowego oraz skalara wyjściowego. Wektory wyjściowe można używać do zapisu czasu obiegu komunikatów, długości kolejek, czasu przebywania obiektu w kolejce, liczby połączeń. Są to informacje, które obrazują wszelkie wartości zmienne w czasie. Wektory wyjściowe są zapisywane poprzez obiekty klasy coutvector w modułach prostych. Do jednego pliku wektorów wyjściowych może zostać zapisanych wiele obiektów tej klasy. Pliki te mają rozszerzenie *.vec. Obiektom klasy coutvector możemy nadawać nazwy poprzez użycie funkcji setname: wielkosc_przesylanego_zad.setname("wielkosc komunikatu"); W pliku omnetpp.ini można ustalić szczegóły wykorzystania wektora wyjściowego, określić m.in. przedział czasowy w którym obiekty będą zapisywane, określić odstępy czasu zapisu. Wygodnie jest użyć tym celu formularza, w który Omnet++ 4.2 został wyposażony ( Rys 1). 30

Rys 1. Formularz pliku omnetpp.ini widok na Result Recording Plik ned wygląd wtedy w następujący sposób (widok source ). [General] network = Lekcja3 warmup-period = 10s **.scalar-recording = true **.vector-recording = true **.vector-recording-intervals =..100 Badania można przeprowadzać w określonym przedziale czasowym. Służy do tego opcja konfiguracyjna vector-recording-intervals. W tej opcji można ustalić przedziały czasu, w których mają być rejestrowane dane np. **.vector-recording-intervals =..100, 150..290 Można także określić czas tzw. rozgrzewania - warmup-period. Dzięki tej opcji rezultaty działania symulacji będą zapisywane do zaimplementowanych wektorów oraz skalarów dopiero po upłynięciu określonego czasu np. warmup-period = 10s Wpisy w pliku.vec kolejno oznaczają numer wektora, czas w sekundach i zarejestrowaną wartość wraz z modułem, który ją wyprodukował. Wektory wyjściowe zapisują dane oraz czas ich zarejestrowania, lecz jeśli 31

potrzebujemy porównać różne zdarzenia dla różnych ustawień zmiennych, dla których nie jest istotna jednostka czasu, musimy wykorzystać skalary wyjściowe. Dane do pliku skalarów wyjściowych (plik z rozszerzeniem.sca) zapisywane są za pomocą metody recordscalar() z klasy csimplemodule. Każde jego wywołanie powoduje wpis jednej linii do pliku. Przykład Wykorzystanie oraz obsługę narzędzi symulacyjnych OMNeT++ przedstawię na przykładzie symulacji, która została wykonana w lekcji 2. Zostanie ona zmodyfikowana poprzez dodanie odpowiednich funkcji zapisujących wektory i skalary do odpowiednich plików wyjściowych. W wektorach oraz skalarach zapisane zostaną dane uzyskane w module Procesor: czas obsługi zadań, długość kolejki, wielkość komunikatu, czas transmisji do klienta. Aby zapisać wektory wyjściowe potrzebujemy zadeklarować zmienne należące do klasy coutvector. Zostanie to zapisane w pliku nagłówkowym procesor.h. coutvector czas_obslugi_wykr, liczba_zadan_wykr, wielkosc_przesylanego_zad, czas_transmisji; W funkcji activity() nadamy tym wektorom nazwy. czas_obslugi_wykr.setname("czas obslugi zadan"); liczba_zadan_wykr.setname("dlugosc kolejki zadan"); wielkosc_przesylanego_zad.setname("wielkosc przesylanego komunikatu"); czas_transmisji.setname("czas transmisji do klienta"); Czas obsługi żądania, długość kolejki oraz wielkość przesyłanego komunikatu mamy dostępne w funkcji obsluz_zad_na_procesorze więc w niej zapiszemy odpowiednie wpisy do pliku wyjściowego za pomocą metody obiekt_klasy_outvector.record(wartosc). void Procesor::obsluz_zad_na_procesorze( cmessage *zadanie) { double wielkosc = zadanie->getbytelength(); czas_obslugi_wykr.record( czas_wyszukiwania_danych ); liczba_zadan_wykr.record( kolejka.length() ); wielkosc_przesylanego_zad.record(wielkosc); 32

} Dla skalarów wystarczy wykorzystać metodę recordscalar( nazwa dla wartości, wartosc). recordscalar("czas wyszukiwania danych", czas_wyszukiwania_danych); recordscalar("wielkosc szukanego zadania", wielkosc); Ponieważ czas transmisji do klienta mamy określony w funkcji wysyla_do_klienta więc tu wpiszemy odpowiednie metody dotyczące tej wartości. void Procesor::wysyla_do_klient( cmessage *zadanie) { } czas_transmisji.record( czas_transmisji_do_klienta); recordscalar("czas transmisji do klienta", czas_transmisji_do_klienta); Teraz możemy już uruchomić symulację. Wektory i skalary możemy oglądać podczas symulacji po wybraniu odpowiednio View -> output Vector file lub View -> Scalar output file (po co najmniej jednym zatrzymaniu symulacji) oraz po skończonej symulacji w narzędziach Analysis. Wykorzystanie klasy cstddev Do analizy wyników symulacji można wykorzystać klasę cstddev. Posiada ona metodę collect do zbierania kolejnych wyników oraz metody min, max, mean i stddev zwracające odpowiednio minimalną, maksymalna, srednią i odchylenie standardowe. Przykładowo do zbierania danych o wielkości generowanego przez klienta zadania umieszczamy w pliku Klient.h deklarację: protected: cstddev wielkosc_zadania_sca; Następnie w pliku Klient.cc nadajemy nazwę dla zbieranych wyników i zbieramy odpowiednie dane za pomocą collect: void Klient::activity() 33

{ wielkosc_zadania_sca.setname("wielkosc generowanego zadania"); } for (;;) { wielkosc_danych=par("wielkosc_danych"); wielkosc_zadania_sca.collect(wielkosc_danych); } Zapis wyników następuje w momencie zakończenia symulacji po uruchomieniu funkcji finish(). Używamy w tym celu metody record(): void Klient::finish() { wielkosc_zadania_sca.record(); } Zebrane wyniki są gromadzone jako pliki skalarów. Analysis Narzędzie Analysis służy do odczytywania plików wektorów i skalarów wyjściowych OMNeT++ i obrazuje wyniki (wykresy, siatki X-Y). Konieczne jest utworzenie pliku narzędzia Analysis (.anf). Tworzy się on automatycznie podczas kliknięcia na wybrany plik *.sca lub *.vec otrzymany podczas symulacji. Plik ten edytujemy za pomocą formularzy. Rys 2 przedstawia widok inputs formularza edycji pliku.anf. 34

Rys 2. Formularz pliku.anf - widok na inputs Podajemy, które pliki maja być brane pod uwagę w narzędziu Analysis. W oknie Browse data (Rys 3) widzimy wektory, skalary i histogramy, które tworzyły się podczas symulacji. Rys 3. Formularz pliku.anf - widok na Browse data 35

Dane z plików są przedstawiane w formie tabel z kolumnami zawierającymi: ścieżkę dostępu, nazwę pliku, nazwę konfiguracji, numer procesu, nazwę modułu, który go wyprodukował oraz nazwę zmiennej i wartość. Możliwe jest podejrzenie wektorów wybierając zakładkę Output Vector (Rys 4). Rys 4. Zakładka Output Vector W przeciwieństwie do poprzednich wersji programu OMNET++, gdzie były dwa osobne narzędzia Plove i Scalar, teraz wystarczy nam narzędzie Analysis. Rys 5. przedstawia widok umożliwiający utworzenie Dataset ów i utworzenie profesjonalnych wykresów, z wystarczająco rozbudowaną możliwością edycji. Rys 5. Formularz pliku.anf - widok na Datasets and Charts 36

Analysis daje również różne opcje filtrowania wyników przed wyświetleniem wykresów. Istnieje możliwość exportu danych formatach programów: -CSV -Matlab -Octave Możliwe jest zdefiniowanie jednorazowych zestawów danych, które są w zasadzie wzorcami, jak i wybrać i przetwarzać dane otrzymane z symulacji. Można dokonać selekcji i przetwarzania danych węzłów w zbiorze danych. Wykresy liniowe (Rys 6) są zwykle używane do przedstawiania danych przechowywanych w plikach wektorowych. Wstępne przetwarzanie (edycja) danych jest możliwe w Dataset ach. Dane wektorowe można dowolnie konfigurować, aby wyświetlić dane w zależności od potrzeb. Rys 6. Przykład wykresu liniowego Wykresy słupkowe (Rys 7) tworzone są najczęściej z wyników symulacji zapisanych w skalarach i histogramach. Dane mogą być grupowane. Kolory, typ wykresu i inne atrybuty można dowolnie edytować. 37

Rys 7. Przykład wykresu słupkowego Klasy do gromadzenia danych statystycznych OMNeT++ posiada wiele klas, które przeznaczone są do gromadzenia danych i wykonywania na nich różnych obliczeń. Główną klasa jest klasa cstatistic do której należą m.in. funkcje: samples() liczba zliczonych próbek sum() suma wartości weighst() suma wag min() najmniejsza zgromadzona dana max() największa zgromadzona dana mean() średnia arytmetyczna stddev() odchylenie standardowe recordscalar() zapis do pliku skalarów wyjściowych Z klasy cstatistic wywodzą się z klasy histogramów cvarhistogram, clonghistogram oraz cdoublehistogram, które posiadają funkcje m.in. ustawiania rozmiarów histogramów. Istnieje również klasa coutvector, za pomocą której można gromadzić wszelkie wartości zmienne w czasie jak np. długość kolejki, opóźnienia, czas kolejkowania. 38

Zadanie do samodzielnego przygotowania: W zadaniu do samodzielnego wykonania z lekcji 2 proszę dokonać odpowiednich modyfikacji pozwalających na gromadzenie statystyk dotyczących dysku twardego. Proszę gromadzić również statystyki dotyczące czasu odpowiedzi na żądanie wysyłane przez klienta czas ten definiowany jest jako czas od momentu wysłania żądania przez klienta do momentu otrzymania przez niego odpowiedzi. Proszę nauczyć się interpretować otrzymane i wyświetlone dane w programie Analysis. Uwaga! W celu otrzymania czasu odpowiedzi na żądanie wysyłane przez klienta należy skorzystać z funkcji obiektu cpacket. W wersji 4.2 funkcje zostały nieco zmodyfikowane, a mianowicie obecnie wykorzystuje się zamiast: arrivaltime() - getarrivaltime() oraz creationtime() - getcreationtime(). 39