Richard Lipka Department of Computer Science and Engineering Faculty of Applied Sciences University of West Bohemia, Pilsen, Czech Republic 1.

Slides:



Advertisements
Podobné prezentace
(instance konkrétní třídy)
Advertisements

Stručný úvod do UML.
Windows 8 ZMVS. Windows 8 Nové 3D uživatelské rozhraní s kódovým názvem Wind. Nové uživatelské rozhraní bude požadovat minimálně 170MB video paměti a.
Programovací jazyk C++
Vstupy a výstupy v JavaScriptu Vstup: použitím metody prompt objektu window čtením hodnot z položek formuláře Výstup : použitím metody alert objektu window.
M. Štulc, J. Šváb, J. Kolena SIMULACE OPERAČNÍHO SYSTÉMU
ÚVOD DO CPP 7 Dědičnost - pokračování
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
Softwarový systém DYNAST
SLUŽBY Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.
Uživatelská rozhraní Uživatelská rozhraní 9. cvičení.
PJV151 Vnořené a vnitřní členy mohou být členy tříd a interfejsů. Je-li X obalem Y a Y je obalem Z, pak Z získá jméno X$Y$Z - kompilací vzniknou classy.
C++ Přednáška 3 Konstantní a statické členy tříd, ukazatel this, konstantní instance třídy Ing. Jiří Kulhánek , kat. 352, VŠB TU Ostrava 2004.
Lekce 9 Metoda molekulární dynamiky III Technologie Osnova 1. Výpočet sil 2. Výpočet termodynamických parametrů 3. Ekvilibrizační a simulační část MD simulace.
Projekt Podpora stáží a odborných aktivit při inovaci oblasti terciárního vzdělávání na DFJP a FEI Univerzity Pardubice CZ.1.07/2.4.00/ TENTO PROJEKT.
Čtvrté cvičení Objektové programování Objektový model v Javě
Vedoucí:Dr.Ing.Bronislava Horáková Řešitel:Bc.Ondra Richard.
Programování PA - 2.
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
Chain of responsibility Martin Malý prezentace na předmět Návrhové vzory (PRG024) na MFF UK
State. State – kontext a problém Kontext  chování objektu má záviset na jeho stavu, který se typicky mění za běhu Neflexibilní řešení  metody obsahují.
Páté cvičení Dědičnost Interface Abstarktní třídy a metody
Vývoj aplikací pro SharePoint
Richard Lipka Katedra informatiky a výpočetní techniky Fakulta aplikovaných věd Západočeská univerzita, Plzeň 1.
Objektové programování
Jaroslav Šnajberk, Přemek Brada
Operační systémy.
Jedenácté cvičení Vlákna. Java cv112 Vlákna Operační systém Mutitasking – více úloh se v operačním programu vykonává „současně“ Java Multithreading -
08/04/20151 Delegáty (1) Delegát (delegate) je datový typ, který definuje signaturu metody Delegáty bývají rovněž označovány jako typo- vě bezpečné ukazatele.
Composite [kompozit, ne kompozajt]. Composite Výslovnost  kompozit, ne kompozajt Účel  Popisuje, jak postavit hierarchii tříd složenou ze dvou druhů.
Memento. Obnovení operačního systému ( Windows | Linux...) Všichni víme, co jsou transekce v databázi Memento – zálohování databáze.
Představujeme Ensemble Michal Tomek. Na tomto obrázku vidíte, co systému Ensemble chybí:
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
Návrhový vzor Factory v JAVA API Martin Kot Katedra informatiky VŠB – Technická univerzita Ostrava
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
OSNOVA: a) Přetížení členských funkcí b) Dědičnost tříd Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování 2 pro obor EST BPC2E.
Dědičnost - inheritance dědičnost je jednou z forem znovupoužitelnosti dědičnost je jednou z forem znovupoužitelnosti B A Třída A je předkem třídy B Třída.
HUMUSOFT s.r.o. Konference WITNESS Setkání uživatelů programu WITNESS Hotel Valáškův Grunt, Kozov
Metodika objektového přístupu při tvorbě překladačů. Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
Tvorba simulačních modelů. Než vznikne model 1.Existence problému 2.Podrobnosti o problému a o systému 3.Jiné možnosti řešení ? 4.Existence podobného.
Šesté cvičení Výjimky Balíky.
Automatizace testovacích procesů Petr Boháček a Ivo Řezníček.
Principy OOP Objektově orientované programování vychá-zí ze třech základních principů (rysů): zapouzdření (encapsulation) dědičnost (inheritance) polymorfismus.
Richard Lipka Department of Computer Science and Engineering Faculty of Applied Sciences University of West Bohemia, Pilsen, Czech Republic.
Department of Electrical Engineering Název projektu/publikace Jméno Příjmení.
Návrh podle kontraktu - klasická metodika a moderní nástroje Tomáš Pitner Masarykova univerzita v Brně Fakulta informatiky
S CENARIO - BASED METHODOLOGY FOR COMPARISON OF THE SOFTWARE TRAFFIC CONTROL AGENTS Seminář DSS – Richard Lipka.
Přístup do IS z mobilních zařízení Tomáš Tureček Katedra Informatiky FEI VŠB-TU Ostrava.
Pokročilé programování v C++ (část B)
OPERAČNÍ SYSTÉMY.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Tomáš Skopal GIS řízený toky dat Tomáš Skopal
Aktuální stav vývoje extenze Urban Planner Jaroslav Burian First StatGIS conference.
C – procedury Mgr. Lenka Švancarová.
Modifikovaný dynamický model pro řešení technicko-ekonomických úloh s použitím rizik a nejistot Modifikovaný dynamický model pro řešení technicko-ekonomických.
Observer Martin Dráb Návrhové vzory, Co to je?  Definuje závislost 1:N mezi objekty  Závislé objekty jsou informovány o změně stavu  Konzistentní.
C-Sim verze 5.0. Charakteristika Softwarový nástroj pro simulaci v diskrétním čase Použitá metodou paralelních procesů Navržen podle vzoru jazyka SIMULA.
Strategy. Motivace Různé algoritmy pro stejnou akci Hromada kódu v mnoha podmínkách Důsledky  Komplexnost  Špatná čitelnost  Těžká správa kódu  Těžka.
Template Method. Motivační příklad – reálný svět Čaj 1) Uvař vodu 2) Dej do hrnku sáček čaje 3) Zalij hrnek 4) Přisyp cukr a vymačkej citrón Káva 1) Uvař.
1 Principy simulace Definice Koncepce tvorby modelů Obecné charakteristiky.
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA:
Testování aplikací v Javě Petr Adámek IBA CZ, s.r.o. © 2010.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Programovací jazyk C++
Y36PJC Programování v jazyce C/C++
Název projektu/publikace
Návrhový vzor Flyweight
Strategy „Definujte rodinu algoritmů, zapouzdřuje je aby byly vzájemně zaměnitelné. Strategie umožňuje, aby se algoritmus nebyl závislý na klientech, kteří.
C# přehled vlastností.
Transkript prezentace:

Richard Lipka Department of Computer Science and Engineering Faculty of Applied Sciences University of West Bohemia, Pilsen, Czech Republic 1

> Základní koncepty > Přehled důležitých tříd SimCa > Tvorba simulované komponenty > Tvorba intermediate komponenty > Zapojení do aplikace 2

> Simulované komponenty běží ve vláknech > Běh vláken řízen kalendářem > Simulovaná komponenta se po vyvolání uspí a po vyvolání kalendářem provede „scénář“ > Intermediate komponenta vytvoří událost pro volání reálné, uspí se, provede reálnou akci a vytvoří událost pro návrat hodnoty 3

> Simulace komponent > Pro urychlení výpočtu (komprese) > Potenciálně automaticky generovatelné > Pro interakci s okolím > Simulace vstupu od uživatele > Simulace síťových a dalších rozhraní která nejsou během testování k dispozici > Vyžaduje tvorbu netriviálních scénářů > Problém při složitějších zapojeních > Vyžaduje splnění behaviorálního modelu 4

> core > Jen rozraní mezi jádrem a GUI, nic víc > extension > Simulační kontext SimCoContext, řízení běhu vláken, podpora načítání scénářů, definice typů > gui > Celé grafické rozhraní > scheduler > Implementace kalendáře CalendarImpl, podpora práce s ním, řízení běhu simulace SimcoSimulation, logování > Simco > Abstraktní třídy a rozhraní pro simulované komponenty, EventCreator pro tvorbu událostí 5

> ABaseSimObject > Vložení události volání a návratu do kalendáře > AIntermediate > Zachycení volaných metod, určení událostí a bundlů > ASimco > Tvorba událostí pro volání reálných a simulovaných komponent > Řízení běhu simulované komponenty > Zachycení volaných metod, určení zdroje 6

> Potomek třídy ASimco, musí implementovat rozhraní simulované komponenty > V konstruktoru předat reference na kalendář ( ICalendar ), simulační kontext ( ISimCoContext ) a tvorbu událostí ( EventCreator ) > Volání metody > Zachycení volané metody > Naplánování zpoždění > Simulační běh komponenty 7

public Vector getVector() { this.simcoCatchEvent(); this.simcoDelay(); Vector vector_temp = new Vector (); for(AccelerometerVector vector : this.vectors) { vector_temp.add(vector); } this.vectors.removeAllElements(); return vector_temp; } 8

9

> ASimco.CatchEvent() > Zachycení a tvorba události pro kalendář > Získání jména ze StackTrace → obecné > Podle toho koho volá vytvoří > Reálnou událost > Simulovanou událost pokud volá další simulovanou komponentu > Vloží událost do kalendáře > Kontrola zařazení do skupiny 10

> ASimco.simcoDelay() > Získání jména volané metody > Uspání simulační komponenty > Vytvoření události simulovaného návratu hodnoty a vložení do kalendáře > Pokud se má odehrát okamžitě, probuzení kalendáře aby ji vyvolal 11

> Potomek třídy AIntermediate, musí implementovat rozraní zakryté komponenty > Konstruktor jako simulovaná komponenta, navíc potřebuje referenci na zakrytou komponentu > Volání metody > Vytvoření simulační události volání > Skutečné volání a získání návratové hodnoty > Vytvoření simulační události návratu hodnoty > Návrat hodnoty z reálné komponenty 12

public int getCountOfSteps() { SimulationEvent event = this.intermediateRealEventCatch(); int stepsCount = calculator.getCountOfSteps(); this.intermediateReturnEventCatch(event); return stepsCount; } 13

14

> AIntermediate.intermediateRealEventCatch() > Získá jméno volané metody ze StackTrace a ID bundlu > Vytvoří událost pro kalendář – kdy má v simulačním čase dojít k volání > AIntermediate.intermediateReturnEventCatch() > Vloží do kalendáře událost návratu hodnoty 15

> Rozhraní ICalendar, implementace scheduler.CalendarImpl > Umožňuje jeden krok nebo plynulý běh simulace > Podle typu událostí je volá přes EventsInvoker > invokeCasualEvent() – jedno volání metody > invokeRegularEvent() – volání metod ze scénáře > invokeReturnEvent() – událost s návratem hodnoty 16

> Manifesty pro OSGi se měnit nemusí > SpringDM > Pro simulované komponenty > V popisu simulované komponenty uvést že poskytuje potřebnou službu > V popisu reálné komponenty umazat že poskytuje potřebnou službu > Pro intermediate komponenty > U intermediate komponenty vznikne nová služba se stejným rozhraním jako u zakryté komponenty, navíc ale s parametrem: > U těch kdo službu využívají přibude nastavení filtru: 17

> V každém bundlu v kořeni XML soubor jmenoSettings.xml > V něm popis bundlu – třídy jaké poskytuje > Nastavení metod, které se budou opakovaně volat (pro scénáře) > I pro reálné bundly > Celkový soubor s popisem > Seznam a odlišení typů bundlů > Seznam událostí které se mají volat, nastavení period pokud je potřeba 18

19