Battery-less embedded devices powered by energy harvesting are increasingly being used in wireless sensing applications. However, their limited and often uncertain energy availability challenges designing application programs. To examine if BDI-based agent programming can address this challenge, we used it for a real-life application involving an environmental sensor that works on energy harvested from ambient light. This yielded the first ever implementation of a BDI agent on a low-power battery-less and energy-harvesting embedded system. Furthermore, it uncovered conceptual integration challenges between embedded systems and BDI-based agent programming that, if overcome, will simplify the deployment of more autonomous systems on low-power devices with non-deterministic energy availability. Specifically, we (1) mapped essential device states to default \textit{internal} beliefs, (2) recognized and addressed the need for beliefs in general to be \textit{short-} or \textit{long-term}, and (3) propose dynamic annotation of intentions with their run-time energy impact. We show that incorporating these extensions not only simplified the programming but also improved code readability and understanding of its behavior.
翻译:由能量收集供电的无电池嵌入式设备在无线传感应用中日益普及。然而,其有限且往往不确定的能量可用性为应用程序设计带来了挑战。为探究基于BDI的智能体编程能否应对这一挑战,我们将其应用于一项真实的环境传感器应用,该传感器依靠环境光采集的能量工作。这实现了首个在低功耗无电池能量收集嵌入式系统上运行的BDI智能体。此外,研究揭示了嵌入式系统与基于BDI的智能体编程之间的概念集成挑战,若能克服这些挑战,将简化具有非确定性能量可用性的低功耗设备上更自主系统的部署。具体而言,我们(1)将关键设备状态映射为默认的\textit{内部}信念,(2)识别并处理了信念总体上需要分为\textit{短期}或\textit{长期}的需求,(3)提出了根据运行时能耗动态标注意图的方法。我们证明,引入这些扩展不仅简化了编程过程,还提升了代码可读性及其行为可理解性。