2

Podobné dokumenty
1

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

Microsoft Word - Algoritmy a informatika-priesvitky02.doc

Microsoft Word - Transparencies03.doc

Klasická metóda CPM

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Operačná analýza 2

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

Algoritmizácia a programovanie - Príkazy

Prenosový kanál a jeho kapacita

Microsoft Word - Argumentation_presentation.doc

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

Paralelné algoritmy, cast c. 3

1

7/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min

Microsoft Word - skripta3b.doc

Relačné a logické bázy dát

Axióma výberu

Funkcie viac premenných

NÁVRH UČEBNÝCH OSNOV PRE 1

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

III. Diferenciálny počet funkcie viac premenných (Prezentácia k prednáškam, čast B) Matematická analýza IV (ÚMV/MAN2d/10) RNDr. Lenka Halčinová, PhD.

O možnosti riešenia deformácie zemského povrchu z pohladu metódy konecných prvkov konference pro studenty matematiky

Poznámky k cvičeniu č. 2

Paralelné algoritmy, cast c. 2

Pokrocilé programovanie XI - Diagonalizácia matíc

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNE

Úvod do lineárnej algebry Monika Molnárová Prednášky 2006

12Prednaska

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

Teória pravdepodobnosti Zákony velkých císel

Informačné technológie

Metrické konštrukcie elipsy Soňa Kudličková, Alžbeta Mackovová Elipsu, ako regulárnu kužeľosečku, môžeme študovať synteticky (konštrukcie bodov elipsy

Priebeh funkcie

Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

MO_pred1

03_ControlFlow.dvi

Katalóg cieľových požiadaviek k maturitnej skúške

Numerické riešenie všeobecnej (klasickej) DMPK rovnice.

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA

1 Portál pre odborné publikovanie ISSN Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika

Snímka 1

DIDKATICKÉ POSTUPY UČITEĽA

Snímka 1

Microsoft Word - Final_test_2008.doc

Operačná analýza 2

Matematika 2 - cast: Funkcia viac premenných

Podpora metód operačného výskumu pri navrhovaní systému liniek doc. RNDr. Štefan PEŠKO, CSc. Katedra matematických metód, Fa

Photo Album

9. kapitola Maticová algebra II systém lineárnych rovníc, Frobeniova veta, Gaussova eliminačná metóda, determinanty 1. Systém lineárnych rovníc Systém

4. Pravidlo ret azenia. Často sa stretávame so skupinami premenných, ktoré zložitým spôsobom závisia od iných skupín premenných. Pravidlo ret azenia p

Operačná analýza 2

A 1

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in

Resolution

PowerPoint Presentation

Microsoft PowerPoint - Paschenov zakon [Read-Only] [Compatibility Mode]

Tomáš Jelínek - včely vyhľadávanie

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r

SRPkapitola06_v1.docx

Microsoft PowerPoint - Prog_p08.ppt

Aktion.NEXT Novinky vo verzii 1.9

Manažment v Tvorbe Softvéru 2018/2019

Microsoft Word - Zaver.pisomka_januar2010.doc

Rozdeľovanie IT zákaziek UX Peter Kulich

História

Microsoft Word - Priloha_1.docx

Microsoft Word - 8.cvicenie.doc

1. KOMPLEXNÉ ČÍSLA 1. Nájdite výsledok operácie v tvare x+yi, kde x, y R. a i (5 2i)(4 i) b. i(1 + i)(1 i)(1 + 2i)(1 2i) (1 7i) c. (2+3i) a+bi d

SAEAUT SNMP OPC Server

gis5 prifuk

Microsoft PowerPoint - OOP_prednaska_10.pptx

1 Rekurencie este raz riesenia niektorych rekurencii z cvik. mame danu rekurenciu napr T (n) = at ( n b ) + k. idea postupu je postupne rozpisovat cle

Január 2012 (verzie ) Popis zmien v systéme PROLUC

Pravidelné úlohy verzia ku dňu SEAL IT Services, s.r.o. Kontakt: SEAL IT Services, s.r.o., Topoľová 4, Bratislava 1, tel.:

Microsoft Word - 6 Výrazy a vzorce.doc

Microsoft Word - 16.kapitola.doc

PowerPoint Presentation

trafo

Preco kocka stací? - o tom, ako sú rozdelené vlastné hodnoty laplasiánu v limite, ked sú velké

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st

Siete vytvorené z korelácií casových radov

O babirusách

Kolmogorovská zložitost

6

Úvodná prednáška z RaL

Stravné - přecenění

Republika Srbsko MINISTERSTVO OSVETY, VEDY A TECHNOLOGICKÉHO ROZVOJA ÚSTAV PRE HODNOTENIE KVALITY VZDELÁVANIA A VÝCHOVY VOJVODINSKÝ PEDAGOGICKÝ ÚSTAV

Paralelné algoritmy, cast c. 3

NSK Karta PDF

Prezentace aplikace PowerPoint

test z informatiky - hardvér Test vytvoril Stanislav Horváth Vstupno - výstupné zariadenia Otázka č.1: Aké zariadenie je na obrázku? (1 bod) a) vstupn

