Graph based software knowledge: Storage and semantic querying of domain models for run time adaptation
Software development for robots is a knowledgeintensive exercise. To capture this knowledge explicitly and formally in the form of various domain models, roboticists have recently employed model driven engineering (MDE) approaches. However, these models are merely seen as a way to support humans during the robot's software design process. We argue that the robots themselves should be first class consumers of this knowledge to autonomously adapt their software to the various and changing run time requirements induced, for instance, by the robot's tasks or environment. Motivated by knowledge enabled approaches, we address this problem by employing a graph based knowledge representation that allows us not only to persistently store domain models, but also to formulate powerful queries for the sake of run time adaptation. We have evaluated our approach in an integrated, real world system using the neo4j graph database and we report some lessons learned. Further, we show that the graph database imposes only little overhead on the system's overall performance.
2016 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR)