Sisteme de Calcul Senzitive la Context
SISTEME DE CALCUL SENZITIVE LA CONTEXT
Sisteme de calcul omniprezente
Progresul tehnologic oferă resurse sporite sistemelor de calcul.
Sistemele actuale sunt din ce în ce mai inteligente, adaptabile în funcție de context. Noua direcție se numește “Ubiquitous Computing”, în traducere “calcul omniprezent”.Odată cu dezvoltarea sistemelor de calcul crește și relația cantitativă dintre calculator și utilizator. Dacă aceasta era “unu la unu” la început, acum este “mai mulți la unul”, adică un utilizator lucrează cu mai multe echipamente de calcul simultan.
Mark Weisser a prezentat în 1991 în lucrarea sǎ “ The computer for 21st century” o viziune asupra calculului omniprezent (ubiquitous computing). Un alt termen utilizat este acela de calcul penetrant (pervasive computing), transparent față de utilizator. Comisia europeană folosește termenul de inteligență ambiantă.
Primele cercetări au fost făcute de Olivetti Active Badge în 1992, Schilit în 1994, Pascoe,Ryan și Morse în 1995.
Din punct de vedere al interacțiunii calculator-utilizator (HCI=Human Computer Interaction) este importantă integrarea fizică și înglobarea tehnologiilor de calcul și comunicație și a instrumentelor de lucru în mediu pentru o mai ușoară operare. Termenii de “calm computing”, „invisible computing”, “disappearing computer”[Albrecht Schmidt, 2002] descriu interacțiunea utilizator-calculator în calculul omniprezent. Acești termeni nu referă calculatorul din punct de vedere fizic, ci modalitatea în care omul percepe sistemul de calcul. Pentru a obține acest lucru intercțiunea trebuie integrată cu taskul principal al utilizatorului. Utilizatorul intercționează încă cu instrumente care îl ajută să realizeze o anumită funcție, dar interacțiunea este focalizată asupra taskului propriu-zis. Acest lucru este în contrast cu modul obișnuit de utilizare a calculatorului în care accentul se pune pe calculator și nu pe un anumit task. Înglobarea interacțiunii în taskuri este abordarea necesară în direcția calculului omniprezent.
Interacțiunea explicită utilizată în calculatoarele convenționale, prezintă un plus de flexibilitate în funcțiile realizate de sistemul de calcul. Modalitățile de interacțiune variază între linia de comandă, interfață grafică, interfață vocală, interfață senzorială. Îndiferent de modalitate, utilizatorul trebuie să interacționeze cu calculatorul. O altă problemă în metodele de interacțiune conversațională este aceea legată de componentele de interfață ce pot fi fizic distribuite și dependente unele de altele. Pe de altă parte, există posibilitatea ca mai multe aplicații să se execute în același timp, iar intrările să fie direcționate către o anumită aplicație. Acest lucru duce la o interfață complexă și necesită o atenție sporită a utilizatorului.
Când interacțiunea este înglobată, ea se produce în context. Mediul fizic, situații, rolul utilizatorului, relația acestuia cu ceilalți utilizatori și cu mediul, obiectivele și preferințele lui pot fi importante surse de informație. Utilizarea informației când se realizează un sistem senzitiv la context poate face procesul de interacțiune explicită mai ușor sau chiar poate elimina interacțiunea explicită. O reducere a interacțiunii explicite va reduce și cantitatea de atenție necesară utilizatorului. De aici însă apare întrebarea: Cum să se achizitioneze și să se furnizeze contextul?
În calculul omniprezent interacțiunea cu calculatoarele se realizeză în context, iar contextul contează nu numai pentru utilizatori, dar și pentru sistem în mod indirect. Așteptările utilizatorului despre sistem și anticiparea reacției sistemului cu care interacționează acesta este foarte dependentă de situație și mediu, ca și de experiența anterioară.
Interactiunea în lumea fizică se produce de la o vărstă timpurie și cunoștințele referitoare la reacțiile mediului se acumulează de-a lungul unei vieți. Aceste cunoștințe permit o comportare inteligentă, în particular abilitatea de a prezice reacția este un avantaj major și esențială pentru supraviețuire. Multe așteptări sunt doar exploatate din experiența anterioară.
Sisteme senzitive la context
Scopul aplicațiilor senzitive la context este de a îmbunătății interacțiunea cu sistemul de calcul și de a automatiza activitatea implementată în aplicație.
Problema sistemelor senzitive la context se pune de ceva timp în tehnica de calcul. Există proiecte în desfășurare și se fac cercetări în acesată direcție.
Multe din aplicațiile distribuite utilizează infrastructura de comunicație existentă. Din acestă categorie fac parte aplicațiile mobile care trebuie să se adapteze schimbărilor de mediu. Aceste aplicații adaptive [ A Survey of Context-Awareness], necesită asocierea informației cu schimbările mediului.
Pentru a se obține acest lucru, aspecte ale mediului trebuie sesizate, dețelerite și diseminate corespunzător.
Resposabilitatea adaptării cade în sarcina aplicației, application transparent [Noble, 1997] sau asupra sistemului suport, Smart-Its [Malm, 2003]
Adaptarea application-aware se bazează pe un parteneriat colaborativ între aplicație și sistemul suport. Aplicațiile adaptive pun accentul pe monitorizarea calității serviciilor rețelei (QoS) cu scopul declanșarii adaptării.
Deja prin utilizarea Internetului utilizatorii au acces la imense surse de informație stocate în fișierele sau baze de date ale calculatoarelor interconectate la Internet. Se prevede utilizarea și a resurselor mici ale sistemelor terminale (calculatoare, artefacte).
Toate arhitecturile nou apărute oferă suport pentru intercomunicare și inter-operativitate. Sunt realizate cadre de dezvoltare aplicații (framework) cu instrumente și servicii necesare pe platforme distribuite eterogene. Un exemplu foarte popular este cel al cadrului de dezvoltare .NET realizat de firma Microsoft.
Toate sistemele de calcul sunt integrate în contextul global al sistemelor omniprezente, iar problematica particulară a fiecărui domeniu se transformă în problematică generală a sistemelor de calcul. Evident că sistemele industriale intră și ele în acestă categorie.
Aplicațiile trebuie să fie inteligente, senzitive la context și cu interfața automatizată.
Interfața automatizată se referă la interacțiunea cu utilizatorul sau la un sistem automat de comandă și control.
Un tip particular de aplicații îl constituie cele senzitive la context (context-aware applications). Aplicațiile senzitive la context utilizează date bazate pe locație pentru a declanșa o comportare predefinită [Schmidt, 2002]. Exemple de aplicații senzitive la context sunt: agenții de notificare, agenții de înaintare apeluri, agenții de interfață utilizator.
Alte forme de informație contextulă sunt: factori umani (obiceiuri, emoții, dinamică de grup), taskuri (activitate spontană, taskuri angajate, scopuri generale), aspecte ale mediului fizic( zgomot, lumină, presiune) și infrastructură (resurse, comunicație, performanță).
Problematica contextului se poate privi din următoarele puncte de vedere:
Noțiunea de context și reprezentarea lui în aplicații
Utilizarea informației de context în dezvoltarea aplicațiilor
Arhitecturi software utilizate în dezvoltarea aplicațiilor senzitive la context și infrastructura necesară.
Este clară tendința în cercetările actuale de la cele tehnice de dezvoltare la cele de comportament (utilizare).
Mediile senzitive la context stau la baza sistemelor moderne de calcul. Pentru ușurință în utilizare, proiectare și întreținere sistemele moderne sunt sisteme cu medii de lucru inteligente.
Un mediu de lucru inteligent este un mediu care deservește utilizatorul furnizându-i în mod automat serviciile necesare. El conține un număr mare de senzori interconectați, actuatori, interfețe utilizator, echipamente pentru stocarea informației și procesarea ei și alte servicii. Serviciile disponibile într-un mediu inteligent pot fi împărțite în trei categorii:
Servicii de control mediu
Servicii de manipulare a informației: obținere, căutare, procesare, sortare, etc.
Servicii de comunicare între entități corespondente.
Avantajul principal al unui mediu inteligent este de îmbunătățire a activităților și creștere a performanței. Se câștigă timp prin decizii automate, sunt disponibile automat toate informațiile necesare, există un istoric care se poate ulterior analiza scenariile existente și construi altele.
Un astfel de mediu este util în orice domeniu, de la cel industrial la cel casnic.
Mediul inteligent este senzitiv la context și are un comportament inteligent în funcție de contextul existent. El realizează următoarele activități:
achiziționează (colectează) informație de la senzori și baze de date
recunoște contextul pentru informația colectată
alege acțiunile relevante pentru contextul existent
execută operațiile selectate.
Mediu senzitiv la context
Aplicațiile senzitive la context sunt sisteme de calcul care utilizează informația existentă implicit în sistem spre deosebire de sistemele de calcul tradiționale care necesită interacțiune explicită.
Scopul principal al aplicațiilor este de a oferi servicii. Dacă aceste servicii pot fi oferite oriunde, oricând și automat. Atunci sistemele sunt senzitive la context.
Problematica proiectării sistemelor senzitive la context este foarte complexă și în desfășurare.
Un mediu senzitiv la context este un mediu care oferă toate resursele necesare funcționarii unui sistem (hardware sau software). Se poate spune un mediu inteligent.
Orientarea pe aspecte (Aspect Orientation) este o metodologie nouă în dezvoltarea sistemelor de calcul care promite îmbunățățirea scalabilității și a performanței sistemelor de calcul.
Procesul de dezvoltare a sistemelor de calcul implică următoarele faze:
analiză
proiectare
In general modificarea unei faze implică modificarea celorlalte. Devoltarea orientată pe aspecte (DOA) presupune separarea “problemelor” cu scopul de a obține proprietățile dorite ale unui sistem de calcul: extensibilitate, modularitate, etc.
O “problemă“ se referă la o proprietate funcțională sau nefuncțională a unui sistem ca: securitate, sincronizare, conectare, etc.
Cerințe de infrastructura senzitivă la context
Activitățile necesare unui mediu inteligent includ:
identificarea informațiilor necesare pentru a oferi un mediu senzitiv la context;
gasirea entităților ce pot furniza informațiile de la punctul 1;
colectarea și stocarea informațiilor specificate în timp real;
identificarea scenariilor necesare pentru a oferi mediul senzitv la context;
execuția scenariilor identificate la punctul 4.
Se poate observa de aici, că aplicațiile senzitive la context desfășoară activități de comunicare între resurse, colectare date, stocare și management date, și adaptare corespunzătoare necesităților de moment.
Se pot identifica următoarele părți componente ale unui sistem senzitiv la context[11]: infrastructura SC și aplicațiile SC (SC=senzitive la context). Infrastructura SC este responsabilă de colectarea, managementul și livrarea contextului necesar aplicațiilor SC. Aplicațiile SC sunt responsabile cu adaptarea.
Tipuri de context
In documentații sunt evidențiate patru dimensiuni de context:
Locație
Identitate (atribute obiect)
Timp
Mediu sau activitate
Aplicațiile senzitive la context au fost clasificate în:
Aplicații reactive și proactive
Aplicații continue care se schimbă cu contextul în schimbare; Aplicații discrete cu un motor declanșator la obținerea contextului
Day și Abowd au clasificat aplicațiile în funcție de contextul primar în:
4 tipuri de context primar:
activitate
identitate
locație
timp
3 tipuri de context senzitiv:
prezentarea informațiilor și serviciilor
execuția automată a unui serviciu
urmărirea contextului pentru o folosire ulterioară
Deducerea contextului
Deducerea contextului implică utilizarea lui, de exemplu pentru adaptare.
Contextul reprezintă informație și servicii și poate fi real sau virtual(fig. Informații context).
Contextul se schimbă gradual și semi-transparent. In deducerea contextului se poate utiliza un istoric al contextului și un context partajat. Utilizare în : detecția schimbărilor, predicție și raționament.
Schmit combină senzorii fizici și logici în senzori abstracticți (cues) din care derivă contextul.
Exemple de aplicații senzitive la context
Aplicații senzitive la context
Chen și Kotz prezintă două modalități de utilizare a contextului în aplicații:
Context activ senzitiv în care o aplicație în mod automat se adaptează contextului dețelerit prin schimbarea comportamentului aplicației;
Context pasiv senzitiv în care o aplicație prezintă contextul nou și actualizat unui utilizator sau îl păstrează persistent pentru o utilizare ulterioară.
Multe din aplicațiile distribuite utilizează infrastructura de comunicație existentă. Din acestă categorie fac parte aplicațiile mobilwe care trebuie să seadapteze schimbărilor de mediu. Aceste aplicații adaptive [ A Survey of Context-Awareness], necesită asocierea informației cu schimbările mediului.
Pentru a se obține acest lucru, aspecte ale mediului trebuie sesizate, dețelerite și diseminate corespunzător.
Resposabilitatea adaptării cade în sarcina aplicației, application transparent [Noble, 1997].
Adaptarea application-aware se bazează pe un parteneriat colaborativ între aplicație și sistemul suport. Aplicațiile adaptive pun accentul pe monitorizarea calității serviciilor rețelei (QoS) cu scopul declanșarii adaptării.
Schilit [Schilit, 1994] descrie ciclul de viață senzitiv la context ca fiind format din:
dețelerirea contextului – sesizarea sau capturarea contextului
selecția contextului – interpretarea
utilizarea contextului.
Capturarea contextului
de la senzori
starea echipamentelor
informațiile existente
explicit din exterior
Context Toolkit
Day {Dey,99] separă procesul de achziție a contextului de distribuție și utilizare. Framework-ul realizat de el, Context Toolkit, suportă achiziția și distribuția contextului utilizând trei tipuri de abstractizări: widgets, servere, interpreți (fig. Arhitectură Context Toolkit)
Context-widget reprezintă componente software care furnizează aplicații cu acces la contextul sesizat din mediul de operare. Aceste aplicații sunt independente de procesul de achziție a contextului, prin ascunderea complexității senzorilor de aplicație. Fiecare widget încapsulează stare și un set de evenimente callback. Starea este formată din informație contextuală pe care aplicațiile pot să o exploateze prin polling și subscriere. Widget-urile mențin deasemenea starea contextuală permițând altor componente să regăsească informație istorică de context.
Serverele de context sunt utilizate pentru a a colecta întregul context despre o entitate particulară. Serverul de context este responsabil de subscrierea la fiecare widget care interesează și acționează ca un proxy pentru aplicație, colectând informație pentru acea entitate particulară. Serverul de context poate fi văzut ca un widget de compunere. El are atribute și callback-uri. El poate fi subscris sau pus în poll, iar istoricul său poate fi regăsit.
Interpreții de context sunt responsabili de implementarea interpretării informației de context. Ei realizează transformările între diferitele formate de reprezentare sau unesc diferitele informații de context pentru a furniza noui reprezentări.
În acest model, context-wiget-urile derivă din informație de context de granulație fină, care poate fi interpretată și prezentată serverelor de context. Pentru ca aplicațiile să recepționeze notificări despre un anumit tip de context trebuie să subscrie la evenimentele widgetului corespunzător. Când evenimente despre anumite entități particulare (ex. utilizatori) sunt necesare, aplicația trebuie să se înscrie pentru notificări cu serverul de context.
Context Information Service (CIS)
O altă arhitectură care suportă aplicații senzitive la context este CIS (Context Aware Service)[Pescoe, 1998].
CIS suportă aplicații senzitive la context prin întreținerea unei vizualizări orientate-obiect a lumii care cuprinde: artefacte, stări, senzori, sintetizatori, monitoare și cataloage.
Artefactele au un nume, tip și un set de stări contextuale asociate lor. De exemplu un obiect are un nume și o locație. Obiecte se poate localiza după nume. CIS cuprinde și un catalog al stărilor și artefactelor.
Ariile de zenzori sunt utilizate pentru a colecta date contextuale și sintetizatorii sunt utilizați pentru a sintetiza și agrega datele contextuale din alte stări ale artefactelor.
Datele contextuale de la senzori și sintetizatori sunt direcționate către artefactele potrivite sub controlul unui monitor care furnizează servicii la calitatea specificată (de ex. distanta specificata).
Modelul contextual construit ce lizează aceste componente este accesibil prin componentele de serviciu care acționează ca o interfață prin care orice utilizator sau program client poate utiliza sau manipula un model contextual partajat.
Technology for Enabling Awareness (TEA)
Abordarea TEA [Schmidt,2002] ce oferă suport pentru aplicații senzitive la context implică transformarea citirilor de la senzori în profile de context, prin utilizarea unei arhitecturi pe 4 straturi. Se utilizează senzori, transformări, profile de context.
Senzori se află pe nivelul inferior, iar ieșirea lor necesită transformări de tipul filtrelor. Transformările se situează pe nivelul următor. Al treilea nivel cuprinde mapări transformări – profile de context, Profilele de context sunt specificate de utilizatori. Mapările trebuie să fie transparente și să se autoajusteze la contextul utilizatorului. De exemplu în cazul telefoniei mobile se poate seta automat volumul telefonului în caz de zgomot.
Audio Aura [Mynatt, 1998]
Este o arhitectură clasică thin-client –server, în care majoritatea calculelor se fac la server. Acesta menține un istoric al contextului (locație, identitate, timp) adunat din mediu prin componentele numite Active Badgets. Serverul furnizează un mecanism de notificare care permite clienților să-și definească propriile restricții.
AROMA
Proiectul AROMA permite capturarea datelor video și audio pentru a furniza periferice senzitive geografic. Este utilizată o arhitectură orientată obiect ce utilizează obiecte capturate ce încapsulează senzori și obiecte abstractor care extrag caracteristicile. Sintetizatorii preiau informația abstractă și o afișează.
Stick-e Notes
Brown [Brown, 1996] utilizează cadrul Stick-e Notes în care arhitectura se bazează pe conceptul de Post-It electronic care reprezintă contextului obiectelor. Stick-e notele se pot atașa unui domeniu de contexte și pot conține și informații referitoare la acțiuni, reguli ce specifică comportamentul.
Concluzii
Se pot observa caracteristici comune ale arhitecturilor:
contextul senzorial este în general de nivel inferior
interpretarea contextului este necesară pentru a furniza informațiile necesare aplicațiilor
arhitecturi orientate obiect sunt utilizate: client-server, publish-subscriber.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Sisteme de Calcul Senzitive la Context (ID: 150546)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