ETITRAFO Jednofázové bezpečnostné a izolačné transformátory Technické údaje ETITRAFO Jednofázové bezpečnostné a izolačné transformátory Energi

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

Externé mediálne karty Používateľská príručka

Algoritmizácia a programovanie - Štruktúrované údajové typy

Prepis:

B. Agent formálne opíšeme agenty (správania) tak, ako ich budeme používať pri špecifikácií zložitého systému. Na ich špecifikáciu použijeme formálny opis komunikačnej množiny KM agenta pomocou špeciálnych výrazov - komunikačných formúl, separáciu tzv. operačných stavov agenta zavedenie funkie (g) nastavujúcej operačný stav na konci exekúcie agenta, (teda hodnoty jednotlivých operačných stavových premenných Z i1, Z i2,, Z ij z množiny stavových premenných agenta). KM je množina všetkych možných komunikačných slov (časovaných V/V slov), typu (v1;e1;h1) (v2;e2;h2)...(vn;en;hn), ktoré indikuje system a okolie pri čiastkovom správaní opisovanom agentom Operačné stavy sú stavy operačnej časti primárnej architektúry navrhovaného digitálneho systému, ktorého čiastkové správanie agent špecifikuje. Koncový operačný stav q pre aktuálne vstupné slovo v (v komunikačnom slove w ) a daný začiatočný (globálny) stav s, je daný funkciou g q = g(s, v) 1

Entitami KM a g je agent kompletne definovaný (z hľadiska opisu správania v diskrétnom čase). Globálny stav tu chápeme ako dvojicu, ktorú tvorí tzv. riadiaci stav z množiny R ( stavov stavového stroja KSM vo formálnom modeli agenta) a operačný stav z množiny Q. Množina globálnych stavov S = R x Q = { s = (r, q) r є R, q є Q }. napr. pre Agent-1 v CPU: R = {<Contr>} = { IF0, IF1, IF2, OD}, Q = { q q = (<MBR>, <MAR>, <PC>, <IR>, <AC>) } S = RxQ = { (<MBR>, <MAR>, <PC>, <IR>, <AC>, <Contr>)} 2

Formálne modely agenta Stavový model agenta je pätica A = def (S, SI, KSM, Q, g) SI - množina začiatočných stavov je podmnožinou množiny globálnych stavov systému S = R x Q Q = { (<Z1>,., <Zk>); <Zr > є DZr, r = 1,2,, k)} je kompletná množina operačných stavov kde {Z1,Z2,,Zk} je množina operačných stavových premenných systému označovaná symbolom Z a R je množina riadiacich stavov KSM je riadiaci (komunikačný) stavový stroj agenta. Je opísaný päticou KSM = (SI, DV, DH, R,vs) DV a DH, je množina vstupných, resp. výstupných vektorov systému. Sú tvorené vektormi hodnôt primárnych vstupných, resp. výstupných premenných (portov) systému. R je množina riadiacich stavov, stavov KSM agenta A, pričom platí: Q R = Ø. vs je výstupná sekvenčná funkcia vs : SI x DV* DH* kde DV* a DH* sú množiny vstupných resp. výstupných slov (konečných reťazcov) 3

