SWI086 Jazyk SDL a programování řízené událostmi

Anotace a syllabus

zimní semestr 2002/2003
pondělí 12:20 - 13:50, učebna K3


Výsledky ankety


Nástroj Telelogic SDL Suite

Je nainstalován na Barboře (část volně přístupná studentům) na "velkych" počítačích. Pracuje se na tom, aby byl pristupny i z koleje.

Zápočty

Vzhledem k tomu, ze software Telelogic SDL Suite stale jeste v laboratori nebezi a nejsem schopen toto zmenit ani rict, kdy se tento stav zmeni, nepovazuji za vhodne trvat na puvodne oznamenych podminkach ziskani zapoctu a menim je takto:
Zapocet ziska ten, kdo jeden z nabidnutych zapoctovych programu (prip. nejaky dalsi, po domluve) castecne zpracuje v SDL na papire. Castecnym zpracovanim se rozumi nakresleni celeho systemu se vsemi bloky a vsemi procesy, pricemz chovani procesu nemusi zabihat do detailu. Protoze na papire nefunguje syntax-checking, netrvam na stoprocentne spravne syntaxi SDL.
Budete-li mit zapoctovy program zpracovany, ozvete se mi e-mailem a domluvime se na terminu, ve kterem mi sve reseni vysvetlite. Zaroven posouvam puvodni termin odevzdani z 30. kvetna na 13. cervna 2003.

Dekuji a omlouvam se za komplikace.

Mgr. Petr Olmer, KTIML
29. 4. 2003

Typicky mivam cas kazdy ctvrtek, ale je mozne se domluvit i na jinem terminu.

Zapoctove priklady

Rozvrhovaci agenti (simulace)

Simuluje se on-line rozvrhovani. Kazdy agent (instance procesu) obsluhuje jeden stroj, ktery zpracovava joby. Pocet agentu je pevne dany. Za behu systemu prichazeji do systemu nove joby. Job obsahuje sve id, mnozinu stroju, na kterych lze job provest (vybere se jeden z nich), delku jobu a mnozinu id jobu, ktere musi byt hotovy driv, nez se zacne zpracovavat tento.
Ukolem je napsat system, ktery bude obsahovat takoveto agenty (vsichni "strojovi" agenti jsou stejni, jsou to tedy instance jednoho procesu), plus vstupniho agenta, do ktereho budou prichazet pozadavky na zpracovani jobu (on-line od uzivatele, ze souboru, prip. nejakym generatorem). Cilem je zpracovat vsechny joby bez deadlocku (pripadne oznamit deadlock, pokud je nevyhnutelny) v rozumnem case - nejde o optimalizaci (nejlepsi cas), ale aby napr. kdyz job mohou vykonavat stroje A nebo B a A je zrovna vytizeny jinym jobem, zpracuje tento job stroj B.
Priklad ma tri varianty: a) s masterem: V systemu je navic jeden hlavni (master) agent, ktery rozhoduje o tom, kdo bude jaky job zpracovavat. Strojovi agenti komunikuji pouze s masterem, ne mezi sebou.
b) blackboard: V systemu existuje proces "tabule", ktery sam nic nerozhoduje, ale vsichni agenti k nemu maji pristup a mohou s jeho pomoci sdilet informace. Tabule muze umet strojove agenty na nejakou novou informaci upozornit, ale neumi pridelovat joby. Strojovi agenti komunikuji pouze s masterem, ne mezi sebou.
c) bez mastera: Vsechno si zarizuji strojovi agenti sami, zadny dalsi agent (krome vstupniho) v systemu neni. Strojovi agenti spolu komunikuji. V tomto pripade je potreba predem definovat komunikacni sit agentu, aby nekomunikoval kazdy s kazdym (doslo bz k prehlceni systemu). Takova sit muze byt modelovana datovou strukturou nebo procesem.

Multi-agentni systemy (simulace)

(pozdeji)

Dynamicke systemy (simulace)

6c6c6ca) banka
b) samoobsluha (zakaznici)
c) samoobsluha (dodavatele)
d) tramvaje

Dynamicke systemy (preklad)

To same jako simulace, ale vysledkem bude vygenerovany prelozitelny kod v C - je potreba vyladit datove typy, navazat na SDL system ceckove I/O rutiny atp. Narocnost zadani se umerene snizuje dle domluvy.

Průběh přednášek

1. přednáška, 4. listopadu 22002

Úvod do SDL.

2. přednáška, 11. listopadu 2002

6c6c6cMSC.

3. přednáška, 18. listopadu 2002

Procesy.

4. přednáška, 25. listopadu 2002

Zapoctove priklady.

5. přednáška, 2. prosince 2002

Data. Cas. Simulace realna a diskretni.

Kontakt

Petr Olmer
Katedra teoretické informatiky a matematické logiky
Malostranské náměstí 25, 2. patro, č. dveří 207
telefon 221-914-251
6ce-mail petr@olmer.cz

Konzultace po dohodě na výše uvedené adrese.



Petr Olmer, 26. kvetna 2003