ContextROS: Context-Oriented Programming for the Robot Operating System
In recent years, the development of context-aware robots has been one of the crucial tasks in the robotics field. This robot changes its behavior according to the context, which includes its surrounding situation and the internal state. Robots such as these are highly useful because they can respond flexibly to various situations. The Robot Operating System (ROS), which is open-source middle- ware, has been widely used for robotics applications. ROS facilitates the development of applications with excellent versatility, reusabil- ity, and portability because it is a component-based peer-to-peer distributed system. These advantages have encouraged many de- velopers to employ ROS to develop context-aware robots. However, it is complicated to write context related codes as developers have to write the code without any framework supports. Thus, it is not easy to describe a context-aware program, because its maintainabil- ity tends to be low as the fragments of code pertaining to context dependence are distributed throughout the code. This paper proposes ContextROS which applies the Context- oriented Programming (COP) to ROS. ContextROS adds a language element in the form of a layer to ROS to modularize the context dependence code explicitly. It also performs layer activations/deac- tivations for distributed nodes using ROS communication features. We apply ContextROS to a simple application and evaluate it by comparison with ROS. The results of the evaluation confirmed that ContextROS is confirmed to be able to reduce the dispersion of the description of the behavior of each context without compromising the performance of the ROS.
Tue 20 Jun
|14:00 - 14:30|
|14:30 - 15:00|
|15:00 - 15:30|
Nicolás CardozoUniversidad de los Andes, Ivana DusparicTrinity College Dublin, Ireland, Jorge H. CastroUniversidad de los AndesMedia Attached File Attached