Funkcia vs každému začiatočnemu globálnemu stavu s a každému vstupnému slovu v priraďuje výstupné slovo h. Teda h = vs(s, v). Obidve slova v a h sú obsiahnuté v komunikačnom slove w Výstupnú sekvenčnú funkciou vs možno zostaviť pomocou výstupnej funkcie FSM, rozšírenej na vstupné slová vr : SI x DV* DH, ktorá každému stavu s z SI a každému vstupnému slovu v z DV* priraďuje (po dosadení do KSM) niektorý výstupný vektor h, teda h = vr(s, v). Pri dĺžke vstupného slova v lg=1 (teda jeden vstupný vektor) ide o jednoduchú výstupnú funkciu v : RxDV DH stavového stroja. Pre KSM možno zostaviť aj tzv. rozšírenú prechodovú funkciu pr, ktorá stavu s ε SI a vstupnému slovu v priraďuje stav po skončení tohto slova. pr : SI x DV* R Pri dĺžke vstupného slova lg=1 (teda pri jednom vstupnom vektore) pr plní funkciu jednoduchej prechodovej fukcie p: R x DV R Funkciu vs možno vypočítať pomocou funkcie vr takto: Pre začiatočný stav stav s, vstupné slovo v = v1v2v3.v(n-1)vn vs(s,v1v2v3.v(n-1)vn) = vr(s,v1) vr(s,v1v2) vr(s,v1v2v3) vr(s,v1v2v3.vn) = = h1h2h3 hn, kde h1h2h3 hn je potom výstupné slovo h, ktoré vracia sekvenčná funkcia vs pre daný stav s a vstupné slovo v. 4

Výpočet vs a vr možno urobiť pomocou jednoduchých funkcií v KSM: prechodovej funkcie p a výstupnej funkcie v. Sekvenčná funkcia vs je sekvenčným zobrazením, ktoré (1) zachováva dížku (lg) slov pre každý stav s є SI a každé vstupné slovo r є DV* platí: lg(vs (s, r)) = lg(r) (2) zachováva začiatočné úseky výstupných slov pre každý stav s є SI a pre každé dve vstupné slová r1 = p. b1 a r2 = p.b2 s rovnakým prefixom p platí: vs (s,r1) = u.c1 vs (s,r2) = u. c2 kde u je ten istý prefix a lg(u) = lg(p) Funkcia g agenta A je funkcia pre nastavenie operačných stavov z množiny Q g : SI x DV* Q funkcia g priraďuje pre každý začiatočný stav s a každé vstupné slovo v určitý operačný stav agenta q є Q. Agent A nastavuje zvyčajne hodnoty iba časti (niektorých) operačných stavových premenných z lokálnej množiny operačných stavových premenných agenta A. Je to podmnožina množiny Z (všetkých operačných premenných) - globálnej množiny operačných stavových premenných. Niektoré operačné stavové premenné môžu zároveň figurovať ako výstupné premenné systému (napr. DO v systéme VSYS). Primárne výstupy (porty), ktorých hodnoty agent A nastavuje môžeme nazvať lokálne primárne výstupy (porty) pre agent A. 5

Architektúra časti systému, ktorej veličiny sa týkajú daného agenta: FOČ a FRČ sú časti (fragmenty) OČ a RČ systému. KSM implementuje riadenie, pri ktorom sa dosahuje špecifikované správanie, teda výstupnú sekvenčnú funkciu vs. X i1 X i2 FOČ Yi1 Yi2 : Yis g nastavuje hodnoty lokálnych operačných premenných X ij r vs r ε R KSM q r X i1 X i2 : X ij g q q Zi1,.,Zir FRČ KSM implementuje komunikáciu zo strany agenta k okoliu. Opisuje V/V správanie Pamäť riadiacich stavov z množiny R Časovacie udalosti udalostie e Pamäťové prvky pre operačné stavové premenné z množiny Z 7

