Você está na página 1de 66

Prima pagin arat altfel, nu punem desene.

Am formatat fiierul confirm cerinelor (A4, margine de 2,5 peste tot, scris la 1,5
rnduri, justified, Times New Roman, font de 12, fr formatri la titluri, doar cu dimensiuni
diferite)

Error: Reference source not found

Contents
Lista de Tabele.....................................................................................4
Lista de Figuri......................................................................................5
1

INTRODUCERE................................................................................6
1.1 Istoricul Conceptului de Cas Inteligent.....................................................6
1.2 Domeniile folosite n conceptul de casa inteligent.....................................6
1.3 Cerinele temei proiectului actual................................................................6

STUDIU BIBLIOGRAFIC....................................................................7
2.1 Case inteligente........................................................................................... 7
2.2 Sisteme senzitive la context.........................................................................9
2.2.1 Concepte de baz..................................................................................9
2.2.1.1 Context............................................................................................9
2.2.1.2 Senzitivitate la context....................................................................9
2.2.1.3 Sistem Senzitiv la Context...............................................................9
2.2.2 Paradigma Ubiquitous Computing........................................................10
2.2.2.1 Definiii.......................................................................................... 10
2.2.2.2 Caracteristici..................................................................................10
2.2.3 Ontologie............................................................................................. 11
2.2.3.1 Definiii.......................................................................................... 11
2.2.3.2 Caracteristici..................................................................................11
2.2.4 Ageni senzitivi la context....................................................................12
2.2.4.1 Paradigma agentului......................................................................12
2.2.4.2 Ageni BDI......................................................................................12
2.3 Arhitecturi de sisteme senzitive la context.................................................13
2.3.1 Arhitecturi de sisteme senzitive la context locale................................13
2.3.1.1 Modelul arhitectural stratificat Context Stack.............................13
2.3.2 Arhitecturi de sisteme distribuite senzitive la context..........................15
2.3.2.1 Serviciile Web Semantice...............................................................16
2.3.2.2 Arhitectura Serviciilor Web Semantice...........................................17
2.4 Medii de dezvoltare ale aplicaiilor senzitive la context..............................19
2.5 Aplicaii n domeniul caselor inteligente.....................................................20
2.6 Dificulti i riscuri ntmpinate n crearea aplicaiilor senzitive la context 22
2.7 Proiecte ample de cercetare n desfurare...............................................23

FUNDAMENTARE TEORETIC..........................................................26
3.1 Modelarea formal a contextelor................................................................26
3.1.1 Ageni bazai pe cunotine..................................................................26
3.1.1.1 Baze de date de cunotine............................................................26
3.1.2 Reprezentarea cunotinelor................................................................27
3.1.3 Folosirea ontologiilor n modelarea contextelor....................................28
3.1.3.1 Modelarea contextului cu ontologii................................................28
3.1.3.2 Proiectarea ontologiilor de context.................................................29
3.1.3.3 Limbajul OWL.................................................................................32
3.1.4 Extensii probabilistice ale ontologiilor..................................................33
3.2 Metode folosite pentru modelarea bazelor de cunotine...........................36
3.2.1 Metodologii existente pentru crearea bazelor de cunotine................36
3.2.2 Unelte de dezvoltare a ontologiilor.......................................................37
3.2.2.1 Protg 4.......................................................................................38
3.3 Metode folosite pentru dezvoltarea agenilor.............................................39
3.3.1 Platforme de dezvoltare a agenilor.....................................................39
3.3.2 Platforma JADE.....................................................................................41

2
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


3.3.3 Mediul JADEX 0.96................................................................................42
3.3.3.1 Modelul BDI definit n Jadex...........................................................42
3.3.3.2 Definirea agenilor n Jadex............................................................44
4

SPECIFICAII I ARHITECTUR SISTEM...........................................45


4.1 Specificaiile sistemului..............................................................................45
4.1.1 Controlul casei inteligente....................................................................45
4.1.1.1 Coordonarea aciunilor...................................................................45
4.1.1.2 Executarea operaiilor....................................................................45
4.1.1.3 Interaciunea cu utilizatorii............................................................46
4.1.2 Monitorizarea casei inteligente............................................................46
4.1.2.1 Achiziia datelor de context............................................................46
4.1.2.2 Procesarea datelor de context........................................................46
4.1.2.3 Propagarea datelor de context.......................................................47
4.1.3 Adaptarea roboilor la casa inteligent.................................................47
4.1.3.1 Reprezentarea adecvat a roboilor...............................................47
4.1.3.2 Comunicarea dintre roboi..............................................................47
4.1.3.3 Serviciile roboilor din casa inteligent..........................................47
4.2 Arhitectura sistemului................................................................................48
4.2.1 Nivelul Senzorial...................................................................................48
4.2.2 Nivelul Dispozitivelor............................................................................48
4.2.3 Nivelul Roboilor...................................................................................49
4.2.4 Nivelul Decizional.................................................................................49
4.2.5 Nivelul de control i monitorizare.........................................................50
4.2.6 Nivelul fizic........................................................................................... 50

PROIECTARE DE DETALIU...............................................................51
5.1 Analiza cerinelor.......................................................................................51
5.2 Proiectarea arhitecturii...............................................................................51
5.2.1 Sistemul de roboi................................................................................51
5.2.1.1 Agentul Robot Manager..................................................................52
5.2.1.2 Agentul Robot Supraveghetor........................................................53
5.2.1.3 Agentul Robot Misiune...................................................................54
5.2.1.4 Agentul Robot Divertisment...........................................................54
5.2.2 Sistemul de senzori..............................................................................54
5.2.3 Sistemul de dispozitive........................................................................54
5.2.4 Sistemul de control..............................................................................54
5.2.5 Sistemul de monitorizare.....................................................................54
5.2.6 Proiectarea bazei de cunotine...........................................................54
5.3 Detalii de implementare.............................................................................54
5.4 Scenariu de testare....................................................................................54

UTILIZAREA SISTEMULUI...............................................................55
6.1 Modul de Utilizare......................................................................................55
6.2 Pai de utilizare.......................................................................................... 55

PUNERE N FUNCIUNE I REZULTATE EXPERIMENTALE...................56

CONCLUZII...................................................................................57

BIBLIOGRAFIE...............................................................................58

ANEXE............................................................................. 63

3
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Lista de Tabele
Tabel 2.1 Clasificarea roboilor utilizai n locuine.......................................................6
Tabel 3.1 Comparaie ntre SOCAM i CoOL privind modelarea ontologiilor de
context.......................................................................................................................................29
Tabel 3.2 O parte din regulile de argumentare OWL....................................................31

4
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Lista de Figuri
Figura 2.2 Modelul arhitectural Context Stack i exemplu de sistem senzitiv la context
...................................................................................................................................................12
Figura 2.3 Comparaie ntre SemanticURS i sistemele tradiionale............................14
Figura 3.1 Cazul general de programare a unui agent bazat pe cunotine...................25
Figura 3.2 Exemplu de modelare a unei ontologii superioare. Conceptele generale sunt
prezente n partea superioar a figurii.......................................................................................26
Figura 3.3 Un exemplu de definire a ontologiei specifice unei case inteligente
reprezentate prin reele Bayesiene............................................................................................28
Figura 3.4 Model de proiectare a ontologiilor contextuale, folosind SOCAM............28
Figura 3.5 (a) Schema relaional i (b) Modelul probabilistic pentru o cas inteligent
...................................................................................................................................................32
Figura 3.6 Arhitectura SOCAM cu ontologii specifice i modele probabilistice pe
nivelul inferior..........................................................................................................................33
Figura 3.7 Procesul de dezvoltare a unei baze de cunotine folosind Methontology..34
Figura 3.8 Arhitectura general a unei platforme de ageni i comunicarea ntre acestea
...................................................................................................................................................38
Figura 3.9 Platforma, depozitele i comunicaiile ntre platforme JADE....................40
Figura 3.10 Diagrama de colaborare ntre componentele unui agent Jadex.................41
Figura 4.1 Diagrama arhitectural a sistemului............................................................47
Figura 5.1 Diagrama de obiective a sub-sistemului de roboi......................................50

5
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

INTRODUCERE

1.1

Istoricul Conceptului de Cas Inteligent

1.2

Domeniile folosite n conceptul de casa inteligent

1.3

Cerinele temei proiectului actual

6
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

2
2.1

STUDIU BIBLIOGRAFIC
Case inteligente

Ultimii ani au fost martorii avansrii rapide a tehnologiilor ce privesc casele


inteligente, printre care maturizarea tiinelor privind reelele, totodat cu creterea varietii
protocoalelor de comunicaii prin cablu i wireless (fr fir), precum i pe sisteme senzoractuator omniprezente. Utilizatorii locali au dorit servicii din ce n ce mai personalizate pentru
casele lor, precum automatizri, securitate, servicii de monitorizare, divertisment i medicale.
n particular, multe proiecte ce refereau case inteligente au avut ca int utilizatori din
categoria persoanelor n vrst i a persoanelor cu dizabiliti, cu scopul de a le uura traiul i
pentru a le oferi ct mai mult independen prin asistarea lor n viaa de zi cu zi [10]. O
component esenial n tehnica computaional ce privete casele inteligente i nu numai este
senzitivitatea la context. Serviciile n medii omniprezente i mobile trebuie s fie senzitive la
context pentru a se putea adapta la schimbri rapide de situaie. Prin context ne referim la
orice informaie fizic sau conceptual legat de mediul executiv al unui serviciu.
Datorit progresului n comunicaiile prin reea, muli cercettori au propus sisteme de
roboi bazate pe Internet, care au ca scop controlul de la distan i monitorizarea
dispozitivelor i senzorilor prin reea. Folosind avantajele date de Internet, aceste sisteme
permit utilizatorilor din toate colurile lumii s viziteze muzee, s navigheze pe mare, i multe
alte faciliti, toate acestea fr a fi necesar prezena la faa locului. Aceste faciliti au un
foarte mare potenial pentru industrie, educaie, timp liber, securitate.
Chiar dac n ultimii ani s-au construit multe sisteme senzitive la context, lipsete nc
un model general care s fie stabilit ca un ghid al proiectrii sistemelor senzitive la context.
Acest lucru a determinat duplicarea efortului construirii unui astfel de sistem, precum i mari
probleme de interoperabilitate ntre cei care au construit astfel de sisteme.
Datorit creterii rapide a tehnologiilor computaionale de tip pervaziv a aprut o nou
paradigm numit ubiquitous computing technology (omniprezena dispozitivelor de
calcul), care este o extensie a paradigmei desktop computing (dispozitive de calcul locale),
n care informaia procesat a fost integrat complet n obiectele i activitatea de zi cu zi, n
care utilizatorul poate folosi simultan mai multe sisteme, fr a fi contient c acioneaz n
acest fel. Paradigma mai este numit i everyware ca un joc de cuvinte inspirat din
paradigmele existente i deja celebre software, hardware .a.m.d.
Ubiquitous Robotic Companion (URC) este un concept prin care roboii care
ntreprind servicii (service robots) [06], furnizeaz utilizatorilor serviciile dorite, oricnd i
oriunde n mediile computaionale pervazive. Pentru a ndeplini viziunea URC, una din
cerinele eseniale ale sistemelor de roboi este s suporte omniprezena serviciilor. Acest
lucru nseamn c robotul trebuie s fie folosibil chiar dac apar modificri n sistemul
pervaziv, care trebuie s permit ca roboii s opereze cu senzorii i dispozitivele existente, nu
s fie preprogramai pentru ele.
Conceptul de service-robot [13] include toi roboii care vin n ajutorul locatarilor
unei case. O clasificare a acestui tip de roboi poate fi observat n Tabelul 2.1. Astfel n
ultimii ani s-au creat cu succes roboi care execut aciuni precum splarea hainelor, aspirare
n cas, comunicare, precum i susinerea i ajutarea persoanelor vrstnice.

7
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Tabel 2.1 Clasificarea roboilor utilizai n locuine

Arie de interes

Roboi existeni

Roboi pentru comunicare

NEC PaPeRo
Hitachi EMIEW/EMIW2
AIST PARO
ART Robovie
Roboi pentru ajutor casnic
Fuji Heavy Industry
iRobot Roomba
Toshiba ApriPoko
Mitsubishi Heavy Industry
Wakamaru
Roboi folosii pentru munci Matsushita Electric
mai grele
Works HOSPI
Secom Secom Robot X
Cyberdyne
Toyota IRT

Aplicabilitate
Securitatea domiciliului
Monitorizare la distan
Terminal de informare
ngrijire medical / ddac
Ajutor casnic
Aerisirea
i
reglarea
temperaturii ncperilor
Curenie
Securitate i monitorizare
Servicii n instiuii publice
(coli, spitale, etc.)
Ddcire
ngrijire medical
Securitate

n Japonia, conform companiei Seed Planning Company, cota de pia pentru roboii
de tip service-robot a crescut de la 1,9 miliarde yeni la 6,7 miliarde yeni n 2006. n 2007
deoarece marile companii s-au retras de la a mai comercializa roboi de amuzament precum
roboi de companie, vnzrile au sczut per total, ns, vnzarea roboilor de menaj i a celor
ddac a continuat s creasc aa cum se poate vedea i n Figura 2 .1.

Figura 2.1 Tendina n vnzarea roboilor de cas pe piaa japonez

8
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

2.2
2.2.1

Sisteme senzitive la context


Concepte de baz

2.2.1.1

Context
n general, contextul reprezint orice informaie care poate fi folosit pentru a
caracteriza starea unei entiti [16]. O entitate poate s fie la rndul ei o persoan, un loc, o
situaie sau un obiect care este relevant interaciunii dintre un utilizator i o aplicaie.
Aplicaiile senzitive la context caut rspuns pentru circumstanele n care o entitate se poate
afla, i folosesc aceste informaii pentru a determina ce situaii apar n aceste circumstane.
n [15] este dat urmtoarea definiie pentru un context: Un context se refer la ceea ce
furnizeaz surse adiionale de informaie, aduce contribuie la nelegerea situaiei, pentru un
anumit punct de interes vizat.
Conceptul de context a fost introdus n multe domenii din tiina calculatoarelor,
acestea incluznd, procesarea limbajelor formale i naturale (gramatici dependente/
independente de context), grafic pe calculator, procese decizionale, procesare de informaii,
dispozitive de calcul omniprezente sau securitate. Scopul utilizrii contextului este adugarea
adaptabilitii sistemelor i suport n luarea deciziilor.
2.2.1.2

Senzitivitate la context
Senzitivitatea la context este un punct foarte important i esenial n mediile
computaionale omniprezente, pentru adaptarea entitilor computaionale la schimbrile care
pot interveni, cum ar fi schimbrile necesitilor utilizatorilor sau a capacitilor tehnice [17].
Fundamentul senzitivitii la context este un model de reprezentare ct mai formal al
contextului, care este necesar pentru a reprezenta contextul ntr-o manier interpretabil de
ctre calculator. n medii distribuite, este primordial ca aceast informaie contextual s
poat fi interpretat de entitile computaionale diferite, ceea ce ofer interoperabilitate. Mai
mult, este necesar argumentarea cunotinelor despre context, de exemplu, pentru a rezolva
inconsistenele datelor venite de la senzori, sau pentru a deduce context de nivel nalt, din
informaii vagi i eronate venite de la senzori.
Senzitivitatea la context este un subiect care trateaz modul n care dispozitivele pot
interfera i nelege contextul curent bazat pe informaiile preluate de la senzori [18]. Prin
nelegerea contextului curent (o situaie, un mediu) n care se afl utilizatorul sau
dispozitivul, sistemul poate lua n mod inteligent o decizie pentru a face un anumit tip de
aciune sau cel puin s notifice i s cear permisiunea utilizatorului pentru a confirma
aciunea pe care o va executa.
Sistemele senzitive la context bazate pe recomandri sunt o component esenial n
acest tip de medii pervazive. Scopul acestor ageni inteligeni este s determine prioriti sau
s sugereze aciunile de care utilizatorul este interesat, lund n calcul contextul interaciunii.
2.2.1.3

Sistem Senzitiv la Context


Schilt, n 1995, spunea c sistemele senzitive la context sunt construite astfel nct s
se adapteze locaiei sau locaiilor n care sunt folosite, ansamblului de persoane i obiecte,
dispozitivelor accesibile, precum i modificrilor acestor entiti de-a lungul timpului. Un
sistem cu astfel de capaciti monitorizeaz mediul i reacioneaz la modificrile aprute n
acel mediu [22].

9
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Senzitivitatea la context permite sistemelor s ntreprind aciuni automate, reducnd
excesul de implicare din partea utilizatorilor i furniznd soluii proactive de asisten
inteligent.
Informaia perceptual despre mediu este ingredientul esenial al sistemelor senzitive
la context, ceea ce le distinge de sistemele computaionale clasice. Aplicabilitatea acestor
tipuri de sisteme este foarte mare, incluznd extragerea informaiilor senzitive la context,
sisteme notificatoare, servicii mobile senzitive la context, precum i medii senzitive la context
cu poteniale beneficii aduse societii, de la ngrijire automat i proactiv a sntii, comer
electronic (e-commerce), la sisteme militare i automobile mai sigure [22]. De asemenea, se
poate utiliza senzitivitatea la context i n sisteme de securitate de acas sau din locuri
publice.

2.2.2

Paradigma Ubiquitous Computing

2.2.2.1

Definiii
Cuvntul ubiquitous (n traducere care se mprtie peste tot, omniprezent) poate fi
transpus nspre domeniul tehnic ca a fi sau a exista peste tot n acelai timp, ntlnit n mod
frecvent, rspndit peste tot, referindu-se la faptul c tehnologia este peste tot i o folosim
tot timpul [19].
Din cauza omniprezenei acestor tehnologii tindem s le folosim fr a ne gndi la un
anumit dispozitiv, la o anumit unealt gen calculator sau telefon mobil. n schimb ne gndim
doar la aciunea pe care vrem s o ntreprindem, fcnd astfel acest tip de tehnologii invizibile
din punctul de vedere al utilizatorului.
Cercettorii de la Research Center for Educational Technology [19], n urma muncii
lor i a observaiilor bazate pe experien i pe cunotinele existente au dezvoltat o definiie
care poate fi aplicat n domeniul nvmntului pentru a rspndi aceast noiune nou n
rndul studenilor: Mediile computaionale pervazive sunt medii de nvare n care toi
studenii au acces la o varietate de servicii i dispozitive digitale, incluznd calculatoare
conectate la Internet, precum i dispozitive mobile, oriunde i oricnd au nevoie de ele.
Noiunea noastr de ubiquitous computing este mai mult axat pe relaia: de la mai muli-la
mai muli (many-to-many) dect pe unu-la-unu (one-to-one) sau unu la-mai muli (one-tomany) i include ideea de tehnologie oricnd la dispoziia studenilor.
Mark Weiser, cercettor la Xerox, a fost primul care a introdus termenul de ubiquitous
computing i a definit termenul astfel: Ubiquitous computing este metoda prin care se
mbuntete utilizarea calculatorului, fcnd mai multe dispozitive disponibile prin mediul
fizic, acestea fiind invizibile pentru utilizator [20].
Marcia Riley, de la Georgia Institute of Technology, Atlanta, spunea c UC, sau
tehnologia calm este o schimbare de paradigm, n care tehnologia devine practic
invizibil, dar este peste tot prezent n vieile noastre [20].
2.2.2.2

