160 likes | 279 Views
A Knowledge Plane for Context-Aware Applications in Autonomic Computing. Vassilis Papataxiarhis , V.Tsetsos, and S.Hadjiefthymiades vpap@di.uoa.gr Department of Informatics and Telecommunications University of Athens – Greece ICPS-2010, 13 - 15 of July 2010, Berlin. Outline.
E N D
A Knowledge Plane for Context-Aware Applications in Autonomic Computing Vassilis Papataxiarhis, V.Tsetsos, and S.Hadjiefthymiades vpap@di.uoa.gr Department of Informatics and Telecommunications University of Athens – Greece ICPS-2010, 13 - 15 of July 2010, Berlin
Outline • Introduction to IPAC • The IPAC Knowledge Plane • Functionality and Services • Experimental Evaluation • Conclusions
The IPAC Project • Integrated Platform for Autonomic Computing • EU-funded research project (ICT framework) • Partners with expertise in telecommunications, sensing technologies, data/knowledge management and software engineering. • Main goals • Middleware for autonomic computing • Application Creation Environment
The IPAC Ecosystem Visual Editor Code Generation Emulator Debugger IPAC Applications Textual Editor Developer Application Creation Environment IPAC Middleware Services GPS SunSPOTs Visual Sensors WiseMAC WiFi OSGi Platform H/W, OS, JVM Short Range Communication Interfaces Sensing Elements IPAC Node
The IPAC Knowledge Plane • Requirement for real-time self-adaptation based on • Context-awareness • Interoperability between nodes • It provides a cross-layer reconfiguration approach • It adopts knowledge-based technologies to • model possible situations of the node • store information • reason over contextual data • Required expressiveness → conjunctive rules
Reasoner Service • The core component of the IPAC Knowledge Plane • Drives the self-adaptation process and checks for possible conflicts • Managing and reasoning over • Application Profiles • Node Profile • Sensor Model • Policies • Based on the J2ME version of the Java Internet Prolog (JIProlog) engine
Reconfiguration Service • Takes advantage of the Reasoner service • Supports 3 types of reconfiguration • On application startup requirements matching • Explicit request by application during its execution • Periodical checks (through policy rules) “optimize” the node operation
Reconfiguration Scenario (1/2) • Node Profile supportsUI(node03,visual). supportsUI(node03,audio). hasUI(node03,visual). supportsCommInterface(node03,wisemac). supportsCommInterface(node03,802.11). hasCommInterface(node03,wisemac). numberOfNeighbors(node03,4). • 1. Application startup requiresUI(app02,audio). UI switches to audio.
Reconfiguration Scenario (2/2) • 2. Application Request event(fireAlarm) :- smoke_sensor_1>=0, temp_sensor_1>=20. According to sensor measurements, reconfiguration action may be triggered. • 3. Policy checking policy(hasCommInterface,X,802.11) :- node(X), hasCommInterface(X,wisemac), numOfNeighbors(X,N), N=0. The node03 switches to IEEE 802.11 interface
Evaluation (1/3) • ASUS Eee PC 900, Intel Celeron 900MHz, 1GB • Loading time • All rules and facts are inserted into the main memory for efficient query answering • Models loaded once • Application profiles loaded/retracted on-demand • Linear Dependency 2 apps → 15ms 20 apps → 125ms • Real time checks do not negatively impact the overall response time of the system.
Evaluation (2/3) • Reconfiguration time • Sensitivity of the system according to context changes • Includes • Update of the knowledge base • Policy execution • Check of the applicability of the request • Execution of the reconfiguration • Linear Dependency period 1sec → 546ms period 20sec → 10425ms • Real time checks do not negatively impact the overall response time of the system.
Evaluation (3/3) • Memory Consumption • Depends on the number of application profiles loaded • Mean size per profile → 4KBs • All the required middleware services are included (i.e., Reasoner, Reconfiguration and Scheduler services) • Linear Dependency 0 apps → 20623KBs 20 apps → 21214KBs • ~25KBs per profile are needed
Contributions Cross-layer reconfiguration approach (e.g., networking, operation of peripheral devices) Extensible approach Updating policies does not require changes to the algorithms Future Work Optimization of policy checking mechanism Adopt modern and more expressive knowledge representation languages Conclusion
Thank you! Project Website: http://ipac.di.uoa.gr