Algebrický model agenta (Mealyho alebo Moorov stavový stroj so zadaným SI) A =def (DV,S, SI, DH, p, v), kde S je množina globálnych stavov, SI je množina začiatočných (globálnych) stavov, p a v sú jednoduché funkcie: prechová resp. výstupná funkcia: p : R x DV R v : R x DV DH Takýto opis sme uviedli pri opise agentov Agent-1 a Agent-2 pri CPU. Pri formálnom opise agentov v praktických aplikáciách budeme v ďalšom používať 2 entity - komunikačnú množinu KM (obsahuje všetky komunikačné slová, ktoré sa môžu pri exekúcií agenta objaviť) a - funkciu g. Množina KM kompletne reprezentuje KSM a jeho stavový opis. Pri danom modeli predpokladáme že existuje preň vyšie uvedný stavový model A = def (S, SI, KSM, Q, g), ktorý mu zodpovedá. 8

Spôsoby praktického zápisu funkcie g Fukciu g, ktorá vracia vektory hodnôt lokálnych operačných stavových premenných rozpisujeme na jednotlivé stavové premenné, ktoré g v agente nastavuje (mení) hodnotu. Používame pritom priraďovacie príkazy typu: Z i := g i (s,w) ; i=1,..,k kde g i je funkcia, ktorá vstupnej časti komunikačného slova w a začiatočnému stavu s priradí hodnotu operačnej premennej Z i na konci exekúcie agenta, (teda pri akcii s koncovou časovacou udalosťou ef v každom aktuálnom komunikačnom slove w). Priraďovacie príkazy a funkcie g i je potrebné uvádzať iba pre lokálne operačné stavové premené. Napríklad pri systéme VSYS sa na konci agenta ReadIn nastaví iba stavová premená M takto: M := d1,...,d16, kde d1,...,d16 sú všetky hodnoty vstupu D, ktoré sa objavia vo vstupných častiach V/V slov v danej KM. Hodnota stavovej premennej DO sa nezmení. Komunikačná množina je vo všeobecnosti nekonečná. Možno ju však opísať pomocou konečných formúl. Budeme používať špeciálne procesné formuly, ktoré tu opíšeme. 9

Zjednodušenia v zápisoch komunikačných slov 1. Vektory (v;e;h) komunikačného slova nazývame akcie a budeme ich písať v tvare: ( A=a,...,G=g; e ; I=i,..., Y=y ) kde A,...,G resp. I,...,Y sú práve iba tie primárne vstupy resp. výstupy systém, ktorých konkrétne hodnoty a,...,g, resp. i,...,y je potrebné špecifikovať. Ak v akcii ani jeden vstup (výstup) nie je špecifikovaný, nahradíme celý vektor vektorom u (u= (u,..,u)). Ostatné premenné (napr. X, ktorá vystupuje v akcií takto: X = u) sa vynechajú. Môžu nadobúdať ľubovoľné hodnoty z domény príslušného údajového typu. Napríklad v sytéme VSYS sa možu objaviť v niektorom čase takéto akcie: (RD=1; up(clk=1); REQ=0), (D=d3,ACK=1; up(clk=1); REQ=1), (u; up(clk=1); RR=1), (CO=1; up(clk=1); u) a pod. Zápis (RD=1; up(clk=1); REQ=0) opisuje množinu akcií { (RD=1,CO= u, ACK=u D=u ; up(clk=1); REQ=0, RR=u, CR= u, DO=u) }, kde namiesto u je dosadená ľubovoľná hodnota CO=0 alebo CO=1,.,DO= d. 10

2. Pri opise synchrónnych systémov časovacie udalosti up(clk,1) ako všeobecnú (ako default udalosť) v akciách vynechávame, t.j., napr. namiesto (R=1; up(clk=1); REQ=0) píšeme zjednodušene: (R=1; ;REQ=0). 3. Akcie typu (...,X=d,..;up(X=d);...) zapíšeme jednoduchšie takto: (..,X=d,..; ;...), t.j. vypustíme zápis časovacej udalosti a príslušnú premennú X, v ktorej udalosť up(x=d) je časovacou udalosťou v danej akcií, podčiarkneme. Takýto spôsob je zaujímavý pri asynchrónnych systémoch a pri špecifikáciách na vyššej systémovej úrovni, kde metóda definície diskétneho času nie je ešte zaujímavá, t.j. nie je špecifikovaná; a teda určenie d-bodov času ponecháme iba na zmeny relevantných premenných. 11

Tvorba Formúl a definícia komunikačných výrazov Act = {a,b,c,d, } je množina akcií f ε FAct je koncová akcia, obsahuje koncovú časovaciu udalosť ef. FAct je podmnožina množiny Act. je symbol operácie zreťazenia komunikačných výrazov - aplikuje sa na dve komunikačné slová U = L1.f, V = r.l2.f, pričom U sa kočí koncovou akciou f a V sa začína akciou r a končí koncovou akciou f. Výsledkom zreťazenia U a V je komunikačná formula: U V = L1.r.L2.f zreťazenie akcií sme vyjadrili symolom. Zreťazenie komunikačných slov budeme v čase interpretovať nasledovne: a b c d f r s t k f U = L1.f L1 = a.b.c...d V = r.l2.f L2 = s.t...k a b c d r s t k f Vidno, že definované zreťazenie U V spojí komunikačné výrazy prepísaním koncovej akcie vo výraze U začiatočnou akciou r vo V. 12

Komunikačné formuly (výrazy) definujeme rekurzívne takto: 1. Ak f є FAct je komunikačná formula (ďalej len formula) 2. ak a є Act - FAkt a f є FAct, potom a. f je formula 3. ak U, V sú formuly, potom formuly sú aj U V (zreťazenie formúl) U + V (alternatívne spojenie) U*, U + (iterácie, t.j. ľubovoľný konečný počet opakovaní zreťazení U za sebou) U n (n násobné opakovanie zreťazenia U za sebou) 4. ak U je formula, X1, X2,, Xm sú premenné systému a 1- n je interval indexov potom formula je aj U 1 - n (X1,.., Xm) (n násobné opakovanie zreťazenia U s rôznymi hodnotami premenných X1, X2,, Xm pri jednotlivých opakovaniach) 5. ak U1 U2,,Ur sú formuly a p1,p2,..,pr sú predikáty definované na premenných systému, ktoré tvoria úplný disjunktný systém t.j. or (p1, p2,..., pr) = 1 a and (pi, pj) = 0, potom formula je aj p1: U1 # p2: U2 #...# pr: Ur (výber z U1 U2,,Ur podľa hodnoty predikátov p1,p2,...,pr - ako pri príkaze case of ) 6. ak U a V sú formuly, potom formula je aj U V (paralelná kompozícia formúl U a V) POZNÁMKA: Pri opisoch komumikačných množín pri nekonečných procesoch používame výraz typu (U) ω (nekonečné opakovanie zreťazení komunikačnej formuly U za sebou) 13

PRÍKLAD komunikačného výrazu (formuly): Komunikačnú množinu KM agenta ReadIn, ktorá je nezávislá na začiatočnom stave, možno opísať nasledujúcim komunikačným výrazom: (RD=1; ;REQ=0).(ACK=1; ;REQ=0) *.[(ACK=0; ;REQ=0)(ACK=0; ;REQ=1) +. (ACK=1, D=d; ;REQ=1).(ACK=1, D=d; ;REQ=0)(ACK=1; ;REQ=0) * ] 1-16(D). (u; ef; RR=1) bodku medzi akciami - zreťazenie akcií často vynechávame; vynechali sme aj indexovanú postupnosť udalostí up(clk=1, i) ako default časovaciu udalosť; 14

