elektronická verzia publikácie - FIIT STU - Slovenská technická ...
elektronická verzia publikácie - FIIT STU - Slovenská technická ...
elektronická verzia publikácie - FIIT STU - Slovenská technická ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Znovupoužitie návrhových vzorov na úrovni modelu 145<br />
SP = {<br />
element(ConcreteSubject, ConcreteSubjectSet),<br />
element(ConcreteObserver, ConcreteObserverSet)<br />
}<br />
QP = {<br />
forall(element(ConcreteSubject, ConcreteSubjectSet), CS),<br />
forall(element(ConcreteObserver, ConcreteObserverSet), CO)<br />
}<br />
CS = {<br />
class(ConcreteSubject),<br />
inherit(Subject, ConcreteSubject),<br />
variable(ConcreteSubject, private, subjectState),<br />
method(ConcreteSubject, public, GetState),<br />
return(ConcreteSubject, GetState, subjectState)<br />
}<br />
CO = {<br />
class(ConcreteObserver),<br />
inherit(Observer, ConcreteObserver),<br />
variable(ConcreteObserver, private, subject, Subject),<br />
variable(ConcreteObserver, private, observerState, DataType),<br />
method(ConcreteObserver, public, update, void),<br />
invoke(ConcreteObserver, update, subject, GetState),<br />
invoke(ConcreteObserver, ConcreteObserver, subject, attach),<br />
invoke(ConcreteObserver, destructor, subject, detach)<br />
}<br />
Tabuka 5-3 obsahuje opisuje spôsob realizácie operácií, ktoré sú definované nad opísaným<br />
modelom Štrukturálneho kontraktu.<br />
Tabuka 5-3. Operácie vykonávané nad Štrukturálnym kontraktom.<br />
Operácia<br />
Inštanciácia<br />
Evolúcia<br />
Integrácia<br />
Spôsob realizácie operácie<br />
Inštancie definovaných návrhových vzorov sa vytvárajú nahradením všeobecných<br />
konštánt reprezentujúcich role vzoru názvami konkrétnych<br />
inštancií.<br />
Evolúcie definovaných inštancií návrhových vzorov sa realizujú doplnením<br />
alebo odstránením konštánt a predikátov.<br />
Integrácia inštancií je realizovaná zjednotením množín všetkých konštánt<br />
a predikátov integrovaných inštancií. Na to, aby mala integrácia zmysel je<br />
potrebné, aby prienik týchto množín nebol prázdny.<br />
Kontrakt správania<br />
Kontrakt správania opisuje dynamické informácie ako kooperácia medzi objektmi zúastnenými<br />
v návrhovom vzore i vytváranie nových objektov. Modeluje sa pomocou kolaborácií<br />
skupín objektov hrajúcich rôzne role a pracujúcich na vykonaní spolonej innosti.<br />
Na vytváranie formálneho sémantického modelu Kontraktu správania autori zvolili<br />
procesný kalkulus pre jeho možnosti modelova správanie a súbežné spracovanie. Procesný<br />
kalkulus umožuje hierarchický opis procesov, ktorý je možné verifikova, analyzova<br />
a odvodzova nad ním. Ako konkrétny procesný kalkulus bol zvolený CCS [24], pre silu<br />
jeho modelovacieho jazyka a dobrú podporu nástrojov urených na kontrolu modelov.<br />
Pre potreby prístupu je CCS syntax nasledovná: