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