Caracteristici
Folosind dispozitivele aprute n ultima perioad utilizatorii tind s comunice prin
diferite metode, s fie mult mai activi, s foloseasc spaiul geografic i temporal n mod
diferit, i s dein mai mult control. Astfel, datorit nevoilor utilizatorilor, UC a fost
conceput avnd urmtoarele caracteristici:
Dispozitivele sunt prezente peste tot n jurul nostru;
Sunt interconectate i comunic unul cu cellalt;
Nu necesit atenie continu din partea utilizatorului pentru a funciona;
10
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Fiecare dispozitiv tinde s fie ct mai specializat;
Sunt invizibile, fiind ascunse n mediul n care sunt folosite;
n [20] se d urmtoarea caracterizare pentru UC. Astfel paradigma permite
tehnologiei s fie:
global i local;
social i personal;
public i privat;
invizibil i vizibil;
creatoare de cunotine i rspnditoare a informaiilor.
Datorit naturii sale UC este strns legat de noiunea de context i senzitivitate la
context. Principalul motiv al acestei corelri este eterogenitatea i rspndirea ubicuitar a
entitilor n acest tip de medii. Aceste dou aspecte necesit adaptare la run-time a serviciilor
i dispozitivelor, depinznd de locaia i rolul lor, adaptarea la rndul ei fiind dependent n
multe situaii de folosirea contextului.
Cnd aceast paradigm este aplicat n contextul casei, o cas normal se transform
ntr-o cas inteligent. Ceea ce locuitorii ei vor putea observa este doar cum casa i aplicaiile
i mediul se ajusteaz pentru a se adapta cerinelor dinamice ale rezidenilor avnd nevoie de
o interaciune minimal ntre utilizatori i aplicaiile casei inteligente.

2.2.3

Ontologie

2.2.3.1

Definiii
Termenul ontologie i are originile n filosofie i se refer la disciplina care se
ocup cu existena i cu lucrurile care exist. n tiina calculatoarelor lucrurile care exist
sunt cele care pot fi reprezentate prin date [17].
Diferite definiii pentru ontologiile legate de tiina calculatoarelor pot fi gsite n
literatur [23]. Ca un exemplu, o definiie dat de J. Vo [24] este: O ontologie este un sistem
definit formal de concepte i relaiile dintre aceste concepte. Ontologiile conin, cel puin n
mod implicit, reguli. Se pot deosebi trei probleme cnd punem aceast definiie pentru
ontologii n relaie cu modelarea contextelor i argumentarea:
Un model de context este de asemenea un sistem de concepte (entiti) i relaii
care fac din ontologie o unealt bun pentru modelarea conceptelor;
Ontologia este definit formal, ceea ce este o precondiie pentru ca un
computer s o poat interpreta, de exemplu, pentru motive de argumentare;
Regulile pot fi folosite pentru a implementa argumentarea contextului.
2.2.3.2

Caracteristici
M. Gruninger i J.Lee [25] despart aplicabilitile ontologiilor n 3 grupuri mari:
Comunicaii i mprirea cunotinelor: o ontologie servete ca un vocabular
comun pentru ageni diferii (entiti computaionale sau oameni).
Inferen i argumentare logic: O ontologie poate fi folosit pentru a deduce
cunotinele implicite din cunotinele explicite, aplicnd reguli.
Refolosirea cunotinelor: Ontologiile comune pot fi folosite cnd se
construiesc ontologii specifice domeniului.
Elementele tipice ale unei ontologii sunt:
Conceptele i atributele lor.
Taxonomii pentru a clasifica conceptele prin generalizare i specificare.
11
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

2.2.4

Relaii ntre concepte.


Axiome pentru a defini formule care sunt ntotdeauna adevrate. Ele sunt
folosite pentru a demonstra consistena cunotinelor modelate de o ontologie
i pentru a deduce lucruri ulterioare.
Faptele sunt instane ale conceptelor i relaiile dintre ele.
Se deosebesc mai multe limbaje diferite ce pot fi folosite pentru a defini
ontologii. Dintre acestea amintim Ontolingua [28], LOOM [29] i OWL Web
Ontology Language [26, 27]. OWL este limbajul cel mai folosit pentru a
definii ontologii pentru sisteme senzitive la context, incluznd i serviciile Web
semantice [26].

Ageni senzitivi la context

Construirea aplicaiilor sistemelor senzitive la context i omniprezente din domeniul


locuinelor inteligente a ajuns la un punct comun prin folosirea n implementarea lor a
paradigmei sistem multi-agent.
Paradigma agentului inteligent este corelat cu conceptul de sistem senzitiv la context
prin faptul c fiecare agent posed cunotine incomplete n sisteme fr control global, cu
date descentralizate. Tehnologiile multi-agent sunt un punct comun n construirea unor
sisteme care se pot adapta foarte uor la schimbrile de mediu, care sunt capabile s integreze
componente eterogene, furniznd flexibilitate n controlarea unor sisteme distribuite
complexe, i de scar larg.
2.2.4.1

Paradigma agentului
Cercettorii n domeniul sistemelor agent au definit n diferite maniere noiunea de
agent, deosebindu-se dou dintre aceste abordri n funcie de proprietile care sunt dorite
pentru agentul definit: Noiunea de agent simplu i noiunea de agent BDI Belief-DesireIntention (Convingere Dorin Intenie) care extinde agentul simplu adugnd proprieti.
n descrierea agentului simplu Wooldridge [38] puncteaz o definiie descriind
proprietile eseniale ale agentului Un sistem de calcul hardware sau cel mai des software
care satisface urmtoarele proprieti:
autonomie: agenii opereaz fr intervenia direct a omului sau altfel, i au
un nivel de control asupra aciunilor i a strii interne;
abiliti sociale: agentul interacioneaz cu ali ageni printr-un anumit limbaj
de comunicare;
reaciune: agenii percep mediul n care se afl i reacioneaz la schimbrile
care au loc n el;
proactivitate: agenii nu doar c iau decizii ca rspuns la schimbri, ei sunt
capabili s aplice comportamente obiective prelund iniiativa.
O definiie mai general a agentului a fost elaborat de Russell i Norvig [39]: Un
agent este orice care poate fi s perceap mediul prin senzori, i s acioneze n acel mediu
prin efectori. Ei specific c noiunea de agent este prevzut pentru a fi o unealt pentru a
analiza sistemele, nu o caracterizare absolut care desparte lumea n ageni i non-ageni.
2.2.4.2

Ageni BDI
Modelul BDI aa cum este descris n [40] este bazat pe 3 concepte: Convingere,
Dorin i Intenie (tradus Belief-Desire-Intention). Ideea are baze filosofice n conceptul
analog din teoria argumentrii umane. Convingerile reprezint cunotinele agentului despre
12
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


starea curent a mediului, starea intern a lui, informaii despre ali ageni. n mediile reale, cu
un grad mare de incertitudine convingerile agentului sunt incomplete i inexacte.
Convingerile agentului se deosebesc de cunotinele lui, deoarece acestea nu trebuie
neaprat s fie adevrate. La nivelul fiecrui agent din mediu se construiete o viziune parial
asupra mediului n care el opereaz, convingerile furniznd o abstractizare a entitilor
relevante.
Dorinele agentului sunt strile de fapt n care agentul vrea s ajung sau s le
foloseasc. Strile trebuie s fie consistente una fa de cealalt.
Inteniile reprezint strile deliberative ale agentului, activitile pe care agentul le-a
executat pentru a nfptui o dorin. n unele situaii un agent poate alege mai multe planuri de
execuie diferite. Planul selectat mpreun cu ncrederea de a executa acel plan devin o
intenie.
Obiectivul este conceptul central al unei arhitecturi BDI, reprezentnd o anumit stare
final n care agentul vrea s ajung. Obiectivele sunt dorinele alese pe care agentul vrea s le
nfptuiasc, dac pot s considere c din starea curent se poate ajunge la aceste stri. Cnd
unele dintre aceste obiective eueaz agentul poate s determine dac starea poate fi nc
atins pentru a rencerca intenia sau trebuie s ncerce un alt set de intenii pentru a ajunge n
starea dorit. Obiectivele permit modelarea agenilor care s acioneze proactiv. Planurile
reprezint mijloacele prin care se poate stabili un obiectiv, incluznd secvena de aciuni care
trebuie executate pentru a ajunge la acel obiectiv.
Modelul BDI s-a dovedit a fi extrem de eficient la modelarea unor ageni care ruleaz
n medii dinamice i care opereaz ntr-o manier flexibil n ciuda informaiilor incomplete
despre mediu i ceilali ageni.

2.3
2.3.1

Arhitecturi de sisteme senzitive la context


Arhitecturi de sisteme senzitive la context locale

Sistemele orientate pe reea sunt uor de implementat din cauza standardului ISO
Open System Interconnection (OSI), care este un model stratificat n care fiecare nivel este
independent i are funcionalitatea sa specific. n acest fel, n [33] se propune un model
stratificat pentru arhitectura unui sistem senzitiv la context, Context Stack.
2.3.1.1

Modelul arhitectural stratificat Context Stack


Modelul este un model referin pentru arhitectura sistemelor pervazive. Acest model
este similar cu modelul pe 7 nivele ISO-OSI pentru reele de calculatoare. Modelul stratificat
combin elementele funcionale ale sistemelor senzitive la context:
Nivelul achiziie;
Nivelul reprezentare;
Nivelul agregare;
Nivelul interpretare;
Nivelul utilizare.
Acestea se combin ntr-o arhitectur coerent i generic la care majoritatea
sistemelor senzitive la context actuale se pot mapa. Error: Reference source not found
ilustreaz cele 5 nivele ale arhitecturii Context Stack i exemplul concret al unui serviciu
senzitiv la context pentru un telefon inteligent (smart phone).

13
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Figura 2.2 Modelul arhitectural Context Stack i exemplu de sistem senzitiv la context

Nivelul achiziie

Este nivelul cel mai de jos n care contextul este preluat ntr-un format neprocesat,
fiind preluat de la o multitudine de tipuri de senzori pervazivi. De exemplu, locaia n cas a
unui locatar poate fi obinut de la un sistem de senzori RFID, care detecteaz apariia unei
modificri n configuraia RFID, nivelul luminii fiind detectat de senzorii de lumin, iar
nivelul zgomotului este obinut de la senzorii de zgomot. Datele preluate pot s nu ofere
context care s poat fi neles i utilizat de serviciile senzitive la context, astfel el trebuie
trimis la nivelele de mai sus pentru procesri ulterioare.
Nivelul Reprezentare

ncepnd de la acest nivel, toate nivelele se bazeaz pe un model de context comun,


care formeaz baza pentru managementul contextului, pentru a facilita o reprezentare
expresiv i interoperabilitate ntre entitile computaionale eterogene. Modelele de contexte
existente variaz n funcie de tipul de context pe care l reprezint i expresivitatea lor. Aa
cum este prezentat n Error: Reference source not found s-a folosit un model de context
orientat pe entitate-relaie, pentru a ilustra rolul modelului n sistemele senzitive la context. n
asemenea modele de context, informaia contextual este structurat n jurul unui set de
entiti fiecare descriind un obiect fizic sau conceptual, precum o persoan sau o activitate, iar
toate aceste entiti sunt legate cu celelalte entiti prin relaii.
n nivelul de reprezentare al contextului, datele neprelucrate venite de la senzori sunt
reprezentate ntr-o form care poate fi neleas, dup modelul de context stabilit n prealabil.
Acest nivel este un nivel de abstractizare a datelor, care adun datele de la senzori, venite de
la diferite surse, i apoi le combin cu semantici care sunt structurate n jurul unui set de
entiti contextuale i relaiile dintre ele.
Nivelul Agregare

Acest nivel se ocup de agregarea datelor contextuale, adunnd datele de la senzori


contextuali distribuii ntr-o baz de contexte centralizat. Agregarea contextelor ajut la
simplificarea procedurii de interogare a contextului, centraliznd astfel entitile
computaionale i furnizeaz o baz pentru interpretri ulterioare ale cunotinelor
contextuale. Astfel, agregarea contextelor prin natura sa furnizeaz funcionalitile unei baze
14
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


de cunotine. O alt funcie a nivelului de agregare este de a salva o arhiv de contexte,
pentru a se putea ulterior s se fac interpretri, bazate pe contextele curente i pe cele din
trecut.
Nivelul Interpretare

Cnd se stabilete un model de context pentru a reprezenta i prelucra contexte,


contextele pot fi interpretate prin mai multe metode de argumentare i/sau nvare, pentru a
deriva contexte adiionale de nivel nalt. Nivelul de interpretare a contextului adaug tehnici
de argumentare/nvare pentru a deduce contexte implicite de nivel nalt din contextele
explicite provenite de la nivelele inferioare i care sunt folosite de serviciile inteligente.
De exemplu, modulul de argumentare bazat pe reguli poate deduce situaia curent a
utilizatorului bazndu-se pe locaia sa i contextul mediului n care se afl. Contextul inferat
poate sugera c utilizatorul e posibil s doarm n momentul actual, avnd n vedere c este
ora 11 PM i c el st n ntuneric, e linite, iar patul este ocupat. Un alt exemplu de
interpretare a contextului ar putea fi nvarea i predicia comportamentului. Sistemul
inteligent poate nva abloane ale aciunilor ntreprinse de utilizator din secvene trecute de
date contextuale, care mai trziu pot fi folosite pentru a prezice urmtorul eveniment. De
exemplu, se poate prezice c odat ce utilizatorul a terminat duul (nchiznd nclzitorul
electronic de ap) dup ora 10:30 PM, el i va verifica emailurile folosind telefonul, pentru ca
ulterior s se aeze n pat dup ce le-a citit.
Nivelul Utilizare

La nivelul cel mai de sus, serviciile senzitive la context utilizeaz att contexte de
nivel jos, ct i contexte de nivel nalt pentru a-i ajusta comportamentul. Lund exemplul dat
n Error: Reference source not found, telefonul inteligent (smart phone-ul) preia contextul
utilizatorului i decide s redirecioneze toate apelurile telefonice nspre csua vocal. De
asemenea el ia n considerare contextul prezis pentru a nfptui unele aciuni.

2.3.2

Arhitecturi de sisteme distribuite senzitive la context

Au fost cteva ncercri de a construi astfel de sisteme de roboi i monitorizare prin


Internet, folosind tehnologiile World-Wide-Web i de obiecte distribuite. Sistemele de tip
WWW foloseau protocolul HTTP n combinaie cu CGI (Common Gateway Interface) sau
Java pentru controlul la distan a senzorilor i actuatorilor. Exemple ale unor astfel de
ncercri pot fi vzute mai jos:
University of Californias tele - excavation system, Mercury [01]
Carnegie Mellon Universitys indoor mobile robot, Xavier [02]
Ecole Polytechnique Fdrale de Lausannes maze robot, KhepOnTheWeb [03]
Roger Williams Universitys PumaPaint [04]
Pohang University of Science and Technologys XNMS [05]
Exist i implementri realizate cu ajutorul tehnologiilor obiectelor distribuite precum
CORBA (Common Object Request Broker Architecture) i Java RMI (Remote Method
Invocation) [07]:
NRSP (network robot service platform);
DAIR (distributed architecture for Internet robot).
Datorit limitrilor soluiilor expuse mai sus, s-a propus o nou metod i s-a dezvoltat
un nou framework pentru sistemele robotice pervazive, acesta fiind bazat pe semantic i
numit SemanticURS [06]. Aceast metod permite integrarea automat a roboilor conectai la
reea n sistemele pervazive, printr-o metod orientat pe servicii Web. Astfel SemanticURS
15
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


exploateaz serviciile Web semantice (Semantic Web Services), care sunt ultima apariie n
domeniul tehnologiilor Web, i o metod de planificare preluat din inteligena artificial,
pentru a automatiza procesul de interoperare ntre roboii conectai la reea i sistemele
pervazive.
Astfel serviciile Web, senzorii i dispozitivele din reea, implementeaz o interfa
unic pentru a se accesa reciproc. Ulterior cunotinele legate de aceste servicii Web sunt
descrise n limbajul ontologic Web pentru servicii (OWL-S), care este un limbaj semantic de
descriere a serviciilor Web, i salvate n baza de cunotine (KB Knowledge Base) pentru ca
un agent robot s poat descoperi n mod automat cunotinele necesare pentru a compune un
plan de servicii fezabil pentru mediul n care este conectat. Ulterior, agentul furnizeaz
servicii interacionnd n mod automat cu roboii, senzorii, i dispozitivele prin protocolul
SOAP (Simple Object Access Protocol) [64], precum n Figura 2 .3

Figura 2.3 Comparaie ntre SemanticURS i sistemele tradiionale

2.3.2.1

Serviciile Web Semantice


Reeaua World Wide Web iniial conceput pentru ca utilizatorii s schimbe fiiere text
i imagini a evoluat spre un furnizor de servicii. Programele accesibile prin Web realizeaz
aceste servicii cu ajutorul tehnologiilor CGI, Java, ActiveX sau prin Web Services. O cerin
fundamental pentru a realiza interoperabilitatea acestor tip de servicii este necesitatea de a
16
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


realiza aceste servicii interpretabile de computere, de a crea servicii Web semantice ale cror
semantic, precum proprieti, capaciti i interfee, s fie codificate ntr-un mod neambiguu,
ntr-o form inteligibil de ctre maini. Serviciile Web Semantice sunt construite astfel nct
s ndeplineasc aceste cerine, descriind serviciile Web folosind ontologii OWL, numite
generic OWL-S. OWL-S este structurat n 3 clase eseniale: Service Profile, Service Model,
Service Grounding [06] (Figura2.4).

Figura 2.4 Clasele componente ale unei ontologii de tip OWL-S

Service Profile aceast component a unei ontologii OWL-S specific ce face


serviciul. Ea are rolul de a informa agentul care cere servicii despre serviciile oferite de web
service-ul pe care vrea s l acceseze. Se folosesc urmtoarele noiuni pentru a marca
proprietile unui Service Profile: profile, serviceName, textDescription, hasInput, hasOutput,
has Precondition, hasEffect, serviceCategory .a.m.d.
Service Model Aceast component specific cum funcioneaz serviciul. Se descrie
ce se ntmpl cnd este alocat un serviciu atomic sau compus. Aceast descriere poate fi
folosit de un agent care necesit servicii pentru a realiza o analiz mai amnunit a
serviciului i dac i poate satisface nevoile. De asemenea se poate folosi pentru a compune
multiple servicii pentru a atinge un anumit obiectiv. Se folosete i pentru monitorizarea
execuiei unui serviciu. Procesul ontologic furnizeaz modelului serviciului urmtoarele
procese:
ProcessModel,
AtomicProcess,
CompositeProcess,
SimpleProcess,
ProcessComponent, ControlConstruct, Sequence, Choice, Repeat-Until.
Service Grounding Aceast component detaliaz cum poate un agent accesa un
serviciu. Astfel componenta specific protocolul de comunicaie, formatul mesajelor i alte
detalii specifice, precum numrul portului prin care serviciul poate fi accesat. Procesul
ontologic al componentei de configurare are interfeele descrise n Web Services Description
Language (WSDL): WsdlGrounding, WsdlAtomicProcessGrounding, WsdlOperation,
WsdlDocument, WsdlOperationRef, portType.
2.3.2.2

Arhitectura Serviciilor Web Semantice


Aa cum se poate vedea n Figura 2 . arhitectura SemanticURS [06] este compus din
3 componente majore: un agent robotic RA (Robotic Agent), serviciile web ale dispozitivelor
DWS (Device Web Services) i baza de date de cunotine a mediului EKR (Enviromental
Knowledge Repository).
RA robotic agent este un agent apelator de servicii i de planificare inteligent. El
are un rol important n integrarea automat n arhitectura SemanticURS. RA este alctuit
dintr-o interfa utilizator, un modul de alctuire a planului, un modul de descoperire a
cunotinelor, un modul de inferen OWL, un modul de executare a planului i stiva de
comunicare pentru executarea serviciilor Web, de exemplu SOAP [08], XML i HTTP. Un
utilizator poate introduce o cerere de executare a unui serviciu folosind interfaa utilizator i
eventual poate iniializa contextele serviciilor. Apoi, cererea este transformat folosind
17
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


vocabularul OWL-S, n ontologiile procesului OWL-S, pentru ca modulul de alctuire a
planului s poat nelege cerina de servicii i s descopere n mod automat cunotinele
necesare pentru a face planificare folosind modulul de descoperire a cunotinelor. Pentru a
cuta baze de date de cunotine n EKR pentru a prelua cunotinele necesare pentru cererea
actual, modulul de descoperire a cunotinelor creeaz interogri semantice de descoperire
codificate n Resource Description Framework (RDF).

Figura 2.5 Arhitectura detaliat a Semantic URS

RDF folosete limbajul de interogare Data Query Language (RDQL) [09], [10]. Dup
ce planul a fost compus cu succes, modulul de execuie a planului transform planul ntr-un
format executabil pentru ca ulterior s fie pus ca cerere pe stiva de comunicare a serviciului
Web.
EKR Enviromental Knowledge Repository conine o baz de cunotine a domeniilor
(Domain Knowledge Base - DoKB) i o baz de cunotine a dispozitivelor (Device
Knowledge Base - DeKB) utilizate pentru nregistrarea i descoperirea cunotinelor. DoKB
conine cunotine OWL-S despre conceptele generale legate de servicii i task-urile compuse
care descriu modelele comune ale serviciilor pentru un anumit domeniu. DeKB conine
cunotine salvate n format OWL-S despre task-urile atomice care reprezint serviciile oferite
de dispozitive i senzori, n medii specifice serviciilor. EKR conine de asemenea i obiectele
de descoperire a serviciilor, pentru a manipula n mod automat interogrile de descoperire a
cunotinelor cu predicate semantice despre cunotinele OWL-S formate de RA. EKR
conine i stiva de comunicare Web Service, componenta comportndu-se ca un Web Service
independent, fiind accesat de RA prin SOAP.
DWS Device Web Service este o implementare specific a Web Service-urilor pentru
dispozitive ubicuitare incluznd roboi, senzori, actuatori .a.m.d. Fiecare DWS poate avea
obiecte de control pentru unul sau mai multe dispozitive, care pot lucra mpreun, de pild un
dispozitiv de aer condiionat i un senzor de temperatur. DWS dispune de asemenea de
servicii Web pentru a comunica cu RA.
Figura 2 . mparte procesul de integrare automat al unui agent SemanticURS n 3
faze:
Descoperirea cunotinelor;
Planificarea Serviciului;
Executarea planificrii.
18
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Figura 2.6 Procedura de integrare automat a unui agent SemanticURS

2.4

Medii de dezvoltare ale aplicaiilor senzitive la context

Java Context Awareness Framework (JCAF) [36] este un mediu de dezvoltare


inspirat din J2EE desemnat exclusiv pentru a dezvolta aplicaii senzitive la context. Scopul
acestui mediu de dezvoltare este s suporte servicii distribuite i coordonate, controlul
accesului i o infrastructur modular pentru a permite extensii. Dintre caracteristicile JCAF
care l difereniaz este faptul c este independent de semantic i c pune n calcul calitatea
informaiilor despre context, iar evenimentele sunt interceptate de ctre modulele care
detecteaz schimbrile (vezi Figura 2 .). De exemplu, se detecteaz schimbrile de context i
ulterior sunt apelate funcii prin care schimbrile sunt trimise la aplicaii care prelucreaz
informaia.

Figura 2.7 Diagrama de interaciune ntre modulele componente ale JCAF

Astfel mediul JCAF nu are construit nici un modul inteligent el fiind responsabil doar
de controlul traficului, schimbrile de mediu i transportul informaiilor ctre aplicaiile
senzitive la context. Nivelul cel mai important al mediului JCAF o constituie serviciile de
context, care formeaz o reea interconectat de tip punct-la-punct, fiecare serviciu fiind
specializat pentru un anumit tip de informaie de context, aceste servicii putnd comunica
19
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


ntre ele pentru a schimba informaii de context. O arhitectur general poate fi vzut n
figura 2.8, mpreun cu arhitectura unui serviciu.

Figura 2.8 Arhitectura general cu diagrame de colaborare a JCAF

Mai exist i alte medii de dezvoltare a aplicaiilor senzitive la context, cu diferite


funcionaliti. Dintre acestea amintim Maythofers context prediction framework [37]
concentrat pe recunoaterea i deducerea unor informaii consistente de context, folosind
informaiile cu zgomot venite de la senzori. Scopul acestui mediu este de a fi folosit n scop
local pe dispozitive cu resurse limitate, fr a fi necesar constituirea unei infrastructuri n
prealabil. Se folosesc algoritmii Growing Neural Gas pentru nvare i algoritmi Active LeZi
pentru deducerea contextelor.

2.5

Aplicaii n domeniul caselor inteligente

n aceast seciune va fi prezentat proiectarea i implementarea unei arhitecturi


generale de tip service-oriented precum cele descrise anterior, aplicat n cazul unei case
inteligente.
Obiectivele proiectrii
Proiectarea infrastructurii serviciului adopt modelul stratificat prezentat n figura 2.2
Context Stack, ca i abstracia de proiectare pentru a furniza middleware pentru servicii
reutilizabil. Proiectarea respect urmtoarele convenii [33]:
1) Arhitectura middleware bazat pe componente are ca rol combinarea elementelor
funcionale independente ale sistemelor senzitive la context (achiziia, agregarea,
interpretarea, utilizarea i descoperirea) i contopirea acestor elemente ntr-un middleware
coerent i reutilizabil.
2) Proiectarea cerceteaz infrastructura Semantic Web pentru a colecta informaii
contextuale. Argumentarea ontologiilor Semantic Web (CONON, COBRA-ONT sau
SOUPA), interogri Semantic Web i mecanisme de inferen sunt ncorporate n aceast
infrastructur pentru a facilita modelarea contextelor, mprirea cunotinelor, interogri
semantice, argumentarea contextual i descoperirea semantic a contextelor.

20
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Argumentarea ontologiilor (Ontologic Reasoning) este un pas foarte important n
dezvoltarea unei aplicaii senzitive la context pentru o cas inteligent, deoarece se ocup de
evaluarea cunotinelor de context (contextual knowledge).
Abordrile existente pentru modelare sunt aa cum au fost amintite i mai sus
CONON [32] bazat pe ideea de dezvoltare a unui model de context din ontologii, folosind
capacitile de inferene logice, refolosirea i mprirea cunotinelor. Wand a dezvoltat o
ontologie superioar, care capteaz trsturile generale ale entitilor contextuale i o colecie
de ontologii specifice mpreun cu trsturile lor n subdomenii. CANON folosete un
mecanism de serializare a ontologiilor n OWL-DL, care are o echivalen semantic cu
logica descriptiv foarte bine definit. Astfel se poate verifica consistena i argumentarea
contextelor folosind modulele de inferen dezvoltate n limbaje descriptive. Un sistem mai
complex i mai nou este CoBrA care furnizeaz o colecie de concepte ontologice pentru a
caracteriza entiti precum persoane, locuri sau alte tipuri de obiecte aflate n contextele lor.
Sistemul CoBrA are o arhitectur de tip broker [32] pentru a furniza suport la momentul
rulrii pentru sisteme senzitive la context, n mod particular n sli de conferine inteligente.
Folosirea standardelor existente incluznd OSGi sau UpnP pentru a simplifica
programarea componentelor reutilizabile ale serviciilor are ca scop furnizarea unui standard
API i implementarea unor servicii senzitive la context utilizabile pentru o cas inteligent.
Structur OSGi de tip Service pentru o cas inteligent
Arhitectura de tip OSGi propus pentru case inteligente este prezentat n Figura 2 . i
a fost descris n detaliu n [34][35]. Punctul central al arhitecturii este OSGi gateway aflat n
reedin, care este responsabil pentru conectarea la Internet a aplicaiilor din cas, terminale
mobile, dispozitive senzor/actuator, prin tehnologii de acces broadband. O varietate mare de
tehnologii legate de reelele din locuine, cum ar fi Ethernet, X.10, IEEE 1394, Lonworks,
WLAN sau Bluetooth, pot fi utilizate pentru a conecta diferite tipuri de dispozitive.
Framework-ul OSGi standardizeaz furnizarea de servicii pentru a le realiza ntr-o
manier sigur i fiabil. El constituie un intermediar ntre diferitele standarde de reele ce se
pot afla n cas.

Figura 2.9 Arhitectura de tip OSGi pentru o cas senzitiv la context

Pentru a obine partajarea cunotinelor i inferenele logice necesare informaiilor


contextuale, sunt legate n arhitectura OSGi sub form de servicii nmnunchiate (bundles)
urmtoarele 4 module funcionale cheie:
21
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Serviciul Web (SW) Semantic Serviciul SW furnizeaz API-uri Semantic Web pentru
accesarea i manipularea contextelor codificate n OWL, pentru a persista i interoga
modelele semantice ale contextelor n baze de date relaionale i pentru a infera contexte
adiionale din contextele existente n KB. Implementrile curente sunt bazate pe Jena
Semantic Web Toolkit, totui implementri alternative pot fi expuse printr-o interfa generic
pentru a fi ataate arhitecturii. SW service bundle furnizeaz fundamentele urmtoarelor 3
servicii.
Serviciul de Context Acquisition - Acest serviciu este responsabil pentru colectarea
informaiilor despre context de la o gam variat de surse i transform descrierile ad-hoc ale
contextelor n reprezentri semantice folosind ontologii. Acest serviciu furnizeaz
funcionalitile nivelului achiziie i nivelul reprezentare semantic al arhitecturii stratificate
descris n Capitolul 2.3.1.
Serviciul Context KB Baza de date de cunotine despre contexte furnizeaz un
mediu de stocare pentru cunotinele despre contexte prin folosirea bazelor de date relaionale.
Aceasta stocheaz i manipuleaz att ontologii de context statice (descrierile ontologice ale
claselor sau tipurilor de entiti relaionale) ct i contexte dinamice (instane ale situaiilor
sau indivizi reprezentai bazai pe ontologiile de context existente). Astfel are suport pentru
argumentare despre ontologiile de context, ct i pentru informaiile contextuale situaionale.
Serviciul KB permite arhitecturii serviciului s agrege i relaioneze contexte dinamice de la
surse contextuale distribuite i astfel furnizeaz funcionalitatea nivelului agregare din
arhitectura prezentat n Capitolul 2.3.1.
Serviciul de Context Inference Acest serviciu este un modul de argumentare care
poate fi folosit de serviciile senzitive la context pentru a deduce contexte de nivel nalt din
contextele de baz. Serviciul de inferen este bazat pe Jena API, care furnizeaz inferen
bazat pe reguli pentru OWL. Acest serviciu furnizeaz funcionalitatea nivelul inferen de
context al arhitecturii prezentate n Capitolul 2.3.1.

2.6

Dificulti i riscuri ntmpinate n crearea aplicaiilor


senzitive la context

Una dintre cele mai mari dificulti n crearea aplicaiilor ubiquitous i senzitive la
context robuste este dezvoltarea unor algoritmi care pot detecta contexte din date senzoriale
ambigue i cu zgomote.
Provocarea pentru astfel de sisteme const n complexitatea capturrii, reprezentrii i
procesrii datelor de context. Pe lng abilitatea de a obine informaiile despre context
aplicaiile trebuie s includ logic adiional pentru a procesa informaia i pentru a deduce
scopul acestora. Aceasta este probabil cel mai provocator lucru, deoarece este de cele mai
multe ori indirect i poate fi dedus prin combinarea unor diferite piese de informaie
contextual [41].
n [42] se descriu dificultile ce apar cnd se folosesc informaiile de context n
aplicaii pe calculator:
Informaia de context este adeseori achiziionat de la senzori neconvenionali care nu
sunt gsii n viaa de zi cu zi: termostat, GPS .a.m.d.
Datele preluate de la senzori trebuie s fie abstractizate ntr-o reprezentare de nivel
nalt pentru a deveni folositoare. Lund exemplul unui termostat, temperatura citit n grade
trebuie abstractizat n frig, mediu, cald, foarte cald. Dar, o aplicaie poate s abstractizeze
informaiile venite de la mai muli senzori, de exemplu, pe lng temperatur aplicaia poate
s aib nevoie de informaii despre umiditate pentru a determina nivelul de confort al unei
camere.
22
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Informaia de context poate fi achiziionat de la surse multiple distribuite i
eterogene. Aplicaiile au nevoie de mai mult de un senzor pentru a nelege un anumit context.
Informaia de context este dinamic. O aplicaie senzitiv la context are nevoie de
multe ori s detecteze modificrile n timp real pentru a se adapta la schimbrile care au loc n
mod frecvent. De exemplu, o aplicaie pentru o locaie mobil trebuie s detecteze
modificrile frecvente ale utilizatorului pentru a furniza acestuia informaii relevante legate de
locaia curent
Acestor dificulti li se adaug riscurile i provocrile n procesul crerii acestui fel de
aplicaii:
Aplicaiile senzitive la context trebuie s neleag intenia utilizatorului.
Acest proces este crucial n faza de adaptare la context. Odat ce o aplicaie senzitiv
la context s-a adaptat contextului curent, trebuie s decid cum s optimizeze acea adaptare. O
aplicaie trebuie s presupun ct mai aproape de adevr ce fel de comportament al acesteia
este dorit de ctre utilizator, n contextul curent. Unele tehnici din Inteligena Artificial
folosite n aplicaiile senzitive la context permit nvarea din trecut a comportamentelor
repetitive sau asemntoare, totui, aplicaia poate s neleag mai greu atunci cnd intervine
un comportament nou.
Aplicaiile senzitive la context sunt multidisciplinare
Construirea unor astfel de sisteme senzitive la context precum casele inteligente, de
obicei implic i necesit cunotine din tiina calculatoarelor, arhitectur, inginerie electric
i mecanic, tiine sociale i poate altele. Totodat construirea unui astfel de tip de aplicaii
necesit experi din diferite domenii, fiind nevoie de o echip de oameni cu cunotine
diferite.
Costurile sunt ridicate
Unele dispozitive gen biosenzori folosite pentru a construi infrastructuri senzitive la
context nu sunt foarte uzuale, astfel ele cost n general mai mult dect orice alt dispozitiv
comun. Acest fapt creeaz o barier pentru persoanele care doresc s dezvolte astfel de
aplicaii care necesit dispozitive i infrastructur specific. Deci, de cele mai multe ori
proiectarea unei astfel de aplicaii este dictat de ce dispozitive sunt accesibile dezvoltatorilor.
Un fapt foarte important n construirea unui mediu cu resurse limitate este decizia de a
distribui diferite componente ale sistemului ntre client i server. O soluie evident, dar
sensibil, este ncrcarea majoritii proceselor computaionale pe server, dar fr a se calcula
atent acest fapt ar putea rezulta n suprancrcarea serverului. O mbuntire semnificativ a
performanei se poate realiza dac agenii pot gsi momentul n care se poate face migrarea de
date de la server la client pentru realizarea unei anumite operaii.
O alt problem important care trebuie luat n calcul este alegerea sistemului de
operare pentru dispozitivele mobile. Dei Linux ofer o performan mrit, WindowsCE este
suportat de o gam mai variat de dispozitive mobile.
Pe lng aceste probleme de balansare client/server, calitate/pre mai intervin i alte
cerine minimale pentru o aplicaie de acest gen: interoperabilitate, portabilitate, flexibilitate,
robustee. Toate aceste probleme sunt menionate i detaliate n [43].
Construirea sistemelor multi-agent este un proces dificil i complex deoarece
integreaz n mod direct sau indirect provocrile i riscurile existente din sistemele distribuite
i concurente i n plus dificultile rezultate din cerinele de flexibilitate i interaciune
intensiv. Problemele construirii unor astfel de sisteme sunt detaliate n [44].

2.7

Proiecte ample de cercetare n desfurare

Dintre proiectele ample de cercetare n legtur cu casele inteligente, i mai general cu


cldiri inteligente, le amintim pe cele de mai jos.
23
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


The Adaptive House (University of Colorado)
Scopul experimentului Adaptive House este s exploreze conceptul unei case
autoprogramabil, eliberndu-i pe locuitorii ei de necesitatea efecturii acestei munci.
Cercettorii au pus accent pe faptul c software-ul necesar pentru o cas automat trebuie s
fie programat pentru fiecare familie i cas n parte i reactualizat odat cu modificrile
survenite n stilul lor de via. Lund n considerare c la vremea aceea pentru mult lume era
destul de dificil s i programez DVD-playerele, se considera ca programarea unei case
inteligente ar fi mult sub interesul i capacitile lor, iar angajarea unui specialist care s fac
aceste lucruri ar fi foarte neconvenabil i costisitoare.
Prototipul a fost instalat n casa unuia dintre cercettori i controleaz temperatura
camerei, temperatura apei, nivelul luminii, a sunetului, deschiderea ferestrelor i totodat
controleaz aparatele responsabile pentru nclzire, lumin, curent .a.m.d. Sistemul
monitoriza aciunile luate de rezideni precum stabilirea unei anumite configuraii a luminii,
sau pornirea unui termostat i cuta abloane n acel mediu, pentru ca ulterior s poat prezice
acele aciuni. O reea neuronal este cea responsabil pentru a nva acele abloane pentru ca
apoi sistemul s fac acele aciuni nvate n mod automat.
ComHome (The Interactive Institute, Suedia)
Proiectul ComHome este descris de cercettori ca un model de scar larg construit
dintr-un numr de scenarii preluate din camere diferit configurate. Casa este echipat cu
tehnologii senzoriale, precum i tehnologii bazate pe control prin voce. n acest context,
cercettorii investigheaz diferite sfere ale activitilor casnice, precum munca la distan i
activitile sociale, n special comunicrile mediate prin video (VMC Video Mediated
Communications), explornd impactul pe care tehnologiile l pot avea asupra lor.
House_n (Massachusets Institute of Technology)
House_n este un proiect colaborativ i multi-disciplinar condus de Departamentul de
Arhitectur al MIT. Scopurile globale ale acestui proiect includ crearea unor medii care
acoper anumite nevoi pentru persoane din diferite categorii de vrst, crearea unui mediu
dinamic i obinuit, dezvoltarea unor algoritmi care interpreteaz datele venite de la senzori
pentru a detecta aciunile nfptuite de oameni, explorarea impactului tehnologic asupra
mediilor de nvare tradiionale, precum i impactul avut de comandarea de la distan a unor
anumite aciuni. Principalele iniiative ale grupului House_n sunt The PlaceLab i Open
Source Building Alliance (OSBA).
The PlaceLab este un ansamblu rezidenial aflat n Cambridge, Massachusetts,
proiectat pentru a fi un mediu foarte flexibil i multi-disciplinar pentru cercetare i observare
pentru studiul tiinific al omului i abloanelor lui de interaciune cu tehnologii noi i cu
condiiile noi oferite de mediu. Casa experimental este ocupat pentru o perioad de timp de
un anumit voluntar care nu are interaciune cu cercetrile, ele fiind fcute din afar, pentru ca
el s poat aciona ct mai natural. Cercettorii au capacitatea de a monitoriza aproape fiecare
aspect al vieii n cas, n particular ce aciuni ia locuitorul pe durata unei zile. Unii ocupani
sunt studiai i anterior n propriile lor locuine acetia purtnd o baterie portabil de senzori
dezvoltat de ctre cercettorii MIT. Aceste dispozitive monitorizeaz de la distan aciunile
svrite de subiecii care particip la experiment, att nainte de a locui n cas, precum i
dup aceea. Principalele probleme care se ridic n cadrul experimentului sunt:
Ce influeneaz comportamentul oamenilor n propria lor cas?
Cum se poate eficientiza aportul tehnologic n cadrul traiului n cas pe
perioade mai ntinse de timp?
Poate tehnologia s modeleze schimbrile de comportament din timpul vieii?
24
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

