当前位置: X-MOL 学术IEEE Trans. Autom. Sci. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
ArduCode: Predictive Framework for Automation Engineering
IEEE Transactions on Automation Science and Engineering ( IF 5.6 ) Pub Date : 2020-07-21 , DOI: 10.1109/tase.2020.3008055
Arquimedes Canedo , Palash Goyal , Di Huang , Amit Pandey , Gustavo Quiros

Automation engineering is the task of integrating, via software, various sensors, actuators, and controls to automate a real-world process. Today, automation engineering is supported by a suite of software tools, including integrated development environments (IDEs), hardware configurators, compilers, and runtimes. These tools focus on the automation code itself but leave the automation engineer unassisted in their decision-making. This can lead to longer software development cycles due to the imperfections in the decision-making, which arise when integrating software and hardware. To address this problem, this article addresses multiple challenges often faced in automation engineering and proposes machine learning-based solutions to assist engineers tackle these challenges. We show that machine learning can be leveraged to assist the automation engineer in classifying automation code, finding similar code snippets, and reasoning about the hardware selection of sensors and actuators. We validate our architecture on two real data sets consisting of 2927 Arduino projects and 683 programmable logic controller (PLC) projects. Our results show that paragraph embedding techniques can be utilized to classify automation using code snippets with precision close to human annotation, giving an $F_{1}$ -score of 72%. Furthermore, we show that such embedding techniques can help us find similar code snippets with high accuracy. Finally, we use autoencoder models for hardware recommendation and achieve a $p\text{@}3$ of 0.79 and $p\text{@}5$ of 0.95. We also present the implementation of ArduCode in a proof-of-concept user interface integrated into an existing automation engineering system platform. Note to Practitioners —This article is motivated by the use of artificial intelligence methods to improve the efficiency and quality of the automation engineering software development process. Our goal is to develop and integrate intelligent assistants in existing automation engineering development tools to minimally disrupt existing workflows. Practitioners should be able to adapt our framework to other tools and data. Our contributions address important practical problems: 1) we address the lack of realistic data sets in automation engineering with two publicly available data sources; 2) we make the reference implementation of our algorithms publicly available on GitHub for other practitioners to have a starting point for future research; and 3) we demonstrate the integration of our framework as an add-on to an existing automation engineering toolchain.

中文翻译:

ArduCode:自动化工程的预测框架

自动化工程的任务是通过软件集成各种传感器、执行器和控件,以实现现实世界过程的自动化。今天,自动化工程由一套软件工具支持,包括集成开发环境 (IDE)、硬件配置器、编译器和运行时。这些工具专注于自动化代码本身,但让自动化工程师在决策过程中不受帮助。由于在集成软件和硬件时出现的决策不完善,这可能导致更长的软件开发周期。为了解决这个问题,本文解决了自动化工程中经常面临的多个挑战,并提出了基于机器学习的解决方案来帮助工程师应对这些挑战。我们展示了可以利用机器学习来帮助自动化工程师对自动化代码进行分类、查找类似的代码片段以及推理传感器和执行器的硬件选择。我们在由 2927 个 Arduino 项目和 683 个可编程逻辑控制器 (PLC) 项目组成的两个真实数据集上验证了我们的架构。我们的结果表明,段落嵌入技术可用于使用精确度接近人工注释的代码片段对自动化进行分类,给出一个 $F_{1}$ - 得分为 72%。此外,我们表明这种嵌入技术可以帮助我们以高精度找到类似的代码片段。最后,我们使用自动编码器模型进行硬件推荐并实现 $p\text{@}3$ 0.79 和 $p\text{@}5$ 0.95。我们还在集成到现有自动化工程系统平台的概念验证用户界面中展示了 ArduCode 的实现。从业者须知 —本文的动机是使用人工智能方法来提高自动化工程软件开发过程的效率和质量。我们的目标是在现有的自动化工程开发工具中开发和集成智能助手,以尽量减少对现有工作流程的干扰。从业者应该能够使我们的框架适应其他工具和数据。我们的贡献解决了重要的实际问题:1)我们通过两个公开可用的数据源解决了自动化工程中缺乏真实数据集的问题;2)我们在GitHub上公开我们算法的参考实现,以供其他从业者为未来的研究提供一个起点;3) 我们展示了我们的框架作为现有自动化工程工具链的附加组件的集成。
更新日期:2020-07-21
down
wechat
bug