We propose a simple and effective tool for the expression of tasks such as cross-layer optimization strategies or sensors-related applications. The approach is based on what we refer to as "reflective and refractive variables''. Both types of variables are associated with external entities, e.g. sensors or actuators. A reflective variable is a volatile variable, that is, a variable that might be concurrently modified by multiple threads. A library of threads is made available, each of which interfaces a set of sensors and continuously update the value of a corresponding set of sensors. One such thread is "cpu", which exports the current level of usage of the local CPU as an integer between 0 and 100. This integer is reflected into the integer reflective variable cpu. A refractive variable is a reflective variable that can be modified. Each modification is caught and interpreted as a request to change the value of an actuator. For instance, setting variable "tcp_sendrate" would request a cross-layer adjustment to the thread interfacing the local TCP layer entity. This allows express in an easy way complex operations in the application layer of any programming language, e.g. plain old C We describe our translator and the work we are carrying out within PATS to build simple and powerful libraries of scripts based on reflective and refractive variables, including robotics applications and RFID tags processing.
[1]
Peter Van Roy,et al.
Self Management and the Future of Software Design
,
2007,
FACS.
[2]
Geert Deconinck,et al.
Software tool combining fault masking with user-defined recovery strategies
,
1998,
IEE Proc. Softw..
[3]
Jerome H. Saltzer,et al.
End-to-end arguments in system design
,
1984,
TOCS.
[4]
Gregor Kiczales,et al.
Aspect-oriented programming
,
1996,
CSUR.
[5]
Vincenzo De Florio.
Adaptive Feedback-loop Control System for Inter-reality Management
,
2007
.
[6]
P. Muller.
33rd Euromicro Conference on Software Engineering and Advanced Applications - Seaa 2007
,
2008
.
[7]
B. Gates.
A robot in every home.
,
2007,
Scientific American.
[8]
Jonas Boner.
AspectWerkz - dynamic AOP for Java
,
2004
.
[9]
Hong Sun,et al.
Global adaptation framework for quality of experience of mobile services
,
2007
.
[10]
Wim Dehaene,et al.
A new approach to dynamically trade off performance and energy consumption in wireless communication systems
,
2003,
2003 IEEE Workshop on Signal Processing Systems (IEEE Cat. No.03TH8682).
[11]
Marco Conti,et al.
Cross-layering in mobile ad hoc network design
,
2004,
Computer.