River in the Light of ArchJava: The use of User-Defined Connectors in Ubiquitous Computing Systems

by
Eiman Erbad

Ubiquitous computing systems are challenging to design and implement because they interact with hundreds of devices. The devices used change periodically depending on the state of the system and the specific command or event that is being processed. River is a ubiquitous computing system that uses SQL queries to address the challenge of specifying the devices at the end points of communication primitives, such as events and function calls. The current implementation parses the SQL queries at run time and it doesn't support any compile time syntactic or semantic analysis. Moreover, the devices specified by the queries are not guaranteed to support the required functionalities. In our new design we use user-defined connectors in ArchJava to improve River by adding compile time syntactic analysis and type checking. Using ArchJava's connectors helped in making sure that the devices specified by the queries actually support the required functionalities. The connectors' library is reusable and easy to extend.

Advised by Craig Chambers

MGH 251
Wednesday
Februsary 18, 2004
3:30 - 4:20 pm