Komunikačné slovo z výrazu v hranatých zátvorkách sa 16 x opakuje, pričom v každom opakovaní sa inkrementuje index pri symbolickej hodnote d vo vstupnom porte D (RD=1; ;REQ=0).(ACK=1; ;REQ=0) *.[(ACK=0; ;REQ=0)(ACK=0; ;REQ=1) +. (ACK=1, D=dj; ;REQ=1).(ACK=1, D=dj; ;REQ=0)(ACK=1; ;REQ=0) * ] 1-16(D). (u; ef; RR=1) Po rozvinutí opakovacieho cyklu dostaneme takúto štruktúru výrazu: (RD=1; ;REQ=0).(ACK=1; ;REQ=0)...(ACK=1; ;REQ=0). [(ACK=0; ;REQ=0)..(ACK=0; ;REQ=1).(ACK=0;REQ=1)..(ACK=0; ;REQ=1).(ACK=1, D=d 1 ; ;REQ=1).(ACK=1, D=d 1 ;;REQ=0).(ACK=1; ;REQ=0). (ACK=1; ; REQ=0)]... [(ACK=0;;REQ=0).(ACK=0;;REQ=1)(ACK=0;;REQ=1)...(ACK=0;;REQ=1)( ACK=1, D=d 16 ; ;REQ=1) (ACK=1, D=d 16 ;;REQ=0).(ACK=1; ;REQ=0). (ACK=1; ; REQ=0)] (u;ef;rr=1). Symbolika "akcia...akcia" tu značí ľubovoľný alebo aj žiadny počet opakovaní akcie, čo vyplýva z iterácie * resp. +. Pri "žiadnom" opakovaní to chápeme ako vypustenie akcie na danom mieste zo slova. 15

Interpretácia Komunikačných Výrazov Každý komunikačný výraz môžeme zobraziť na množinu komunikačných slov. Interpretácia komunikačných formúl je zobrazenie Int : MKF MKSM, kde MKF je množina komunikačných formúl a MKSM je množina všetkých možných komunikačných množín KM Int(U) pre komunikačnú formulu U je potom množina komunikačných slov KM, ktoré formula U opisuje Int(U V) = Int(U) Int(V), kde značí zreťazenie komunikačných slov z Int(U) a Int(V), t.j. Int(U V) = { w U w V w U ε Int(U), w V ε Int(V) } Int(U + V) = Int(U) U Int(V) ( U je zjednotenie množín komunikačných slov) Predpokladá sa, že najmenej prvé akcie formúl U a V sú nekompatibilné p i ε {p 1,.., p k }: Int( p 1 : A 1 # p 2 : A 2 #.... # p k : A k ) = Int(A i ) p i =1 Int(V*) = λ U Int(V) U Int(V) Int(V) U Int(V) Int(V) Int(V) U... kde λ je tzv. prázdna akcia, t.j. ide o matematickú abstrakciu, komunikačné slovo s dĺžkou lg=0. V* - ľubovoľný konečný počet opakovaní (iterácií) formuly V, vrátane žiadneho opakovania; predpokladá sa, že vo formule V* U je prvá akcia nekompatibilná s koncovou akciou vo V. Int(V + ) = Int(V) U Int(V) Int(V) U Int(V) Int(V) Int(V) U. ľubovoľný konečný počet opakovaní kde V sa vyskytne aspoň raz; teda zrejme platí: Int(V + ) = Int(V V*) 16

Int(V n ) = Int(V) Int(V)... Int(V) n - násobné zreťazenie Int(V 1 - n (X1,,Xm) = Int(V1) Int(V2)... Int(Vn) n - násobné zreťazenie kde Vj, j=1,2,..,n, je formula, ktorá vznikne z V tak, že za symbolickú hodnotu d v každej z premenných X sa v akciách dosadí indexovaná hodnota d j. Int(U V) = Int(A) Int(V) paralelné (súbežne) vykonávané komunikácie 17

Algoritmická transformácia komunikačných výrazov na konečný KSM agenta 1. Nech a, b, c sú akcie z množiny Act - FAct a f je koncová akcia z FAact. Potom komunikačný výraz a.b.c.f sa transformuje na tento Mealyho FSM: a b c f a.b.c.f b.c.f c.f f 2. Výraz a.b*.c (c môže byť koncová akcia) sa transformuje na FSM : b a c a.b*.c b*.c 3. Výraz a.b +.c sa po nahradení ekvivalentným výrazom a.b.b*.c transformuje na nasledujúci FSM. a b b c a.b.b*.c b.b*.c b*.c 18

4. Nasledujúci kom. výraz je opísaný vo formálnom jazyku HSSL. CS v HSSL značí komunikačnú množinu KM agenta Readin systému VSYS. iv a ov sú opisy vstupných resp. výstupných vektorov a te je časovacia udalosť v akcii. CS { { start.(ack0. req1 +.data.req0 + )#(j=0:15). end } //výraz KM action start { iv: St=1; te: up(clk,1); } // opis akcií action ack0 { iv: Ack=0; te: up(clk,1); ov: Req=0 } action req1 { iv: Ack=0; te: up(clk=1); ov: Req=1 } action data { iv: Ack=1, D = d[j]; te: up(clk,1); ov: Req=1 } action req0 { iv: Ack=1; te: up(clk,1); ov: Req=0 } action end { iv: Ack = 0; te: ef; req=0} } Pre tento komunikačný výraz algoritmus transformácie na FSM vracia nasledujúci prechodový graf CS G start ack0 Prvá exekúcia opakovacej slučky first j = the 0:15 repetition The last, (15th) Posledná (16.) exekúcia G1 G1 1 G1 15 req1 req1 req1 req1 G2 req1 G2 1 req1 G2 15 G2 G3 data(0) G2 1 G3 1 data(1) G2 15 G3 15 data(15) req0 req0 req0 Prechodový graf možno zjednodušiť G4 req0 G4 ack0 G 4 1 req0 G4 1 ack0 G4 15 req0 G4 15 end E 19

ak zavedieme indexovanú vnútornú slučku (napr. typu do until j=0) začínajúcu s nastavením indexu j = 0 s inkrementivaním j pri každom behu (v module 16). Index j možno vsunúť ako vstup. Prechodová tabuľka zjednodušeného stavového stroja: Súč.stav, vst. vekor ; výst. vector ; nasled.stav CS, St = 1 ; u ; G G, Ack = 0, j=0 ; Req = 0 ; G1 G1, Ack = 0 ; Req = 1 ; G2 G2, Ack = 0 ; Req = 1 ; G2 G2, Ack = 1, D=dj ; Req = 1 ; G3 G3, Ack = 1, j=j+1 ; Req = 0 ; G4 G4, Ack = 1, ; Req = 0 ; G4 G4, Ack = 0, j 0 ; Req = 0 ; G1 G4, Ack = 0, j = 0 ; Req = 0 ; E E, u ; u ; E 20

Transformácia komunikačných výrazov na časové priebehy veličín v diskrétnom a v spojitom čase. V agente ReadIn to vyzerá pri čítaní konkrétneho čísla d 1 agentom takto: Clk St Ack Req Data data[0] data[1] data[2] V prípade komunikácie na obrázku ide o takéto konkrétne komunikačné slovo. Zrejme patrí do množiny KM (Start =1, Ack=1; 1 ;Req=0).(Ack=0; 2 ;Req=0).(Ack=0; 3 ;Req=1 ). (Ack=0; 4 ;Req=1). (Ack=1,D=d 1 ; 5 ;Req=1).(Ack=1,D=d 1 ; 6 ;Req=0). (Ack=1; 7 ;Req=0). (Ack=0; 8 ;Req=0)...atď. 21

Časový priebeh signálov (hodnôt premenných) sa dá s cyklovou presnosťou získať algoritmickou transformáciou (pri určenom alebo predpokladanom počte iterácií) z komunikačnej formuly. Po doplnení o časovacie pravidlá možno generovať časové priebehy aj s presnosťou v reálnom čase, o čom je potrebné uvažovať na nižších úrovniach návrhu. PRÍKLAD 4 Prechodová tabuľka KSM pre Agent-1 (vyčítanie inštrukcie pre CPU z externej RAM pamäti) Stav Hodnoty vstupov ; hodnoty výstupov Nasledujúci stav IF0 Wait = 0 ; u IF0 IF0 Wait = 1 ; RD/WR=1,Req=1,A=PC IF1 IF1 Wait = 1 ; RD/WR=1,Req=1,A=PC IF1 IF1 Wait = 0, D=d ; Req=0 IF2 IF2 Wait = 0 ; u IF2 IF2 Wait = 1 ; u OD OD u ; u -- 22

Stavový stroj KSM sme odvodili z komunikačnej formuly pre Agent-1: (Wait=0; ;u)*.(wait=1; ; A=PC, Req=1,Rd/Wr=1)..(Wait=1; ; A=PC, Req=1,Rd/Wr=1)*. (Wait=0, D=d; ; Req=0)..(Wait=0; ;Req=0)*.(Wait=1; ef; u); Odvodená množina riadiacich stavov KSM je R = { IF0, IF1, IF2, OD}. Stav IF0 je začiatočný,v ktorom je <PC> = a (hodnota PC - adresa pri štarte Agenta-1). V koncovom stave OD podľa funkcie g platí: IR := D (<D> = d), PC := PC + 1, Komunikačnú formulu interpretujeme ako množinu (KM) všetkých možných komunikačných slov, ktoré sa môžu indikovať pri vykonávaní agenta Agent-1. Vzor akéhokoľvek komunikačného slova z tejto množiny je takýto: (Wait=0; ;u)... (Wait=0; ;u). (Wait=1; ; A=PC, Req=1,Rd/Wr=1)...(Wait=1; ; A=PC, Req=1,Rd/Wr=1)...(Wait=1; ; A=PC, Req=1,Rd/Wr=1).(Wait=0, D=d; ; Req=0).(Wait=0; ;Req=0)..(Wait=0; ;Req=0).(Wait=1; ef; u); 23

Časové priebehy premenných zodpovedajúce komunikácií môžu v d-čase a aj v spojitom čase vyzerať takto: Konkrétne komunikačné slovo zodpovedajúce časovým priebehom sa vyvíja od d-bodu 2 (prvá fáza Res = 1 v bode 1 nie je uvažovaná) (Wait=0; 2 ;u) (Wait=0; 3 ;u)(wait=0; 4 ;u).(wait=1; 5 ;A=PC, Rd/Wr=1, Req=1)..(Wait=1; 6 ;A=PC, Rd/Wr=1, Req=1). (Wait=1; 7 ;A=PC,Rd/Wr=1,Req=1)..(Wait=0,D=d; 8 ;Req=0)(Wait=0; 9 ;Req=0). (Wait=1; 10 ef; u) 24

Jednoduchý agent, jednocyklový agent - mikrooperácia Jednoduchý agent má v množine komunikačných slov špecifikovaný práve iba jeden vstupný vektor a prípadne iba jeden výstupný vektor. napr. agent ReadIn-0 KM = (RD=1,DI=d 1,...,d 16 ; es; u)(u; ;u) * (u ; ef; RR=1) g: M := d 1,...,d 16 Vstupný port DI (pozri obr. dole) prenáša celé pole dát d 1,...,d 16 paralelne na začiatku a ďalšie dáta neakceptuje. Na konci vysiela výstup RR = 1. DI DO RD RR CO CR VSYS Jednocyklový agent - jednoduchý agent, ktorého komunikačné slová majú dĺžku 2. Napríklad, nech KM v prípade agenta ReadIn-0 je opísaná takto: KM = (RD=1, D=d 1,...,d 16 ; ; u)(u ; ; RR=1) Tu sme za časovacie udalosti použili es = up(rd=1) a ef = up(rr=1). Mikrooperáciou je jednoduchý (často jednocyklový) agent, pri ktorom 2 susedné d-body vymedzujú najkratší, ďalej už nedeliteľný časový cyklus (mikrocyklus). Pri synchrónnych systémoch je daný napr. udalosťami up(clk,1, j) a up(clk,1, j +1). 25

Prázdny agent EA je jednocyklový agent, ktorý nevykoná "žiadne spracovanie informácie". Teda uchováva stav, nešpecifikuje výstup a trvá práve jeden cyklus. Vstupné vektory v oboch d-bodoch t a t+1 môžu byť pritom akékoľvek. Dôležitá poznámka: Upozorňujeme na podstatný rozdiel medzi nulovým agentom NA (pozri Algebra agentov) a prázdnym agentom EA. Nulový agent je matematickou abstrakciou; je definovaný (trvá) iba v jednom d-bode a s є S je KM = {(u; ef; u)}, kde ef je začiatočná aj koncová časovacia udalosť agenta. 26