n ce msur, monitorizarea i msurarea activitilor din cas pot fi


cuantificate n aa manier nct se pot crea noi aplicaii pe calculator utile
casei?
Cum poate tehnologia s fie folosit pentru a facilita controlul caselor din
prezent i viitor, s se economiseasc resurse i s se mbunteasc
sntatea?
Ce influeneaz modul n care oamenii se adapteaz la noi medii?
Care este modul de nvare al oamenilor n contextul casei?
Ce inovaii aduse unei case ar putea mbunti cel mai semnificativ maniera
noastr de a tri viaa de zi cu zi?
OSBA Open Source Building Alliance are scopul de a dezvolta componente cheie ale
unui model reactiv cu ajutorul cruia s se poat crea locuine n care:
Dezvoltatorii devin integratori i membri ai alianei i ofer soluii adaptate
indivizilor;
Arhitecii concep abloane de proiectare pentru a crea n mod eficient mii de
medii inteligente unice;
Productorii aprob standardele interfeelor i devin furnizori de componente
de primul nivel;
Constructorii devin instalatori i asamblori;
Clienii sunt cei din centrul procesului primind informaii personalizate legate
de proiectare, produse i servicii n funcie de deciziile lor.
Dintre implementrile realizate de ctre aliana OSBA amintim:
OSBA: Integrated Interior Infill (I3);
Sisteme OSBA care ofer soluii gen work-at-home, sisteme acustice
integrate, sisteme interactive, elemente transformabile, aplicaii i dispozitive
conectate n reea .a.m.d.
OPEN Prototype House Initiative
A fost format pentru a crea nite prototipuri de locuine care testeaz un nou model
pentru design-ul i fabricarea unor locuine cu reactivitate mare. Aceast alian, condus de
MIT House_n Open Source Building Alliance i Bensonwood Homes, va permite partenerilor
industriali s colaboreze pentru prototipizarea i crearea unor noi materiale, sisteme,
dispozitive utile pentru casele inteligente.
Just-In-Time Persuasive User Interfaces for Motivating Healthy Behaviors
Acest program investigheaz tehnologiile i proiectarea interfeelor utilizator pentru a
crea dispozitive i spaii persuasive. Programul dezvolt o tehnologie care detecteaz automat
un anumit punct de decizie (point-of decision) folosind senzori de mediu. Interfeele utilizator
folosesc aceste informaii just-in-time despre ce aciune efectueaz un anumit individ, i
idei preluate din psihologia social i alte tiine sociale, pentru a motiva o schimbare a
comportamentului n perioade lungi de timp aplicnd o metod neiritant, educaional.
Astfel, domeniile n care se aplic aceast idee sunt conservarea energiei, regim
alimentar sntos, activitate fizic, sigurana personal i la locul de munc i nvarea.
Informaiile pot fi expuse cel mai eficient pe un dispozitiv pervasiv, precum un telefon mobil.

25
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

FUNDAMENTARE TEORETIC

3.1
3.1.1

Modelarea formal a contextelor


Ageni bazai pe cunotine

Aplicaia curent are la baz folosirea agenilor inteligeni. Precum oamenii cunosc,
nva i raioneaz, cunotinele i raionamentele sunt aplicate i n cazul agenilor bazai pe
cunotine. Astfel ei i pot nsui comportamente foarte greu de atins ntr-o alt manier. De
exemplu [39], un agent-reflex poate s gseasc o rut valid ntre 2 orae doar prin noroc,
sau un agent bazat pe rezolvarea problemelor poate rezolva probleme foarte complexe, dar
cunotinele sale sunt limitate i inflexibile. Cunotinele unui agent pot fi exprimate n
diferite forme generale, combinnd i recombinnd informaii pentru diferite scopuri, nu de
fiecare dat dintre cele mai folosite, la fel cum un matematician poate dezvolta o nou
teorem, care nu neaprat trebuie s satisfac anumite nevoi din acel moment.
Agenii bazai pe cunotine joac un rol crucial n cazul mediilor observabile parial
precum casele inteligente. Acetia pot combina cunotinele generale cu informaiile curente
pentru a infera aspecte nevizibile ale strii curente, nainte de a decide o anumit aciune, la
fel cum un doctor diagnosticheaz un pacient pentru a infera boala cu care se confrunt
pacientul, care nu este direct observabil, nainte de a i prescrie un anumit tratament [39].
Agenii bazai pe cunotine sunt foarte flexibili. Acetia sunt capabili s accepte noi
ntrebuinri sub forma unor obiective descrise i pot deveni competeni pentru a le ndeplini
doar spundu-li-se sau nvnd noi cunotine despre mediu, putndu-se adapta schimbrilor
mediului reactualiznd cunotinele relevante despre acesta.
3.1.1.1

Baze de date de cunotine


Componenta central i esenial a unui agent bazat pe cunotine este baza de
cunotine sau prescurtat KB (Knowledge Base). O baz de cunotine este la modul cel mai
simplist, un set de propoziii. Propoziiile se folosesc n acest cadru ca i termen tehnic,
acestea fiind exprimate ntr-un limbaj numit limbaj de reprezentare a cunotinelor, care poate
fi un limbaj ontologic, i reprezint nite adevruri formale pe care vrem ca agentul s le tie.
Principalele funcionaliti ale unei baze de cunotine sunt:
Adaug propoziii noi n baza de cunotine;
Interogheaz cunotinele existente.
Aceste 2 funcionaliti sunt numite n [39] TELL, respectiv ASK. n Figura 3 .4
poate fi vizualizat structura general a programrii unui agent bazat pe cunotine. Ambele
funcionaliti pot implica inferena, care este derivarea unor noi propoziii din cele existente.
Ca un orice alt agent, agenii bazai pe cunotine preiau la intrare o informaie perceput (n
cazul unei case inteligente o informaie primit de la senzorul de temperatur, de exemplu) i
returneaz o aciune. Agentul folosete baza de cunotine pentru a efectua orice operaiune.
De fiecare dat cnd programul prezentat n Figura 3 .4 este apelat, se efectueaz 3 lucruri.
Prima dat, se adaug informaiile percepute n baza de cunotine. Ulterior, este interogat
baza de date pentru a cere ca rspuns o aciune pe care ar trebui s o nfptuiasc, n acest
proces putnd fi implicate mai multe aciuni de argumentare n legtur cu starea curent a
mediului, despre diferite scenarii posibile ale concretizrii aciunii returnate .a.m.d., acest
proces decizional fiind cel mai pretenios dintre paii concrei ai programului. n final, agentul
executa aciunea i informeaz KB dac aciunea a fost concretizat i care au fost
consecinele.
26
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Figura 3.4 Cazul general de programare a unui agent bazat pe cunotine

Programul iniial al agentului, nainte de a primi informaii de la mediu, este construit


adugnd una cte una propoziiile care reprezint cunotinele celui care a fcut proiectarea
despre mediul n care va aciona agentul. Limbajul folosit pentru a exprima aceste propoziii
este un limbaj declarativ. O abordare mai veche sugera folosirea unui limbaj procedural
pentru a exprima aceste propoziii direct prin cod de program. n cazul aplicaiei de fa vom
folosi un limbaj declarativ pentru a reprezenta cunotinelor. El va fi detaliat n seciunile
urmtoare.
n plus, pe lng aceste aciuni din program prin care i se spune unui agent ce s fac,
se pot aduga acestui agent mecanisme care i permit s nvee de la sine. Aceste cunotine
pot fi ncorporate n baza proprie de cunotine putnd fi folosite pentru luarea deciziilor,
astfel putnd construi un agent autonom.

3.1.2

Reprezentarea cunotinelor

n seciunea anterioar am prezentat agenii bazai pe cunotine. Aceste cunotine


trebuie reprezentate ntr-un limbaj declarativ. Aici vom detalia conceptul de ontologie, cu
ajutorul creia se poate organiza mediul i entitile componente ntr-o ierarhie generalizat i
structurat de clase.
Domeniile complexe, precum controlarea unui robot ntr-un mediu schimbtor,
precum o cas inteligent, necesit o reprezentare generalizat i flexibil a informaiilor.
Conceptele generale ce trebuie reprezentate sunt Aciune, Timp, Obiect Fizic, Presupunere.
Reprezentarea acestor concepte este domeniul ingineriei ontologice.
Este duntor s ncercm s reprezentm o descriere complet a tuturor lucrurilor,
existente, dar e binevenit s reprezentm conceptele de baz, care ulterior s fie detaliate, n
funcie de necesiti. Colecia general de concepte reprezentate, se numete ontologie
superioar, datorit conveniei de a reprezenta conceptele generale n partea de sus, n timp
ce conceptele specifice completeaz partea de jos a modelului, ca n Figura 3 .5.

27
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Figura 3.5 Exemplu de modelare a unei ontologii superioare. Conceptele generale sunt prezente n
partea superioar a figurii

Pentru orice ontologie specializat este posibil s se fac schimbri pentru a putea
conecta aceast ontologie ntr-una mai generalizat. Aceast proprietate confer reprezentrii
ontologice a cunotinelor o flexibilitate foarte mare, fiind exact ceea ce este nevoie pentru
modelarea bazei de cunotine a unui agent bazat pe cunotine care acioneaz ntr-o cas
inteligent. O problem care se pune este dac toate ontologiile ar putea converge la o
ontologie generalizat [25]. Acest lucru este un subiect de controvers. Totui, exist nite
caracteristici ale ontologiilor de uz general care le face s fie distincte fa de ontologiile
specializate:
O ontologie generalizat trebuie s poat fi aplicat n orice domeniu
specializat;
ntr-un domeniu suficient de complex cunotinele diferite trebuie unificate
deoarece argumentarea i rezolvarea problemelor poate s implice mai multe
domenii simultan.

3.1.3

Folosirea ontologiilor n modelarea contextelor

3.1.3.1

Modelarea contextului cu ontologii


n trecut, integrarea senzitivitii la context n sistemele ubiquitous s-a dovedit a fi o
munc complex i foarte costisitoare datorit lipsei de infrastructura necesar, cum ar fi
componente hardware, sisteme de operare, precum i inexistena unui model de contexte
comune care s permit reutilizarea [45].
n [21] sunt expuse cerinele de infrastructur i de reutilizare pentru a crea servicii
senzitive la context pentru o cas inteligent:
Un model comun de reprezentare a contextelor, care poate fi mprtit de
toate dispozitivele i serviciile. Aceast component e necesar deoarece
fiecare component ca parte din sistemul casei inteligente trebuie s aib
aceeai interpretare a datelor schimbate. Folosirea unui model comun dintr-un
singur domeniu sau ntre mai multe domenii eficientizeaz schimbul de
informaii ntre componente.
Un set de servicii care execut achiziie de context, descoperire de context i
interpretare de context.
Reprezentarea folosind ontologii se dovedete a fi cea mai bun abordare n rezolvarea
problemelor de independen a componentelor, mpreun cu limbajul de exprimare, sistemul
28
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


de operare i componentele middleware. Avantajele modelrii contextelor folosind ontologii
aplicate i n proiectul curent sunt [46]:
Permit analiza formal a cunotinelor prin argumentarea contextelor;
Prin argumentare, concepte de nivel nalt pot fi derivate din concepte de nivel
jos;
Ontologiile pot fi verificate pentru consisten i pot fi validate n funcie de
celelalte ontologii existente;
Pot fi introduse relaii inter-ontologice i ierarhii implicite bazate pe reguli.
3.1.3.2

Proiectarea ontologiilor de context


Dei exist multe propuneri de proiectare a ontologiilor de context, se pune problema
ce model este cel mai potrivit i care aduce cele mai multe avantaje cnd se creeaz un sistem
senzitiv la context nou. Astfel se ridic urmtoarele ntrebri:
Ct de bine poate o ontologie s reprezinte concepte, atribute i relaii ntr-o
form exact i bine definit?
Ct de capabil este limbajul pentru a crea interogri eficiente pentru
argumentare?
Care este cea mai eficient proiectare n arhitectura ontologic?
Cum pot fi extinse aceste ontologii pentru a suporta incertitudinea?
Care este ctigul de performan folosind alegerea de proiectare?
Propunerile existente de proiectare, unele fiind n curs de standardizare, susin un
model ierarhic i stratificat.
Contextele pot fi organizate n dou categorii majore, context direct i indirect.
Contextul direct, achiziionat direct de la un furnizor. Mai departe contextul direct poate fi
clasificat n context senzorial i context predefinit. Contextul senzorial este achiziionat de la
senzorii casei inteligente sau de la senzorii virtuali, cum ar fi serviciile. Contextul definit este
cel mai des predefinit de ctre utilizator n mod particular. Folosind un mecanism de
argumentare a contextelor, se pot infera contexte indirecte, bazate pe cele directe. De
exemplu, statutul curent al unei persoane care este la du ntr-o cas inteligent poate fi inferat
din locaia sa, starea nclzitorului de ap i starea uii. n figura 3.3 se pot observa ontologii
specifice pentru o cas inteligent.
Diferitele tipuri de contexte au caracteristici temporale diferite, de exemplu contextul
senzorial este dinamic odat cu trecerea timpului, n timp ce contextul predefinit este static.
De asemenea, pot interveni inconsistene sau conflicte ntre diferitele tipuri de contexte,
datorit erorilor de tehnologie sau ntrziere n procesare. Doar clasificnd contextele variate
i tiind caracteristicile se poate efectua argumentare de contexte pentru a elimina conflictele
i a menine consistena [13].

29
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Figura 3.6 Un exemplu de definire a ontologiei specifice unei case inteligente reprezentate prin
reele Bayesiene

Unul dintre cele mai cunoscute modele este SOCAM (Service Oriented Context
Aware Middleware) detaliat n [21]. Specificaiile acestuia presupun o arhitectur natural pe
dou nivele ca Figura 3 .7:
Nivelul superior - pentru ontologii superioare comune, n care sunt ncadrate
conceptele generale;
Nivelul inferior - pentru ontologii specifice, care sunt aplicate n cteva
domenii inteligente.

Figura 3.7 Model de proiectare a ontologiilor contextuale, folosind SOCAM

30
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Ontologiile sunt scrise n OWL (Ontology Web Description Language), limbajul
pentru ontologii Web propus de W3C. Ontologiile definite n OWL pot fi referite prin
serverele Web de ctre alte ontologii i descrcate de ctre aplicaii care folosesc ontologiile.
Faptul c aceste ontologii pot fi accesate prin diferite servere Web, furnizeaz flexibilitatea i
extensibilitatea necesar unui sistem distribuit.
Avantajele folosirii unei astfel de arhitecturi stratificate este faptul c numrul
cunotinelor de context este redus, iar procesarea contextului de ctre mecanismul de
argumentare este limitat, prin rencrcarea dinamic a ontologiilor de nivel inferior atunci
cnd apari modificri de mediu. Ontologiile inferioare specifice se pot ataa ontologiei
generale pentru a crea prin deducie concepte de nivel nalt.
O alt abordare specific n elaborarea ontologiilor de context este CoOL[46]. Precum
SOCAM acesta se bazeaz tot pe o arhitectur pe dou nivele:
Nivelul inferior CoOL Core. Acest nivel se bazeaz pe limbajele OWL,
DAML + OIL de descriere a ontologiilor, de altfel, oferind extensii pentru
folosirea i a altor limbaje descriptive;
Nivelul superior CoOL Integration o colecie de extensii de scheme i
protocoale.
Autorii argumenteaz c flexibilitatea alegerii limbajului de reprezentare a ontologiilor
favorizeaz dezvoltatorii de programe care au posibilitatea de a alege pe cel mai potrivit
planurilor lor. Mecanismul de argumentare este construit n limbajul F-Logic, n principiu
pentru c F-Logic este un limbaj orientat obiect, expresiv, avnd posibilitatea de extensie la
argumentare bazat pe reguli.
Modelul contextual propus este bazat pe modelul ASC (Aspect Scalabilitate Context).
Modelul ASC este construit n jurul acestor trei concepte de baz, entitile fiind instane ale
informaiilor contextuale. Un aspect agreg una sau mai multe modele scalare i ncapsuleaz
obiecte avnd aceleai semantici. Informaia contextual ncapsuleaz datele propriu-zise
mpreun cu meta-datele care caracterizeaz datele propriu zise.
Tabel 3.2 Comparaie ntre SOCAM i CoOL privind modelarea ontologiilor de context

Limbaj de descriere

SOCAM
OWL

Specificaii Model

Proiectat pe 2 nivele
Modeleaz contexte i relaii cu
tipuri de date i obiecte
Extensii
probabilistice
ale
predicatelor

Mecanism de
argumentare

Argumentare ontologic
Argumentare cu reguli

Concluzii

Fiabilitatea ontologiilor se
folosesc
numai
ontologiile
inferioare
n
procesul
de
argumentare.
Model foarte bine acceptat n
dezvoltarea sistemelor ubiquitous

CoOL
OWL sau alte limbaje
(DAML, F-Logic .a.m.d.)
Proiectat pe 2 nivele
Utilizeaz modelul ASC
Modelul ASC poate fi folosit
ca un model de transfer ntre
diferite tipuri de modele de
context
Mecanism de inferen Onto
Broker
F-Logic ca limbaj de
interogare
ASC este un model flexibil
ce poate folosi ca vocabular
de baz pentru alte modele.
ASC se poate folosi cu valori
eterogene
care
descriu
aceeai entitate
31

Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


3.1.3.3

Limbajul OWL
a) Introducere
Limbajul OWL se afl ntre specificaiile World Wide Web Consortium (W3C) i este
folosit ca o component fundamental a iniiativei Semantic Web [30]. Limbajul se bazeaz
pe Extensible Markup Language (XML), XML Schema[31], Resource Description
Framework (RDF) i pe RDF Schema (RDF-S) [09]. Este divizat n 3 sub-limbaje diferite
prin expresivitate: OWL-Lite, OWL-DL i OWL-Full. OWL-DL este folosit cel mai frecvent,
pentru c este cel mai expresiv, fr a pierde completitudinea i decidabilitatea, spre deosebire
de OWL-Full.
Au fost dezvoltate mai multe unelte pentru a putea lucra cu OWL:
Protg, care este un editor grafic;
Jena, care este un Java API pentru a accesa ontologiile OWL;
Racer, un modul de inferen care poate fi integrat cu Jena i Protg.
Mai multe detalii despre aceste unelte vor fi furnizate n seciunile ulterioare.
b) Elementele limbajului OWL
Cele mai importante elemente ale limbajului OWL vor fi descrise aici. O specificare
detaliat poate fi gsit n [26]. Cuvntul cheie Class este folosit pentru a defini concepte
ontologice. Cuvntul cheie subClassOf definete concepte specializate, deci poate fi folosit
pentru a construi taxonomii. Cuvntul cheie DataTypeProperty este folosit pentru a defini
atribute i concepte. Scopul variabilei se specific prin schem XML. Cuvntul cheie
ObjectProperty definete relaii ntre concepte. Acestea pot fi marcate ca i tranzitive,
simetrice sau funcionale. Dou relaii pot fi marcate ca una fiind inversa celeilalte. Relaiile
pot fi specializate folosind subPropertyOf n analogie cu subClassOf pentru concepte.
Att relaiile ct i atributele pot fi modificate prin restricii de cardinalitate i noi
valori. De asemenea este posibil s se defineasc fapte despre conceptele, atributele i relaiile
definite anterior prin instanierea lor. Aceste instane se numesc indivizi. Mai mult, este
posibil s definim concepte specializate, dependente de valorile relaiilor i atributelor.
OWL furnizeaz de asemenea mijloace pentru a clasifica ontologiile i pentru a marca
conceptele, atributele, relaiile i indivizii n analogie cu elementele altor ontologii. Acest
lucru furnizeaz interoperabilitatea sistemelor care folosesc ontologii diferite.
c) Argumentare folosind OWL
Potrivit semanticii diferitelor elemente ale limbajului se pot deduce cunotine n mod
explicit folosind faptele deja definite. Conform proprietilor subClassOf, subPropertyOf,
intersectionOf, unionOf i disjointWith se poate calcula ce indivizi aparin unui concept i
vice-versa, ce concepte se mapeaz unui obiect dat. O list mai complet de reguli poate fi
gsit n [32].
Mai mult, valorile unor atribute i relaii pentru un individ pot fi calculate n cazul n
care acestea nu sunt explicit precizate, folosind subPropertyOf, inverseOf i proprietile de
tranzitivitate i simetrie.
Exist mai multe metode cu care se face modelarea i argumentarea contextelor.
Dintre acestea amintim SOCAM, CoOL, CONON, COBRA-ONT i SOUPA. SOCAM i
CoOL fac parte din scopul acestei teme fiind detaliate n capitolul precedent. Toate aceste
metode, folosesc semantica ontologic pentru a face argumentare logic. Totui, beneficiul
real al folosirii ontologiilor pentru informaii despre context n sistemele pervazive, nu va
deveni efectiv nainte ca s se propun un standard general valabil pentru ontologia
contextelor.

32
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Tabel 3.3 O parte din regulile de argumentare OWL

3.1.4

Extensii probabilistice ale ontologiilor

n domeniul caselor inteligente incertitudinea este un aspect inerent. De exemplu, cel


mai evident caz de incertitudine este incorectitudinea i imperfeciunea datelor preluate de la
senzori. Agenii, n aproape nici un caz nu au acces n ntregime la toate informaiile din
mediu. De asemenea, aceti ageni raionali trebuie s poat crea raionamente n incertitudine
ntr-o manier eficient. Toate aceste aspecte privind incertitudinea n modelarea contextelor
se traduc n interpretare eronat a datelor de context de nivel inferior i implicit a datelor
derivate de nivel superior.
nc de la apariia sa, modelul probabilistic sau modelul reelelor Bayesiene [39] s-a
dovedit a fi o tehnic bine ntemeiat pentru reprezentarea i raionarea n incertitudine. n
particular o reea Bayesian reprezint o distribuie uniform a unui set de variabile aleatoare.
Cu ajutorul acestui model se poate rspunde la interogri complexe despre oricare dintre
aceste variabile. Astfel reelele Bayesiene furnizeaz diferite tipuri de raionamente:
Predicie Raionare de la cauz la efect;
Abducie Inferarea unei cauze din efect;
Explicare Evidenele privind cauza unui eveniment reduc posibilitatea
consumrii unui alt eveniment datorit rezultatelor lor comune. Acest lucru
este dificil de modelat n sistemele cu raionamente bazate pe reguli.
Totui o limitare fundamental a reelelor Bayesiene n cazul reprezentrii
cunotinelor este faptul c acestea nu pot reprezenta informaia structural i relaional [49].
Deci o reea Bayesian nu este potrivit pentru a reprezenta date contextuale corelate i
dinamice n mediile computaionale omniprezente.
n [48] se prezint un model unificat care motenete avantajele folosirii att a
modelului probabilistic, ct i al ontologiilor, aceste dou tehnici fiind integrate. Cu ajutorul
acestui model se va putea construi o ontologie care va reprezenta att structural ct i
probabilistic cunotinele contextuale, iar raionamentele n incertitudine vor fi construite tot
cu ajutorul reelelor Bayesiene.
33
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


O mare parte a cercetrii n domeniul caselor inteligente s-a adresat problemei de
incertitudine. Printre primele eforturi a fost ncercarea de a modela incertitudinea
informaiilor contextuale folosind atribute precum imperfeciunea, acurateea .a.m.d. Astfel
acest model unificat este compus din dou pri eseniale:
Schema relaional Reprezint structura i organizarea informaiilor sub
form de clase, relaii i proprieti.
Model probabilistic care adnoteaz dependenele probabilistice condiionale
dintre proprietile claselor.
Un exemplu de reprezentare a acestor dou scheme poate fi vzut n figura 3.5:

Figura 3.8 (a) Schema relaional i (b) Modelul probabilistic pentru o cas inteligent

Bazat pe modelul propus mai sus putem construi o ontologie de context pentru a capta
cunotinele preluate dintr-o cas inteligent. Precum se specific i n cazul arhitecturii
SOCAM, i aici se pot modela ontologii de context folosind acel model stratificat, cu
ontologiile generale pe nivelul superior, iar cele specifice pe nivelul inferior.
Acest model are dou componente:
Ontologie generic este ontologia de nivel superior la fel ca i n cazul
SOCAM;
Ontologie specific o colecie de ontologii de nivel inferior care definesc
detalii despre conceptele i proprietile din fiecare sub-domeniu. O ontologie
specific pentru un sub-domeniu este compus din dou pri:
o Schema relaional care specific relaiile i cascadrile ntre relaii
pentru sub-domeniu;
o Modele probabilistice care reprezint dependenele probabilistice
condiionale dintre proprietile acelui sub-domeniu.
n figura 3.6 ontologia generic definete conceptele de CompEntity, Location,
Person, Activity. Detaliile fiecrui concept generic precum relaiile sau dependenele
probabilistice sunt redefinite n ontologii specifice domeniului, care pot varia de la un
domeniu la altul.

34
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Figura 3.9 Arhitectura SOCAM cu ontologii specifice i modele probabilistice pe nivelul inferior

Contextul ontologic se reprezint folosind limbajul OWL, cruia i-au fost adugate
cteva elemente pentru a modela conceptele noi, privind relaiile ntre entitile probabilistice
i modelele probabilistice. Limbajul este numit de cercettori PROWL (Probabilistic
Annotated OWL, tradus OWL cu adnotri pentru probabiliti).
Folosind aceast structur de modelare probabilistic a contextelor, se pot face 3 tipuri
de raionamente:
Raionamente din schema de baz a modelului:
o Raionament bazat pe reguli;
o Raionament ontologic.
Raionamente inovative adugate de modelul extins:
o Raionament Bayesian.
Raionamentele bazate pe reguli au aceeai logic precum n schema clasic, dar cu
meniunea c n acest model sunt aplicate claselor probabilistice i nu unor clase normale.
Raionamentele ontologice sunt asemenea cu cele din schema clasic, doar ca ele sunt
reprezentate acum n PROWL. Totui se pot face raionamente tip OWL fr probabiliti,
folosind OWL, deci nu se va ajunge la o constrngere de limbaj n cazul n care nu se vrea
folosirea probabilitilor pentru astfel de raionamente.
Raionamentele Bayesiene se fac pe baza reelelor Bayesiene construite din modelul
contextului. n funcie de domeniu se pot construi una sau mai multe reele derivate care
corespund fiecrui model probabilistic. Aceste reele se construiesc folosind algoritmul
Construct-BN [50].
Avantajele acestui model sunt introducerea probabilitilor n modelarea iniial a
contextelor. Deoarece ontologiile reprezint conceptele dintr-un domeniu, acest model de
context poate ngloba ntr-o manier facil. Folosind aceast abordare se poate modela un
domeniu al bazei de cunotine comun pentru casele inteligente fr a fi necesar construcia
unei baze de cunotine noi de fiecare dat. Deci aceast modelare suport scalabilitatea.
35
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

3.2
3.2.1

Metode folosite pentru modelarea bazelor de cunotine


Metodologii existente pentru crearea bazelor de cunotine

Ingineria proiectrii cunotinelor se ocup cu structurarea, dezvoltarea i


standardizarea bazelor de cunotine. Aa cum a fost precizat i n capitolele anterioare
ontologiile sunt un model comun i cel mai folosit pentru reprezentarea cunotinelor i
crearea bazelor de cunotine.
n [51] se descriu multiple metodologii create de-a lungul timpului pentru a defini
baze de cunotine folosind ontologii. Metoda folosit de ctre Cyc KB [52] este compus din
3 faze. Prima faz const din codificarea manual a cunotinelor existente, n care
cunotinele comune sunt preluate manual. A doua i a treia faz se refer la achiziionarea
noilor cunotine utiliznd limbajul natural, respectiv unelte de nvare folosite de
dispozitivele de calcul. Diferena dintre aceste dou faze este faptul c cunotinele noi sunt
achiziionate de dezvoltatori folosind unelte n faza a doua, respectiv automat de ctre maini
n faza a treia.
n metoda KACTUS [53] ontologiile se construiesc pe baza unei baze de cunotine a
unei aplicaii existente, la care se aplic un proces de abstractizare. Astfel, cu ct mai multe
aplicaii vom construi, cu att mai general va deveni baza de cunotine. Cu alte cuvinte,
metoda presupune crearea unei baze de cunotine pentru o aplicaie, pentru ca mai trziu dac
o baz nou de cunotine va fi necesar pentru un domeniu similar, se va generaliza baza de
date existent ntr-o ontologie i se va adapta ambelor aplicaii. Aceasta este o metod
bottom-up (de jos n sus).
Metoda Sensus [54] este o abordare top-down (de sus n jos) pentru a deriva
ontologii specifice din ontologii mari. Autorii propun identificarea unui set de termeni cheie
care sunt relevani pentru un anumit domeniu.
Methontology [55] este o metodologie cu ajutorul creia se pot crea baze de cunotine
fie de la nceput, fie printr-un proces de reutilizare. Acest mediu de dezvoltare include mai
muli pai n construirea lor aa cum se poate vedea n figura 3.7: identificarea procesului de
dezvoltare ontologic, un ciclu de via bazat pe prototipuri evolutive i tehnici particulare
pentru executarea fiecrei activiti.

Figura 3.10 Procesul de dezvoltare a unei baze de cunotine folosind Methontology

36
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Pe lng aceste metodologii enumerate mai sus, mai exist i altele, niciuna dintre
aceste abordri neatingnd nc stadiul de maturitate, comparnd, de exemplu cu ingineria
software. Totui, se poate considera Methontology cea mai matur abordare n construirea
bazelor de cunotine, recomandat i de FIPA. Toate aceste metodologii nu sunt unificate,
deoarece fiecare grup de cercettori aplic abordarea proprie n procesul creaional.
Colaborarea ntre aceste grupuri pentru a unifica abordrile lor ar fi cea mai rezonabil
metod pentru a ajunge la un proces unificat i matur de creare a ontologiilor specifice
aplicate n cazul bazelor de cunotine.

3.2.2

Unelte de dezvoltare a ontologiilor

n ultimii ani numrul de unelte pentru construirea de ontologii a crescut exponenial.


