View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

Meta-object protocol specification

Tady se pokusím o nastínění základního meta protokolu systému PNtalk. Meta-protokol se bude pochopitelně dále a neustále vyvíjet a vylepšovat, v současné době však potřebujeme dát dohromady jeho základní podobu.

Základní struktura meta-úrovně vypadá následovně:
    PNtalkProcessor  <---->  PNtalkWorld  <---->  PNtalkObject

Pokud s objektem PNtalkObject komunikuje jiný objekt (tedy ne svět), děje se tak prostřednictvím tzv. Proxy objektů:
                         PNtalkObject
                 ______________|______________
               /                              \
               |                              |
       PNtalkObjectProxy               PNtalkMetaProxy

Identifikace komponent

Každá komponenta má jednoznačnou identifikaci v rámci adresového prostoru své nadřazené komponenty.Absolutní identifikátor komponenty je tvořen hierarchicky. Je složen ze sekvence identifikací jednotlivých komponent nadřazených identifikované komponentě.

Identifikátor komponent:
PNtalkProcessor NID IP adresa uzlu ?? (co když je uzlů víc na 1 stroji – je možné??)
PNtalkWorld WID číslo jedinečné v rámci uzlu
PNtalkObject OID číslo jedinečné v rámci světa
PNtalkProcess PID číslo jedinečné v rámci objektu
PNtalkPlace PlaceID číslo jedinečné v rámci procesu s prefixem P
PNtalkTransition TransID číslo jedinečné v rámci procesu s prefixem T
PNtalkTransitionInstance TransInstID číslo jedinečné v rámci procesu s prefixem I

Příklad absolutního identifikátoru objektu: NID.WID.OID

Společný protokol pro všechny komponenty:

Q name identifikace komponenty (číslo nebo symbol)
Q listComponents vrací kolekci identifikací subkomponent
Q componentNamed: vrací subkomponentu nalezenou podle identifikace
NS addComponent: přidá subkomponentu
NS removeComponentNamed: odstraní subkomponentu nalezenou podle identifikace

Když metoda selže -> výjimka??

Meta-protokol komponent



Link to this Page