论文标题
使用静态分析和模型驱动工程支持机器人软件迁移
Supporting Robotic Software Migration Using Static Analysis and Model-Driven Engineering
论文作者
论文摘要
机器人系统的广泛使用有助于开发高度耦合机器人系统的机器人软件。由于维护成本增加或业务优先级的变化,机器人硬件很少升级,从而增加了技术停滞的风险。降低这种风险需要将系统及其软件迁移到新的硬件平台。传统的软件工程实践,例如完整的重新开发和基于代码的迁移,尽管有助于缓解这些过时的问题,但它们既耗时又过于昂贵。我们的Robosmi模型驱动方法支持控制硬件平台之间机器人系统的软件的迁移。首先,Robosmi在源硬件平台的机器人软件上执行静态分析,以识别平台依赖性和平台不可能的软件构造。通过分析一个在目标平台上表达机器人组件体系结构的模型,Robosmi建立了这些组件的硬件配置,并为每个组件建议其执行将使机器人软件能够控制组件的软件库。最后,Robosmi通过代码生成为目标平台生成软件,并指示需要机器人工程师手动干预以完成迁移的领域。我们评估了Robosmi的适用性,并通过迁移两个用于环境监测的机器人系统和从螺旋桨活动板到Arduino Uno的任务后的两个机器人系统来分析其使用的自动化水平和性能。
The wide use of robotic systems contributed to developing robotic software highly coupled to the hardware platform running the robotic system. Due to increased maintenance cost or changing business priorities, the robotic hardware is infrequently upgraded, thus increasing the risk for technology stagnation. Reducing this risk entails migrating the system and its software to a new hardware platform. Conventional software engineering practices such as complete re-development and code-based migration, albeit useful in mitigating these obsolescence issues, they are time-consuming and overly expensive. Our RoboSMi model-driven approach supports the migration of the software controlling a robotic system between hardware platforms. First, RoboSMi executes static analysis on the robotic software of the source hardware platform to identify platform-dependent and platform-agnostic software constructs. By analysing a model that expresses the architecture of robotic components on the target platform, RoboSMi establishes the hardware configuration of those components and suggests software libraries for each component whose execution will enable the robotic software to control the components. Finally, RoboSMi through code-generation produces software for the target platform and indicates areas that require manual intervention by robotic engineers to complete the migration. We evaluate the applicability of RoboSMi and analyse the level of automation and performance provided from its use by migrating two robotic systems deployed for an environmental monitoring and a line following mission from a Propeller Activity Board to an Arduino Uno.