Aceste unelte au scopul de a oferi suport pentru dezvoltarea de ontologii i pentru folosirea
acestora. Astfel vor fi prezentate cele mai importante unelte pentru ca mai apoi s fie descris
mai amnunit unealta folosit pentru crearea ontologiilor pentru casa inteligent dezvoltat n
lucrarea de fa i anume Proteg.
Ontoligua Server [56] a fost prima unealt creat pentru dezvoltarea ontologiilor. A
fost dezvoltat la Universitatea din Stanford i a aprut n 1990, pentru a facilita dezvoltarea
ontologiilor de tip Ontoligua folosite pentru nite aplicaii de tip Web. Iniial, Ontoligua
Server se comporta ca un editor pentru ontologii pentru ca mai apoi s fie adugate noi
module precum Webster, care era un rezolvitor de ecuaii sau OKBC (Open Knowledge Base
Conectivity) care era un modul de conectare la baza de cunotine, mai trziu standardizat ca
i protocol de comunicaie. Editorul funciona de asemenea ca un translator inter-limbaje,
precum LOOM, Prolog, CORBA IDL, CLIPS .a.m.d.
Tot din acea generaie de unelte a aprut Ontosaurus [57] dezvoltat la Institutul de
tiine Informaionale de la Universitatea South-California. Acesta avea n componena sa
dou module: un server de ontologii, care folosea LOOM pentru reprezentarea cunotinelor i
un client Web care avea i suport de translatare din LOOM n Ontoligua, KIF, KRSS i C++.
Ontologiile puteau fi de asemenea accesate folosind protocolul OKBC.
Aceste unelte din prima generaie au dezavantajul de a fi create ca fiind neextensibile,
dependente de limbaj, fiind create pentru a fi folosite doar la nivel de proiect de cercetare, nu
pentru uz comun.
A doua generaie de unelte de dezvoltare de ontologii a aprut recent. Ele au fost
construite ca fiind medii robuste integrate n sisteme care aduc suport tehnologic pe toat
durata de via a activitii unei ontologii. Acestea au fost concepute prin arhitecturi
extensibile, bazate pe componente, unde noi module se pot integra uor pentru a aduga
ntrebuinri noi. Pe lng toate acestea, modelele de reprezentare a cunotinelor sunt
independente de limbaj. Protg 2000 [65 dezvoltat la Universitatea din Stanford, este un
program gratuit, independent de platform, cu o arhitectur extensibil. Partea esenial a
acestuia o constituie editorul de ontologii, dar se pot importa module pentru a edita ontologii
n diferite limbaje (F-Logic, Jess, OIL, XML, Prolog), dispune de acces OKBC, creare i
execuie de constrngeri (PAL), fuzionare de ontologii (PROMPT) .a.m.d. WebODE [66] este
succesorul lui ODE i a fost dezvoltat la Universitatea Tehnic din Madrid. Este o unealt
asemntoare cu Protg i implementeaz metodologia Methontology prezentat n seciunea
anterioar. Ontologiile sunt pstrate n baze de date relaionale i de asemenea suport
introducerea de limbaje ontologice diferite (XML, RDF, OIL, DAML+OIL, F-Logic, Jess).
n ultima generaie au aprut extensii ale editoarelor enumerate mai sus pentru a edita
ontologii i a crea baze de cunotine specifice serviciilor Web semantice.
37
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


3.2.2.1

Protg 4
Mediul de dezvoltare a ontologiilor Protg, ajuns la a 4-a versiune, este un mediu
complet i stabil pentru dezvoltarea bazelor de cunotine i a ontologiilor oferind facilitatea
de a integra o varietate mare de module adiionale, care pot fi dezvoltate i de ctre utilizatorii
de rnd, codul surs al aplicaiei fiind pus la dispoziie.
Protg dispune de 2 editoare separate fiecare avnd un anumit scop. Editorul
Protg-Frames faciliteaz dezvoltarea bazelor de cunotine compatibile cu standardul
OKBC. Acest editor furnizeaz interfee utilizator, care pot fi modificate pentru a modela
cunotinele dup bunul plac al utilizatorului, precum i module pentru vizualizare,
management, inferen sau raionare. De asemenea este pus la dispoziie i un API Java care
poate fi folosit pentru a crea alte aplicaii pentru accesarea cunotinelor modelate cu Protg
Frames.
Editorul Protg-OWL face posibil dezvoltarea de ontologii folosind standardul W3C
OWL. Acesta ofer uneltele necesare pentru a folosi ontologiile OWL i RDF, suport pentru
vizualizarea claselor, expresii OWL i alte faciliti. Platforma Protg ofer flexibilitatea de a
integra module adiionale. Aceste module sunt de trei tipuri: module de stocare, module
grafice i panouri.
Un modul de stocare este un modul care salveaz sau ncarc modele dintr-un format
fiier sau baze de date (XML, XML Schema, RDF .a.m.d.).
Un modul grafic se ocup de partea grafic a aplicaiei, fiind o component cu ajutorul
creia se pot vizualiza imagini, sunete sau chiar imagini video.
Panourile pot fi vizualizate n fereastra principal Protg. Exist mai multe subtipuri
de panouri n Protg:
Panouri de vizualizare:
o OntoWiz vizualizare grafic configurabil sub form de graf pentru
ontologii i relaiile ntre ele. Se formeaz o diagram similar cu
UML.
o TGWiz vizualizare grafic a metodelor claselor.
o Jambalaya o unealt de rsfoire a ontologiilor care permite editarea
acestora.
Panouri pentru managementul fiierelor sau a proiectului:
o BeanGenerator genereaz clase Java (Java Beans) dintr-un model
de clase ontologice specificate n Protg.
o Prompt permite manipularea a diferite modele care pot fi unificate,
comparate, sau compuse.
o DataGenie ntrete interaciunea dintre Protg i baze de date
furniznd un modul JDBC de conectare la baze de date.
Panouri pentru motoare de raionare:
o QueryTab pentru interogarea bazei de cunotine.
o PAL mecanism de editare i evaluare a axiomelor PAL (Protg
Axiom Language Limbajul Axiomelor Protg).
Conceptul de ontologie are n Protg o form asemntoare cu cea a claselor din
proiectarea orientat-obiect. Clasele Protg sunt similare cu clasele Java i pot fi aezate ntro structur ierarhic, diferena fiind c aceste clase nu conin definiii de metode. Acestea pot
fi abstracte sau concrete, doar cele concrete putnd fi instaniate. Protg suport de asemenea
motenirea multipl. Atributele sunt definite ca perechi nume-valoare: valori primitive (logic,
ntreg, flotant, ir de caractere); numele se reprezint printr-un ir de caractere. Aceste atribute
pot fi de asemenea referine la alte clase sau instane de clase. Cu ajutorul atributelor se
construiesc relaiile ntre clase.
38
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

3.3

Metode folosite pentru dezvoltarea agenilor

Dei numrul de medii de dezvoltare a agenilor a crescut mult n anii cureni, medii
care furnizeaz unelte vizuale i interfee pentru a uura proiectarea agenilor i realizarea a
diverse sisteme de ageni, eforturile i investiiile n acest sens sunt considerabil mai mici,
dect n dezvoltarea uneltelor menite altor ramuri ale industriei software.
Totui, metodologiile existente elaborate de diferite laboratoare de cercetare n
domeniul sistemelor multi-agent sugereaz mprirea procesului de dezvoltare a agenilor n
faze similare cu dezvoltarea unui alt produs software. Astfel procesul este mprit n 5 faze:
cerinele primare, cerinele secundare, proiectarea arhitecturii, proiectarea detaliat,
implementarea.
Cerinele primare identific actorii i obiectivele reprezentate de dou modele diferite.
Se construiesc diagrame care depicteaz implicrile i relaiile dintre actorii modelului,
numite dependine. Aceste dependine depicteaz modul n care actorii depind unii de alii
pentru a ndeplini obiectivele sau pentru a executa planurile. Diagramele obiectivelor
nfieaz analiza obiectivelor i planurilor referitoare la un actor responsabil s le
ndeplineasc.
Toate aceste modele sunt extinse n faza de cerine secundare, care modeleaz sistemul
ncadrat n mediul n care va aciona. n aceast faz obiectivele sunt descompuse n subobiective.
n faza de proiectare detaliat se construiesc specificaiile obiectivelor, capacitilor i
a raionamentelor agenilor. De asemenea, comunicarea ntre ageni este specificat n detaliu.
n aceast faz se proiecteaz sistemul strict dependent de platforma de dezvoltare folosit,
fiind adaptat la trsturile programrii adaptate a agenilor.
Faza de implementare are ca obiectiv generarea codului de construire a agenilor din
specificaiile oferite folosind proiectarea de detaliu.

3.3.1

Platforme de dezvoltare a agenilor

Datorit existenei unui numr mare de platforme i unelte de dezvoltare a agenilor,


fiecare oferind diferite faciliti, este binevenit o evaluare a acestora nainte de a alege una
care s satisfac necesitile sistemului dezvoltat. n principiu, criteriile de evaluare a
diferitelor medii de dezvoltare sunt necesitate, popularitate, ntreinere, documentaie.
Platformele pentru ageni furnizeaz un mediu n care se pot crea ageni executabili i
faciliteaz i servete la coordonarea agenilor prin platform, de exemplu, timpul de execuie
al unui agent, facilitnd totodat comunicarea cu alte module necesare n ansamblul
sistemului, unele platforme implicnd i elemente de securitate.
Fundaia pentru ageni fizici inteligeni FIPA [53] (The Foundation for Intelligent
Physical Agents) este o organizaie care promoveaz i standardizeaz tehnologiile folosite n
construirea agenilor. FIPA a completat un proces de standardizare a platformelor de
dezvoltare a agenilor. Acest proces include 5 cerine pe care o platform trebuie s le
ndeplineasc: comunicarea ntre ageni, transportul ntre ageni, managementul agenilor,
arhitectura abstract a platformei, respectiv aplicaii care extind platforma.
Arhitectura abstract a unei platforme precum i comunicarea ntre mai multe
platforme precizat n standardele FIPA poate fi vzut n figura 3.8..

39
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Figura 3.11 Arhitectura general a unei platforme de ageni i comunicarea ntre acestea

n [56] sunt analizate diferite platforme dup urmtoarele trsturi:


Standardizare standardele comune pentru dezvoltarea agenilor sunt FIPA i
(OMG) MASIF;
Comunicare suport pentru comunicare prin mesaje ntre platforme;
Liceniere ce tip de liceniere necesit;
Accesibilitate;
Mobilitate abilitatea de a migra un agent n stare de execuie;
Securitate securitatea intr i inter-platforme;
Documentare la nivel utilizator sau dezvoltator .
FIPA-OS [58] este o platform bazat pe componente, care faciliteaz dezvoltarea
rapid a agenilor conformi FIPA. FIPA-OS suport majoritatea specificaiilor experimentale
FIPA, fiind mbuntit n mod regulat ca proiect open-source.
Standardizare FIPA;
ntreieere Ultima versiune 2.2.0;
Comunicare Tehnologiile de comunicaie puse la dispoziie sunt ACL, IIOP,
RMI, XML;
Liceniere - licen public EPL (Emorphia Public License);
Accesibilitate orice sistem de operare, necesit minim Java 4;
Mobilitate suport ageni mobili, doar ca prototip;
Securitate RMI este criptat cu SSL pentru comunicare securizat interplatforme;
Documentare la nivel utilizator sau dezvoltator.
Jack [60] este un mediu de dezvoltare orientat agent integrat n totalitate cu mediul de
dezvoltare Java. JACK furnizeaz o extensie orientat agent limbajului de programare Java,
avnd un mediu de dezvoltare i furniznd un set de clase utile dezvoltrii de aplicaii. Codul
surs JACK este compilat mai nti n cod surs Java nainte de a fi compilat mai departe n
cod-main pentru a fi executat.
Standardizare FIPA;
ntreinere Ultima versiune 3.5;
Comunicare Necesit o reea DCI pentru comunicare, similar cu TCP/IP;
40
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Liceniere licen public;
Accesibilitate orice sistem de operare;
Mobilitate nu suport mobilitatea agenilor;
Securitate profit de securitatea oferit de JDK;
Documentare detaliat.
Zeus [61] are ca scop dezvoltarea rapid a aplicaiilor multi-agent furniznd un set de
unelte i componente care sunt folosite pentru a proiecta, dezvolta i organiza sistemele de
ageni. Mai mult, acesta furnizeaz un mediu care permite efectuarea de statistici i rapoarte,
vizualizarea agenilor, o interfa bine realizat, permite repararea agenilor, furnizeaz librrii
de strategii predefinite i multe alte faciliti. n schimb, documentaia disponibil este foarte
redus, ceea ce duce la multe dificulti n crearea aplicaiilor de ctre nceptori.
Standardizare FIPA;
ntreinere Ultima versiune 3.5;
Comunicare KQML i ACL;
Liceniere licen public;
Accesibilitate orice sistem de operare;
Mobilitate criptare prin cheie public sau privat;
Securitate codare MIME;
Documentare la nivel utilizator sau dezvoltator.
Platforma cea mai folosit pentru dezvoltarea agenilor este JADE [59]. Aceasta fiind
platforma folosit n proiectul curent, vom detalia specificaiile ei n seciunea urmtoare.

3.3.2

Platforma JADE

JADE (Java Agent Development Framework) a fost dezvoltat pentru a fi compatibil


cu specificaiile FIPA pentru sisteme multi-agent inteligente i interoperabile. Scopul acestuia
este de a simplifica dezvoltarea, asigurnd n acelai timp cerinele standardului printr-un set
de servicii sistem pentru ageni. Acest produs poate fi considerat un middleware care
implementeaz o platform pentru ageni i un mediu de dezvoltare pentru ageni. Sunt luate
n considerare toate aspectele care nu au de a face cu cerinele de construire ale unui agent, i
care sunt independente de aplicaie, precum transportul de mesaje, codarea mesajelor, sau
ciclul de via al unui agent.
JADE creeaz depozite multiple pentru ageni, fiecare dintre acestea poate fi pe
aceeai main sau pe maini diferite. mpreun, toate aceste containere formeaz platforma
JADE precum n figura 3.9. Fiecare platform trebuie s aib un depozit principal, care deine
doi ageni speciali:
AMS (Agent Management System) Sistemul de management al agenilor
este agentul care deine autoritatea n platform, fiind agentul care creeaz sau
distruge ali ageni, distruge depozite de ageni sau oprete platforma.
DF (Directory Facilitator) Agenda de servicii a agentului care funcioneaz
ca un serviciu dup paradigma pagini aurii, care public serviciile agenilor
din platform, astfel nct ceilali ageni care au nevoie de aceste servicii, s le
poat gsi.
Platforma JADE dispune de nite servicii care furnizeaz tehnologii de creare a
agenilor specifice aplicaiilor multi-agent distribuite:
Controlul ciclului de via al agenilor;
Mobilitatea agenilor;
Transport punct-la-punct de mesaje;
41
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Securitate, toleran la erori, suport pentru ageni replicai;


Planificarea mai multor aciuni simultane;
Unelte grafice care suport monitorizarea, controlul i depanarea aplicaiilor:
Ageni de monitorizare la distan, Ageni introspectori .a.m.d.

Figura 3.12 Platforma, depozitele i comunicaiile ntre platforme JADE

JADE furnizeaz de asemenea o integrare complet cu ontologiile create folosind


Protg. n terminologia JADE ontologiile mpreun cu reprezentarea lor se numesc scheme.
Aceste scheme se refer la clase Java proiectate pentru a reprezenta structura static a
ontologiilor. Elementele specifice ale unei scheme sunt obiecte care descriu structura
conceptelor, aciunilor i predicatelor permise n mesaje. De asemenea, pentru crearea acestor
scheme JADE furnizeaz un mecanism de transformare a ontologiilor direct din limbajul
descriptiv OWL n clase JAVA. Aceast unealt face ca integrarea dintre ontologiile descrise
n Protg i JADE s fie simpl.

3.3.3

Mediul JADEX 0.96

Jadex (JADE eXtension) este o aplicaie JADE, care este folosit pentru a crea
raionamente de tip BDI (Belief-Desire-Intention Convingere-Dorin-Intenie) pentru
ageni BDI, implementai folosind platforma JADE [62]. Ultima versiune aprut n 2007 este
0.96 care este o versiune stabil. Recent, Jadex a ajuns la versiunea 2.0 care este nc n faz
beta.
3.3.3.1

Modelul BDI definit n Jadex


Jadex faciliteaz folosirea modelul BDI pentru ageni introducnd presupuneri,
obiective i planul ca obiecte foarte importante care pot fi create i manipulate n interiorul
unui agent. n Jadex agenii au presupuneri care sunt modelate sub forma obiectelor Java i
42
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


memorate ntr-o baz de cunotine. Obiectivele reprezint strile de atins care influeneaz
comportamentul agenilor. Pentru a atinge obiectivele, un agent execut planuri care sunt
transpuse prin metode procedurale n Java. Arhitectura abstract prin care se pot vizualiza i
componentele descrise mai sus poate fi vzut n Figura 3 .13 [63].

Figura 3.13 Diagrama de colaborare ntre componentele unui agent Jadex

Aa cum se poate observa raionamentele agenilor Jadex se construiesc folosind cele


dou componente inter-conectate. Pe de o parte agentul reacioneaz la mesajele venite,
evenimente interne i obiective selectnd i executnd planuri, pe cealalt parte interpretorul
de raionamente proceseaz obiectivele curente pentru a vedea ce sublan consistent ar trebui
urmat.
Cele 3 concepte de baz ale unui agent Jadex sunt presupunerile, obiectivele i
planurile, acestea 3 fiind definite de ctre dezvoltator pentru a defini comportamentul
agentului BDI. Realizarea acestor 3 concepte este descris pe scurt n continuare.
Baza de presupuneri memoreaz faptele care se presupun a fi adevrate i este un
punct de acces pentru datele coninute de agent. Astfel, aceast component abstractizeaz
cunotinele i reprezint o vedere unificat a cunotinelor agentului. Reprezentarea
presupunerilor n Jadex este foarte simplificat i nu suport niciun mecanism de inferen.
Baza de presupuneri conine iruri de caractere care reprezint un identificator pentru o
presupunere specific (similar cu numele tabelei dintr-o baz de date relaional). Aceti
identificatori sunt mapai valorilor presupunerilor, numite de aceast dat fapte, care pot fi
convertite n obiecte Java. Jadex suport n acest moment dou tipuri de astfel de presupuneri:
presupuneri singulare i seturi de presupuneri. Deci baza de presupuneri fiind tare tipizat,
poate verifica n momentul rulrii dac obiectele care respect tipurile prezentate mai sus sunt
memorate.
Obiectivele sunt tratate n mediul Jadex ca fiind dorinele concrete ale unui agent la un
moment dat n timp. Pentru fiecare obiectiv pe care l are, un agent va nfptui aciuni, pn n
momentul n care consider obiectivul ca fiind atins, sau c acesta nu poate fi atins, sau c nu
se mai dorete atingerea acelui obiectiv. Spre deosebire de alte sisteme n Jadex nu trebuie ca
43
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


toate obiectivele s fie consistente unul cu cellalt. Pentru a distinge ntre obiectivele nou
propuse i obiectivele pentru care deja se ndeplinesc aciuni, s-a creat conceptul de ciclu de
via al obiectivului, obiectivele putndu-se astfel afla n 3 stri: activ, suspendat i opional.
Cnd un nou obiectiv este introdus el intr n sistem cu starea opional. Mecanismul de
deliberare a obiectivelor, este responsabil pentru determinarea tranziiilor pentru obiectivele
active. Unele obiective pot fi valide doar n contexte specifice determinate de presupunerile
agentului. Cnd un obiectiv devine invalid pentru contextul curent, acesta este marcat ca
suspendat pn la validarea contextului.
Patru tipuri de obiective sunt suportate de ctre mediul Jadex. Primul tip se refer la
obiectivele care definesc o aciune care trebuie executat, dar care nu neaprat conduce la un
rezultat specific. Al doilea tip se refer la obiectivele care definesc un scop sau care au o int
fr ns a se specifica cum se atinge acel obiectiv. Al treilea tip se refer la obiectivele care
reprezint o nevoie pentru informaii noi. Dac informaiile cerute nu sunt la dispoziie,
planurile sunt selectate i executate pentru a aduna informaiile necesare. Al patrulea tip i
ultimul reprezint obiectivele care specific o stare a agentului care trebuie pstrat odat ce a
fost atins. Toate obiectivele sunt reprezentate ca obiecte care au cteva atribute. Starea final
poate fi specificat ca o expresie evaluat pentru a verifica dac obiectivul a fost atins.
Structura obiectivelor care sunt n starea activ este memorat ntr-o baz de obiective. Un
agent BDI specificat n Jadex are cteva obiective de nivel nalt, care servesc ca puncte de
intrare n baza de obiective. Obiectivele pot fi separate n sub-obiective, formndu-se astfel o
structur arborescent de obiective.
Planurile descriu aciunile concrete pe care un agent le poate executa pentru a
ndeplini obiective. Un dezvoltator dezvolt un plan specificnd antetul planului i planul
propriu-zis. Antetul conine condiiile sub care planul poate fi executat i este specificat n
fiierul de descriere a agentului. Corpul planului este o structur secvenial, care descrie
aciunile care trebuie executate pentru a atinge un obiectiv sau pentru a reaciona la un
eveniment. n timpul execuiei unui plan se pot defini noi sub-obiective i atepta ca alte
evenimente s apar.
3.3.3.2

Definirea agenilor n Jadex


Definirea complet a unui agent se face n fiierul de definire a agentului. Acest fiier
este un fiier n format XML care conine toate proprietile relevante pentru un agent
(presupuneri, obiective, planuri). Pe lng descriptorii XML folosii pentru componentele
agentului, dezvoltatorul poate folosi expresii ntr-o variant Java pentru a specifica valori sau
parametri. Acest fiier este un fel de descriere a clasei agentului. Din acest fiier se instaniaz
agenii precum obiectele se instaniaz din clasele lor. De exemplu, planurile sunt declarate
specificnd cum s fie instaniate folosind clasele Java de descriere i un trigger cu care se
determin condiiile n care planul se execut. Tot n acest fiier se definete starea iniial a
unui agent folosind o configuraie iniial. Scrierea corect a fiierului de definiie a agentului
va fi detaliat n seciunea de implementare a lucrrii curente.

44
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

SPECIFICAII I ARHITECTUR SISTEM

4.1

Specificaiile sistemului

Principalele specificaii ale sistemului sunt controlarea i monitorizarea mediului,


dispozitivelor i aplicaiilor din casa inteligent. Sistemul va avea n componen trei tipuri de
roboi care vor trebui adaptai la contextul casei inteligente.

4.1.1

Controlul casei inteligente

Sistemul Smart House va furniza control automat al unor obiecte casnice (aparat de
aer condiionat, nclzirea central) mpreun cu controlul factorilor de confort din cas
(luminozitate, umiditate, cldur), sistemul fiind capabil s ia o decizie asupra aciunilor sau
misiunilor care trebuie nfptuite bazate pe datele contextuale procesate.
Cerinele funcionale ale sistemului dezvoltat curent vor fi prezentate n continuare.
4.1.1.1

Coordonarea aciunilor
Aplicaia va integra planuri de aciuni predefinite n vederea efecturii anumitor
execuii complexe i totodat va permite facilitatea de a crea aciuni definite de utilizator.
Utilizatorul va avea abilitatea de a stabili obiectivele primare ale sistemului, precum
maximizarea confortului locuitorilor casei inteligente. Obiectivele care trebuie atinse cnd se
vorbete de coordonarea aciunilor sunt:
Crearea sau anularea unei aciuni Utilizatorul va putea s introduc noi
aciuni sau s replanifice sau s anuleze misiunea curent. n cazul n care se
produc dependene n executarea unei misiuni planificate, sistemul va putea
crea aciuni care s fie executate naintea aciunii specificate.
Executarea aciunilor Aplicaia va executa n mod automat aciunile
planificate sau va putea s replanifice aciunile care nu au fost terminate cu
succes.
Crearea de rapoarte Orice aciune nfptuit n sistem va fi detaliat ntr-un
raport de execuie.
4.1.1.2

Executarea operaiilor
Sistemul va putea s execute operaii de baz ca rspuns la schimbrile de context sau
aciuni primitive, ca operaii unitare ale unei misiuni. Dintre operaiile care se vor putea
nfptui n sistemul dezvoltat identificm:
Manipularea de obiecte Roboii vor putea manipula obiecte, preluarea i
mutarea a diferitelor obiecte ntre diferite locaii ale casei.
Controlul dispozitivelor Sistemul poate s i adapteze comportamentul n
mod automat, modificnd starea diferitelor dispozitive ubiquitous n acord cu
situaia curent sau intervenia direct a utilizatorilor. Cerina primordial a
sistemului este s creeze o atmosfer ct mai confortabil pentru locuitorii
casei inteligente, prin controlarea dispozitivelor, n funcie de anumii
parametri preluai ca date de context (de ex. temperatura). Printre parametrii
care pot fi manipulai se numr intensitatea luminoas, volumul muzicii
ambientale, temperatura, umiditatea etc.
45
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


4.1.1.3

Interaciunea cu utilizatorii
Utilizatorii trebuie s poat interveni n sistemul casei inteligente, dup bunul plac,
astfel sistemul necesit o interfa utilizator pentru crearea de aciuni utilizator sau controlarea
aciunilor i parametrilor cureni. Informaiile pot fi prezentate la cererea utilizatorului sau
automat cnd se execut o anumit aciune specific.

4.1.2

Monitorizarea casei inteligente

4.1.2.1

Achiziia datelor de context


Sistemul va putea extrage informaii contextuale de nivel inferior de la numr mare de
furnizori de informaie, prin senzori fizici sau programe software. Aceste informaii de
context care vor fi urmrite sunt:
Urmrirea locaiei unei persoane, robot, sau obiect Locaia este cea mai
important dat contextual care este procesat. Sistemul trebuie s poat
detecta prezena membrilor familiei sau a intruilor, locaia acestor persoane n
timp-real, precum i locaia roboilor casei inteligente sau a altor dispozitive
relevante.
Identificarea persoanelor, obiectelor, roboilor Persoanele sau roboii trebuie
identificai de sistemul casei inteligente, pentru a programa aciuni specifice
fiecrui actor din casa inteligent n mod separat.
Monitorizarea condiiilor de mediu din interiorul sau exteriorul casei
inteligente Monitorizarea acestui tip de condiii va fi posibil prin
achiziionarea informaiilor de la diferitele tipuri de senzori: luminozitate,
umiditate, zgomot, presiune etc..
Monitorizarea dispozitivelor i a aplicaiilor casei inteligente Deoarece
dispozitivele, aplicaiile i actuatorii n sistemul casei inteligente pot furniza
informaii contextuale valoroase, monitoriznd care dintre dispozitive este
folosit precum i starea lor actual este foarte important pentru ndeplinirea
obiectivelor sistemului curent. Astfel sistemul va monitoriza:
o Starea uilor nchis / deschis / ncuiat;
o Starea porii de la garaj nchis / deschis;
o Starea sistemului de nclzire nchis / deschis / nivel de nclzire;
o Starea sistemului de iluminare nchis / deschis;
o Starea ferestrelor nchis / deschis .a.m.d.
4.1.2.2

Procesarea datelor de context


Raionamentele aplicate pe datele contextuale, infer date contextuale de nivel
superior din date de context senzoriale i atomice, meninnd consistena bazei de cunotine.
Sistemul va ngloba reguli de inferen i de asemenea reguli auto-configurabile, pentru a
putea raiona asupra informaiilor contextuale.
Determinarea tipului de activitate nfptuit de un locuitor al casei inteligente este o
problem complex pentru sistemul senzitiv la context al casei i este bazat pe achiziia
informaiilor atomice de nivel inferior precum locaia, monitorizarea condiiilor de mediu sau
a dispozitivelor folosite.
Aceste date sunt procesate i n timp sistemul stabilete preferinele personale ale
fiecrui locuitor, pentru ca ulterior s determine programul zilnic al fiecrui locuitor. Astfel
sistemul va ngloba i funcia de nvare, pentru a deduce i actualiza preferinele
utilizatorilor.
46
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


4.1.2.3

Propagarea datelor de context


Dup achiziionarea informaiilor contextuale relevante, datele contextuale trebuie s
fie propagate la dispozitive, roboi, aplicaii. De asemenea aceste informaii necesit s fie
adaptate n funcie de tipul dispozitivului, n cazul n care un anumit dispozitiv al casei
inteligente necesit acele informaii.

4.1.3

Adaptarea roboilor la casa inteligent

Cele trei tipuri de roboi cu care va fi prevzut sistemul casei inteligente sunt robotul
supervizor, robotul care ndeplinete misiuni i robotul de companie, care se ocup de
divertismentul locuitorilor casei.
Aceti 3 roboi vor trebui adaptai la sistemul casei inteligente. Provocrile construirii
adaptabilitii roboilor la sistemul casei inteligente se rezum la dou motivaii-cheie. Prima,
un model adecvat sistemului casei inteligente, proiectat pentru a ndeplini misiunile pentru
care ei au fost introdui, respectiv, descrierea modelului folosind un limbaj cunoscut
sistemului.
4.1.3.1

Reprezentarea adecvat a roboilor


Unul din rolurile eseniale ale unei reprezentri este ca aceasta s ndeplineasc rolul
de substitut al obiectului real care trebuie controlat. O reprezentare bun a roboilor face de
asemenea posibil raionarea pe baza modelului, putnd astfel executa diferii algoritmi de
raionare pentru a infera cunotine noi pentru a reflecta pe ct mai bine cu putin evoluia
ulterioar a lumii n care acioneaz sistemul.
Elaborarea unui astfel de model a fost tot timpul o provocare pentru oricine a fost
interesat de reprezentarea unei pri din lumea real. Faptul c trebuie s reprezentm de
exemplu elementele reprezentative ale strii n care un membru al familiei, este suprat sau
gnditor, pentru a putea alerta robotul de companie s nceap s i fac datoria poate fi de
multe ori o problem complex i greu de atins.
4.1.3.2

Comunicarea dintre roboi


n plus fa de reprezentarea adecvat a roboilor, inteligena sistemului robotic const
de asemenea n interaciunea acestuia cu mediul casei inteligente. Roboii care execut
servicii pentru un mediu casnic inteligent, trebuie s aib mai multe funcionaliti cheie:
localizare, navigare, cartografiere, interaciune om-robot, recunoatere de obiecte i
manipulare de obiecte. Pentru a executa aceste funcionaliti roboii trebuie s fie n legtur
cu sistemul senzorial al casei, precum i cu ceilali roboi pentru a prelua informaii relevante.
4.1.3.3

Serviciile roboilor din casa inteligent


Scenariile pentru roboi dorite n casa inteligent tratat n lucrarea de fa sunt:
Mutarea obiectelor Acest scenariu are la baz mutarea obiectelor din
camera copiilor cnd acetia sunt plecai de acas, precum i a altor obiecte din
diferite camere, n contextul n care robotul este ntiinat c aceste obiecte nu
se afl la locul lor. Robotul (mission robot) desemnat pentru a nfptui
aceast sarcin navigheaz prin camer i identific respectivele obiecte
folosind semnale RFID, ridic, transport i depoziteaz obiectele n poziia
desemnat. Printre obiectivele urmrite din acest scenariu sunt depozitarea
jucriilor n cutii i depozitarea lor n locul lor de depozitare, de exemplu,
garaj.
47
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

4.2

Servicii de divertisment pentru copii Acest serviciu este un serviciu


complex, n care se detecteaz starea de spirit a copiilor, n cazul n care se
detecteaz c unul dintre acetia ar fi suprat, robotul de divertisment (pet
robot) intr n aciune, ndeplinind anumite planuri preluate din baza sa de
cunotine i ducndu-le la finalitate, pn cnd se atinge unul din obiectivele
fixate i anume ca starea de spirit a copilului suprat s se schimbe ntr-una
mai vesel.
Patrularea prin diferite ncperi ale casei Acest scenariu este menit s
ajute la supravegherea casei inteligente, s detecteze sosirea sau plecarea unui
membru de acas, s detecteze eventuali intrui. Robotul (supervisor robot)
menit s nfptuiasc acest scenariu supravegheaz buna funcionare a
celorlali roboi i detecteaz schimbri de mediu pentru a putea alerta sistemul
sau ceilali roboi de noile planuri i obiective care trebuie ndeplinite.

Arhitectura sistemului

Cum a fost detaliat n capitolele anterioare, dezvoltarea sistemelor multi-agent


omniprezente trebuie sa ia n considerare o serie de factori:
Omniprezena dispozitivelor folosite;
Interoperabilitate;
Comportament proactiv;
Scalabilitate;
Acuratee;
Mobilitate;
Securitate.
Pentru flexibilitate i scalabilitate arhitectura aleas este o arhitectur orientat pe
ageni, distribuit i ierarhic. Este alctuit din 5 componente legate ntre ele, precum n
Figura 4 .14 Diagrama arhitectural a sistemului.

4.2.1

Nivelul Senzorial

Acest nivel controleaz traficul de informaii captate de la senzori i le transmite la


sistem prin platforma unde urmeaz s fie prelucrate. Agenii logici software de la acest nivel
transform informaiile preluate de la nivelul fizic, transformndu-le n informaii inteligibile
pentru calculator.
Agenii senzor de la acest nivel achiziioneaz datele specifice i controleaz
acurateea lor fiind capabili s detecteze funcionarea maliioas a senzorilor sau alte tipuri de
erori.
Pentru fiecare tip de senzor din sistem este responsabil un agent logic, care
monitorizeaz schimbrile de context i eventualele erori aprute.
Un agent supervizor supravegheaz ciclul de via a agenilor logici senzoriali i este
responsabil de pornirea acestora i de controlarea lor.

4.2.2

Nivelul Dispozitivelor

Nivelul dispozitivelor are un scop asemntor cu nivelul senzorilor, cu deosebirea c


agenii specifici acestui nivel manipuleaz datele venite de la nivelul fizic legate de celelalte
48
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


dispozitive senzitive la context acestea fiind achiziionate la acest nivel nainte de a fi trimise
la sistem.
Un agent este responsabil pentru fiecare dispozitiv omniprezent, astfel toate datele
preluate de la unul dintre aceste dispozitive fiind procesate la acest nivel i trimise mai
departe la sistem
De asemenea un agent supervizor este responsabil de ciclul de via al agenilor pentru
dispozitive i este responsabil de pornirea i oprirea acestora.

Figura 4.14 Diagrama arhitectural a sistemului

4.2.3

Nivelul Roboilor

n acest nivel se mapeaz la nivel de ageni roboii din sistem prelund informaiile de
la nivelul fizic legate de roboi i introducndu-le n sistem. Cei trei roboi monitorizai prin
ageni logici sunt:
Pet Robot robotul preocupat de divertismentul din cas;
Mission Robot mutarea diferitelor obiecte din cas;
Supervisor Robot care monitorizeaz activitatea roboilor precum i alte
schimbri legate de locuitorii casei.
Agentul logic Robot Manager este responsabil de controlarea agenilor logici pentru
roboi fiind senzitiv la modificrile aprute n activitatea roboilor activi din cas.

4.2.4

Nivelul Decizional

La acest nivel, prin introducerea regulilor de inferen, informaiile despre context de


nivel nalt sunt deduse din informaiile de context preluate de la diferitele dispozitive
49
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


ubiquitous. Tot acest nivel este responsabil de crearea, meninerea i actualizarea bazei de
cunotine.
Astfel baza de cunotine furnizeaz informaii actualizate salvate ca urmare a unor
diferite aciuni din sistem i salvnd informaiile contextuale specifice fiecrei entiti din
sistem. Agentul logic responsabil pentru baza de cunotine are responsabilitatea de a raiona
n privina contextelor existente. Rezultatele raionamentelor fcute de acest agent sunt
comunicate celorlali ageni prin platform, acestea fiind concretizate prin aciuni.
Tot acest nivel are i funcia de nvare, nvnd preferinele actorilor umani ai casei
inteligente.

4.2.5

Nivelul de control i monitorizare

Acest nivel concretizeaz interaciunea dintre roboi i oameni, precum i dintre


oameni i sistem, furniznd capaciti de nivel nalt pentru interaciunea dintre entitile din
casa inteligent.
Dintre facilitile oferite de acest nivel enumerm: nregistrarea a noi entiti fizice n
sistem, precum un dispozitiv utilizator, nregistrarea unor noi aciuni sau misiuni,
reprezentarea grafic a mediului casei pentru utilizator.

4.2.6

Nivelul fizic

Acest nivel reprezint senzorii la nivel fizic, diferite obiecte, dispozitive, actuatori care
furnizeaz informaii de cele mai multe ori eronate sau inconsistente despre sistem. Fiecare
informaie provenit de la o categorie de dispozitive fizice este controlat i prelucrat de un
anumit nivel din arhitectura curent, nainte de a fi trimis la nivelul de achiziionare de
context din sistem.

50
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

PROIECTARE DE DETALIU

n acest capitol se detaliaz procedura de proiectare a sistemului Smart House. Aici se


va proiecta explicita proiectarea sistemului ncepnd de la nivelul inferior pn la proiectarea
sistemului n ansamblu. De asemenea se vor prezenta detaliile de arhitectur, diagramele de
clase, cazurile de utilizare precum i detaliile de implementare precum i dificultile
ntmpinate n decursul dezvoltrii sistemului.

5.1

Analiza cerinelor

5.2

Proiectarea arhitecturii

Proiectarea i implementarea arhitecturii sistemului multi-agent prezentat n capitolul


anterior va fi detaliat n aceast seciune. Agenii implicai la nivelul fiecrui modul sunt
responsabili pentru a atinge anumite obiective, pentru aceasta ei efectund anumite planuri
care sunt cerute de ctre sistemul de roboi. Anumii ageni suplimentari sunt introdui pentru
a contribui la ndeplinirea unor cerine funcionale sau non-funcionale.
Mijloacele prin care se pot atinge obiectivele, i anume planurile i presupunerile
iniiale, pot fi descompuse pn la activiti unitare. Proiectarea arhitectural cuprinde
urmtoarele faze:
Descompunerea i detalierea diagramei arhitecturale general aceast faz
implic apariia a noi actori i noi sub-obiective i planuri care au ca scop
ndeplinirea cerinelor funcionale ale sistemului;
Includerea de noi actori specifici stilului arhitectural;
Includerea de noi actori care s contribuie proactiv la ndeplinirea cerinelor
non-funcionale
Identificarea capabilitilor

5.2.1

Sistemul de roboi

Sistemul SmartHouse dezvoltat fiind echipat cu 3 roboi, un subsistem multi-agent a


fost proiectat pentru a se ocupa cu aciunile specifice roboilor. Roboii trebuie s poat s
nfptuiasc misiuni de manipulare a obiectelor, precum i capaciti de raionare pentru a
putea opera n mod autonom, expunnd astfel un comportament senzitiv la context.
Agentul manager al roboilor are rolul de a iniia misiunea celor trei ageni roboi.
Fiecare dintre aceti trei ageni are responsabiliti bine definite, i poate s execute misiuni
planificate sau chiar i neplanificate, n funcie de contextul curent. Diagrama de obiective
majore pentru sub-sistemul de roboi poate fi vzut n Figura 5 .15. Fiecare dintre cei trei
roboi are planuri i obiective diferite. n continuare vom detalia arhitectura agenilor roboi.

51
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Figura 5.15 Diagrama de obiective a sub-sistemului de roboi

5.2.1.1

Agentul Robot Manager

Misiunea acestui agent este crearea sistemului de ageni roboi al sistemului multiagent al casei. Atunci cnd sistemul Smart House pornete el ndeplinete urmtoarele aciuni:
nregistrare agent la platforma de ageni Acest lucru se face printr-un sistem
request-response prin care se cere platformei autorizarea pornirii agentului
manager.
Cutare ageni roboi n baza de cunotine Dup ce nregistrarea acestui
agent s-a nfptuit cu succes acest agent este responsabil cu cutarea n baza de
cunotine a agenilor de tip robot care trebuie s ii porneasc.
Pornire ageni roboi Dup ce au fost gsite toate posibilele instane de
ageni, acesta caut misiunile fiecruia dintre acetia, i pornete fiecare tip de
agent robot cu misiunea asignat.
Supraveghere funcionare ageni roboi Dup ce procesul de pornire a
acestor ageni, dac procesul a fost terminat cu succes, acesta supravegheaz
din punct de vedere funcional software buna funcionare a agenilor de tip
robot.
Oprire ageni roboi Dac se declaneaz procesul de oprire a sistemului
multi-agent, acest agent este alertat cu acest lucru i oprete toi agenii logici
aflai n subordinea sa.
Acest agent are asignate urmtoarele ipoteze, planuri i obiective:
52
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Ipoteze (beliefs)
o Tipul roboilor aceasta ipotez este necesar pentru acest agent pentru
a ti ce tip de cunotine s caute n baza de cunotine
o Creare robot nou aceast ipotez i specific agentului robot tipul de
obiect cu care va fi instaniat robotul.
o Distrugere roboi aceast ipotez permite agentului manager
distrugerea celorlali ageni folosind agentul AMS.
Planuri(plans)
o Plan de gsire a agenilor roboi Acest plan se concretizeaz printr-o
operaie de extragere a tipurilor de roboi din baza de cunotine
folosind un mecanism de tip request-response ntre acest agent i
agentul responsabil cu baza de cunotine
o Plan de distrugere a agenilor roboi Acest plan se concretizeaz prin
distrugerea agenilor roboi creai.
Obiective(goals)
o Creare agent Acest obiectiv este o referin spre unul din obiectivele
agentului master al platformei numit AMS(Agent Management
Service)
o nregistrare agent Acest obiectiv este o referin spre unul din
obiectivele agentului de tip DF al platformei de ageni.
Dup cum s-a vzut mai sus acest agent joac un rol esenial n crearea sub-sistemul
multi-agent pentru roboii casei, nefiind implicat direct n vreuna din misiunile de baz ale
sistemului multi-agent al casei, dar comportndu-se ca un agent master care comunic cu
sistemul de control al casei, fiind responsabil pentru managementul celorlali ageni robotici ai
casei.
5.2.1.2

Agentul Robot Supraveghetor

Agentul robot supraveghetor este agentul care mapeaz la nivel software aciunile pe
care robotul supervizor trebuie s le ndeplineasc, el avnd misiunea de a supraveghea
aciunile celorlali roboi care particip activ la misiunea casei, efectund aciuni n scopul de
sporire a confortului locatarilor.
Aciunile acestui agent robot sunt:
Cutare ageni roboi n baza de cunotine Aceast operaiune se execut
odat cu crearea acestuia de ctre agentul manager, el cutnd instanele de
roboi pe care va trebui s i supravegheze, cutnd toate detaliile (ipoteze,
planuri, obiective) despre ei i monitoriznd buna funcionare a acestora
Procesarea schimbrilor de context Schimbarea sau adugarea de noi
cunotine care au impact direct asupra sub-sistemului de roboi vor fi sesizate
i procesate de ctre acest agent.
nregistrarea aciunilor efectuate de robotul misiune i robotul divertisment
Planurile i obiectivele care trebuie atinse de ctre roboii supervizai sunt
sesizate de ctre acest robot.
Planificarea de noi aciuni n cazul unor schimbri de cerine sau alte
schimbri de context, robotul supervizor va putea planifica noi aciuni pe care
roboii supervizai s le ndeplineasc.
nregistrarea de noi ipoteze n cazul n care n baza de ipoteze a
subsistemului de roboi apar ipoteze acestea vor fi sesizate de ctre agent i vor
fi procesate.
53
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Stabilirea de noi obiective Obiectivele noi vor fi planificate de ctre acest


agent pentru a fi atinse.
Acest agent are asignate urmtoarele ipoteze, planuri i obiective:
Ipoteze (beliefs)
o Locaie locaia iniial n care se afl robotul;
o Tipul robotului tipul robotului;
o nceput misiune timpul n care pornete misiunea;
o Sfrit misiune timpul n care se sfrete misiunea;
o Mediul curent al casei inteligente aceast ipotez se mapeaz printrun obiect de tip singleton care conine toate cunotinele despre cas.
o Mediul vizual curent al casei inteligente aceast ipotez creaz
mediul casei inteligente n mod vizual;
Planuri (plans)
o Supravegheaz inte supravegheaz roboii int;
o Patrulare Patruleaz ncperile casei
Obiective (goals)
o nregistrare DF nregistrare robot la registrul de tip pagini aurii;
o Deregistrare DF deregistrare robot de la serviciul de tip pagini
aurii.
o Red cunotinele despre cas roboilor care ndeplinesc aciuni
Aceast funcie red toate cunotinele despre mediu existente n baza
de cunotine tuturor actorilor de tip robot.
5.2.1.3

Agentul Robot Misiune

Agentul Robot pentru misiuni este un robot specializat care are ca scop executarea
diferitelor munci prin casa inteligent. Aciunile posibile pe care le poate nfptui acest robot
sunt:
Cerere de vizualizare a mediului i nregistrare a acestuia Robotul de tip
misiune cere robotului supervizor informaii despre casa inteligent,
coordonate de miscare, harta casei, i alte informaii
Descoperire obiecte utile n cazul n care robotul are nevoie de anumite
obiecte pentru a duce la capt o misiune( o cutie, un loc de depozitare) n cazul
n care acesta trece pe lng vreunul dintre aceste obiecte el le identific i le
adaug n baza proprie de cunotine.
Cerere de actualizare a mediului casei inteligente n cazul n care se produce
o schimbare n mediu robotul de tip misiune cere robotului supervizor
rencrcarea viziunii asupra lumii i implicit a mediului casei inteligente.
Obiectivele majore ale acestui agent robot sunt proiectate astfel nct robotul misiune
s poat ndeplini obiectivele majore prezentate n figura de mai jos. Astfel obiectivele majore
ale acestui robot de tip misiune sunt:
Menine acumulatorul ncrcat Dac nivelul acumulatorului scade sub un
anumit nivel, celelalte obiective devin ignorate pentru moment, singurul
obiectiv al robotului de tip misiune rmnnd obiectivul de a menine
acumulatorul peste nivelul de urgen. Astfel se spune c acest tip de obiectiv
este inhibant. Este obiectivul de tip obiectiv de meninut setat pentru robotul
misiune.
54
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

Menine camera copiilor curat Dac n camera copiilor se afl o cutie cu


jucrii, mut aceast cutie n locul de depozitare cunoscut. Acest obiect este
blocant fa de celelalte obiective, n cazul n care robotul identific o cutie
care trebuie transportat acesta i seteaz ca obiectiv mutarea acelei cutii , n
pasul urmtor, indiferent dac robotul se afl ntr-o alt misiune de depozitare a
vreunei cutii. Acest obiectiv are asignat un plan de cutare a cutiilor,
nregistrnd n baza proprie de cunotine noile cutii aprute n mediul casei
inteligente

Figura 5.16 Obiectivele majore ale robotului care ndeplinete misiuni n casa inteligent

Patruleaz casa pentru atingerea obiectivelor Se seteaz anumite puncte de


patrulare ale robotului care sunt urmrite n modul normal cnd robotul nu se
afl n misiune de rencrcare, sau n alt tip de misiune. n mod normal dac
apare o schimbare de context, robotul iese din modul de patrulare, ndeplinind
obiectivele mai prioritare primele.
Ipotezele, obiectivele i planurile acestui tip de robot sunt:
Ipoteze(beliefs)
o Mediul curent Robotul transportor are referin spre mediul curent
o Cutiile reperate n cazul n care robotul transportor a reperat o cutie
el adaug acest reper n baza de ipoteze.
o Locurile de depozitare reperate Dac robotul a trecut prin raza
locului de depozitare acesta adaug acel loc de depozitare ca un fapt
cunoscut n baza lui de ipoteze.
o Puncte de ncrcare Robotul repereaz cu ajutorul senzorilor de
locaie punctele de ncrcare a acumulatorilor
o Locaia Locaia curent a robotului. Aceast ipotez se actualizeaz
cu fiecare micare a robotului.
o Raza vizual Aceast ipotez reprezint un factor care determin aria
vizual a robotului. Toate obiectele de interes care se vor afla n
interiorul acestei arii vizuale vor fi reperate i salvate ca ipoteze.
55
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

5.2.1.4

o Nivelul acumulatorului Aceast ipotez reprezint procentul de


ncrcare a acumulatorului robotului actualizat odat cu micarea
robotului sau ncrcarea lui.
o Punctele de patrulare Aceste constante reprezint coordonatele de
micare ale robotului. Robotul se va mica ntre aceste puncte dac nu
are un alt obiectiv mai prioritar de ndeplinit.
o Mediul curent n mod vizual Aceast ipotez se concretizeaz prin
instanierea unei ferestre de vizualizare a aciunilor robotului
transportor.
Planuri(plans)
o Planul de patrulare prin cas Patrularea prin cas se concretizeaz
o Planul de ridicare a unei cutii
o Planul de depozitare a unei cutii
o Planul de mutare ntr-o alt locaie
o Planul de ncrcare a acumulatorului
Obiective(goals) Obiectivele n mediul de dezvoltare a agenilor se despart
n trei tipuri: obiective de meninut(maintain goals), obiective de
atins(achieve goals), obiective de efectuat(perform goals) i obiective de
tip interogare(query goals)
o Obiective de meninut
Menine bateria ncrcat Acest obiectiv este obiectivul de
cea mai nalt prioritate n sistem, toate celelalte execuii de planuri
pentru a ndeplini obiective fiind oprite pentru a se executa planul
de mutare a robotului transportor nspre acumulator. Nivelul de
energie care trebuie meninut este un nivel mai mare de 20% din
valoarea total a acumulatorului. Nivelul optim de energie este
100% astfel la fiecare ncrcare robotul ateapt pentru
o Obiective de atins
Atinge obiectivul de a cura camera copiilor
Atinge obiectivul de a ridica o cutie
Atinge obiectivul de a depozita o cutie
Atinge obiectivul de a se mica ntr-o anumit locaie
o Obiective de efectuat
Patruleaz prin cas
Efectueaz cutarea gunoiului
o Obiective de tip interogare
Caut staii de ncrcare
Caut locuri de depozitare

Agentul Robot Divertisment

56
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

5.2.2

Sistemul de senzori

5.2.3

Sistemul de dispozitive

5.2.4

Sistemul de control

5.2.5

Sistemul de monitorizare

5.2.6

Proiectarea bazei de cunotine

5.3

Detalii de implementare

5.4

Scenariu de testare

57
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

6
6.1
6.2

UTILIZAREA SISTEMULUI
Modul de Utilizare
Pai de utilizare

58
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

PUNERE N FUNCIUNE I REZULTATE


EXPERIMENTALE

59
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

CONCLUZII

60
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found

BIBLIOGRAFIE

[01] K. Goldberg, S. Gentner, and C. Sutter et al., The Mercury Project: A Feasibility Study
for Internet Robotics, IEEE Robotics and Automation Magazine, vol. 7, no. 1, 2000, pp. 3540.
[02] R. Simmons, Xavier: An Autonomous Mobile Robot on the Web, Proc. IEEE/RSJ
Conf. on Intelligent Robots and Systems; Workshop on Web Robots, Victoria, B.C. Canada,
Oct.
1998,
URL:
http://www.ri.cmu.edu/pub_files/pub1/simmons_reid_1999_1/simmons_reid_1999_1.pdf
[03] P. Saucy and F. Mondada, Open Access to a Mobile Robot on the Internet, IEEE
Robotics and Automation Magazine, vol. 7, no. 1, 2000, pp. 41-47.
[04] M.R. Stein, Interactive Internet Artistry, IEEE Robotics and Automation Magazine,
vol. 7, no. 1, 2000, pp. 28-32.
[05] M. Choi, J. Hong, and H. Ju, XML-Based Network Management for IP Networks,
ETRI J., vol. 25, no. 6, Dec. 2003, pp. 445-463.
[06] Young-Guk Ha, Joo-Chan Sohn, Young-Jo Cho, and Hyunsoo Yoon, Towards a
Ubiquitous Robotic Companion: Design and Implementation of Ubiquitous Robotic Service
Framework, Sept. 15, 2005
[07] D. Wang, X. Ma, and X. Dai, Web-Based Robotic Control System with Flexible
Framework, Proc. IEEE Intl Conf. on Robotics and Automation (ICRA 2004), New Orleans,
LA, Apr. 2004, pp. 3351 - 3356.
[08] W3C Recommendation,
http://www.w3c.org/TR/ws-arch/

Web

Services

Architecture,

W3C,

2004,

URL:

[09] W3C Recommendation, RDF Primer, W3C, 2004, URL:http://www.w3c.org/TR/rdfprimer/.


[10] L. Miller, A. Seaborne, and A. Reggiori, Three Implementations of SquishQL, a Simple
RDF Query Language, Proc. 1st Intl Semantic Web Conf. (ISWC 2002), LNCS 2342,
Springer-Verlag, 2002, pp. 423-435.
[11] Z. Zenn Bien. Human-friendly Man-Machine Interaction in Smart Home. Keynote
speech at the 3rd International Conference On Smart homes and health Telematic,
Sherbrooke, Qubec, Canada, July 4-6, 2005.
[12] A. Helal, W. Mann, H. Elzabadani, J. King, Y. Kaddourah and E. Jansen, "Gator Tech
Smart House: A Programmable Pervasive Space", IEEE Computer magazine, March 2005, pp.
64-74
[13] Mohamed Ali Feki, Stphane Renouard, Bessam Abdulrazak, Grard Chollet, Mounir
Mokhtari. Coupling Context Awareness and Multimodality in Smart Homes Concept. The
10th International Conference on Computers Helping People with Special Needs. Lecture
61
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Notes in Computer Science 3118 Springer 2004, ISBN 3-540-22334-7. Paris, France, July,
2004.
[14] Kensuke Murai and Akira Okubo, Government Policy for Next Generation Robots in
Journal of the Robotics Society of Japan, Vol. 26. No.5, 2008.
[15] Ghita Kouadri Mostefaoui, Jacques Pasquier-Rocha, Patrick Brezillon Context-Aware
Computing: A Guide for the Pervasive Computing Community, Pervasive Services, ICPS
2004 IEEE/ACS International Conference, July 2004.
[16] Dey Anind K. & Gregory D. Abowd, Towards a Better Understanding of Context and
ContextAwareness, GVU Technical Report GIT-GVU-00-18, GIT, 1999.
[17] Ay Feruzan, Context Modeling and Reasoning using Ontologies, University of
Technology Berlin, Berlin , July 2007.
[18] Ronny Haryanto, Context Awareness in Smart Homes to Support Independent Living,
Master of Science in Internetworking, University of Technology, Sydney, 2005
[19] Research Center for Educational Technology, Ubiquitous Computing Where it came
from, RCET, 2006, URL: http://www.rcet.org/ubicomp/what.htm
[20] Boehm Barry, Ubiquitous Computing, Center for Systems and Software Engineering,
University
of
Southern
California,
2007,
URL:
http://sunset.usc.edu/classes/cs599_2002/Week3_c.ppt
[21] Tao Gua, Hung Keng Punga, Da Qing Zhangb, A service-oriented middleware for
building context-aware services, Journal of Network and Computer Applications, archive
Volume 28 , Issue 1, January 2005.
[22] Seng Loke , Context-aware pervasive systems: architectures for a new breed of
applications, CRC Press, 2006.
[23] T. Wahl: Konzeption und Realisierung einer Ontologie zur Modellierung und Ableitung
von Geschftsprozessen, TU Berlin, 2005
[24] J. Vo: Begriffssysteme Ein Vergleich verschiedener Arten von Begriffssystemen und
Entwurf des integrierenden Datenmodells, HU, Berlin, 2004
[25] M. Gruninger, and J. Lee: Ontology Applications and Design, in Communications of
the ACM, 2002
[26] M. K. Smith, C. Welthy, and D. L. McGuinness: OWL Web Ontology Language
Guide, URL: http://www.w3.org/TR/owl-guide
[27] S. Bechhofer, F. v. Harmelen, J. Hendler, I. Horrocks, et al.: OWL Web Ontology
Language Reference, URL: http://www.w3.org/TR/owl-ref
[28] T. R. Gruber: Ontolingua: A Mechanism to Support Portable Ontologies, Stanford
University, 1992
62
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


[29] R. M. MacGregor: Inside the LOOM description classifier, in ACM SIGART Bulletin,
1991
[30] T. Berners-Lee, J. Hendler, et al.: The Semantic Web, Scientific American, 2001
[31] Bray, T., J. Paoli, et al.: Extensible Markup Language (XML) 1.0 (Third Edition) - W3C
Recommendation. URL: http://www.w3.org/TR/2004/RECxml-20040204, 2004.
[32] X. H. Wang, T. Gu, D. Q. Zhang, and H. K. Pung: Ontology Based Context Modeling
and Reasoning using OWL, Pervasive Computing and Communications Workshops, March
2004.
[33] Daqing Zhang, Tao Gu, Xiaohang Wang: Enabling Context-Aware Smart Home with
Semantic Web Technologies, Institute for Infocomm Research, June 2005.
[34] Daqing Zhang, Xiaohang Wang: OSGi Based Service Infrastructure for Context Aware
Connected Home. Proceeding of 1st International Conference On Smart Homes and Health
Telematics (ICOST2003), IOS Press, Paris, France, 2007.
[35] T. Gu, H. K. Pung, D. Q. Zhang, Towards an OSGi-Based Infrastructure for ContextAware Applications in Smart Homes, IEEE Pervasive Computing, Vol. 3, Issue 4, 2004.
[36] Bardram, Jakob E. The Java Context Awareness Framework (JCAF) A Service
Infrastructure and Programming Framework for ContextAware Applications,Third
International Conference on Pervasive Computing, vol. 3468 of Lecture Notes in Computer
Science, Munich, Germany, May 2005.
[37] Mayrhofer Rene, An Architecture for Context Prediction, PhD Thesis,University Linz,
Austria, 2004.
[38] Wooldridge, Michael and Nicholas R. Jennings (1995), "Agent Theories, Architectures,
and Languages:a Survey", Wooldridge and Jennings Eds., Intelligent Agents, Berlin: SpringerVerlag, 1-22.
[39] Russell, Norvig, Artificial Intelligence: a Modern Approach, Russell and Norvig, 1995.
[40] Rem Collier, Gregory OHare,Terry Lowen, Colm Rooney, Beyond Prototyping in the
Factory of Agents, 3rd Central and Eastern European Conference on Multiagent Systems
(CEEMAS'03), Lecture Notes in Computer Science (LNCS), 2691, 2003.
[41] Kavi Kumar Khedo, Context-Aware Systems for Mobile and Ubiquitous Networks,
International Conference on Systems and International Conference on Mobile
Communications and Learning Technologies, 2006.
[42] Salber, Daniel, Anind K. Dey & Gregory D. Abowd. 1999, The Context Toolkit: Aiding
then Development of ContextEnabled Applications, Pittsburgh, USA, May 1999.

63
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


[43] N. Hristova, G.M.P. OHare & T. Lowen, Agent-based Ubiquitous Systems: 9 Lessons
Learnt, In Proceedings of the System Support for Ubiquitous Computing Workshop , Fifth
Annual Conference on Ubiquitous Computing (UbiComp'2003) Seattle, Washington, 2003.
[44] Strang, T. and Linnhoff-Popien, C., A Context Modeling Survey, First International
Workshop on Advanced Context Modelling, Reasoning and Management, UbiComp, 2004.
[45] Chen, Guanling, David Kotz, A Survey of Context-Aware Mobile Computing
Research, Dartmouth Computer Science, Technical Report, 2000.
[46] Thomas Strang, Claudia Linnho-Popien, Korbinian Frank, CoOL: A Context Ontology
Language to enable Contextual Interoperability, Distributed Applications and Interoperable
Systems (DAIS2003), 2003.
[47] M. K. Smith, C. Welthy, and D. L. McGuinness: OWL Web Ontology Language
Guide, URL: http://www.w3.org/TR/owl-guide
[48] Binh An Truong, Young Koo Lee, Sung Young Lee, A Unified Context Model: Bringing
Probabilistic Models to Context Ontology, EUC Workshops, 2005.
[49] J. Pearl, "Belief Networks Revisited", Artificial intelligence in perspective, p. 49-56,
1994
[50] Gregory D. Abowd and Anind K. Dey, "Towards a Better Understanding of Context and
Context-Awareness", Workshop on the what, who, where, when and how of context-awareness
at CHI 2000, Aprilie 2000.
[51] Corcho, O., Fernandez-Lopez, M., Gomez-Perez, A., Methodologies, tools, and
languages for building ontologies. Where is their meeting point?, Data and Knowledge
engineering, 2003.
[52] D.B. Lenat, R.V. Guha, Building Large Knowledge-Based Systems: Representation and
Inference in the Cyc Project, Addison-Wesley, Boston, 1990
[53] A. Bernaras, I. Laresgoiti, J. Corera, Building and reusing ontologies for electrical
network applications, Proc. European Conference on Artificial Intelligence (ECAI_96),
Budapest, Hungary, 1996, pp. 298302.
[54] B. Swartout, P. Ramesh, K. Knight, T. Russ, Toward Distributed Use of Large-Scale
Ontologies, AAAI Symposium on Ontological Engineering, Stanford, 1997.
[55] M. Fernandez-Lopez, A. Gomez-Perez, A. Pazos-Sierra, J. Pazos-Sierra, Building a
chemical ontology using METHONTOLOGY and the ontology design environment, IEEE
Intelligent Systems & their applications, 1999, p. 3746.
[56] Nguyen G., Dang T.T, Hluchy L., Laclavik M., Balogh Z., Budinska I. Agent platform
evaluation and comparison, Jun 2002.
[57] FIPA standards and specification, FIPA, IEEE Computer Society Standards for Agent
Based Technologies, http://www.fipa.org/specifications/index.html.
64
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


[58] FIPA-OS, Agent Platform Development Tool, IEEE Computer Society Standards for
Agent Based Technologies, http://fipa-os.sourceforge.net/
[59] ***, JADE, Tutorial for beginners, JADE Board, http://jade.tilab.com
[60] ***, JACK, http://www.agent-software.com/
[61] ***, Zeus BT Intelligent Agent Research, http://www.opensource.org/
[62] Lars Braubach, ,Jadex User Guide, Distributed Systems Group University of Hamburg,
Germany, http://prdownloads.sourceforge.net/jadex/userguide-0.96.pdf
[63] Lars Braubach ,Jadex Tool Guide, Distributed Systems Group University of Hamburg,
Germany, http://prdownloads.sourceforge.net/jadex/toolguide-0.96.pdf
[64] ***, W3C Recommendation, SOAP Version 1.2 Primer, W3C, 2003, URL:
http://www.w3c.org/TR/%20soap12-part0/.
[65] N.F. Noy, R.W. Fergerson, M.A. Musen, The knowledge model of protege-2000:
combining interoperability and flexibility, 12th International Conference in Knowledge
Engineering and Knowledge Management (EKA 2000), Lecture Notes in Artificial
Intelligence, vol. 1937, Springer, Berlin, 2000, pp. 1732.
[66] J.C. Arpirez, O. Corcho, M. Fernandez-Lopez, A. Gomez-Perez, WebODE: a scalable
ontological engineering workbench, First International Conference on Knowledge Capture
(KCAP01), ACMPress, Victoria, 2001, pp.613.

65
Universitatea Tehnic din Cluj-Napoca

Error: Reference source not found


Anexe
- programe, diagrame de clase etc.

66
Universitatea Tehnic din Cluj-Napoca

Você também pode gostar