Bundle: A Group-Based Programming Abstraction for Cyber-Physical Systems

Bundle: A Group-Based Programming Abstraction for Cyber-Physical Systems
复制标题

DOI:
10.1145/1795194.1795200
复制
发表时间:
2010-04
影响因子:
12.3
通讯作者:
P. Vicaire;Enamul Hoque;Zhiheng Xie;J. Stankovic
P. Vicaire;Enamul Hoque;Zhiheng Xie;J. Stankovic
中科院分区:
计算机科学1区
文献类型:
--
作者:
P. Vicaire;Enamul Hoque;Zhiheng Xie;J. Stankovic

文献摘要

被引文献

相似文献

本文描述了一种新颖的基于组的编程抽象,称为网络物理系统(CPS)的“捆绑包”。与其他编程抽象类似,捆绑包创建传感设备的逻辑集合。然而,之前的抽象主要集中在无线传感器网络 (WSN) 上,并没有解决 CPS 的关键方面。捆绑包允许对涉及多个 CPS 的应用程序进行编程,这些 CPS 由不同的管理域控制并支持 CPS 内部和跨 CPS 的移动性,从而将编程域从单个 WSN 提升为复杂的系统系统。捆绑包不仅可以无缝组合传感器,还可以无缝组合构成 CPS 重要组成部分的执行器。它们支持在具有细粒度访问权限控制和冲突解决机制的多用户环境中进行编程。根据应用程序的要求,捆绑包支持异构设备,例如节点、PDA、笔记本电脑和执行器。它们允许不同的应用同时使用相同的传感器和执行器。捆绑包通过动态成员更新和基于当前成员反馈的需求重新配置来促进反馈控制机制。 Bundle 抽象是用 Java 实现的,确保了编程的简单性和简洁性。我们展示了 Bundles 的设计和实现细节,以及使用使用 Bundles 编写的 32 个应用程序进行的性能评估。该集合包括具有复杂传感和驱动逻辑的跨网络应用程序、异构移动节点以及反馈控制机制。这些应用程序中的每一个都用不到 60 行代码编写。
This paper describes a novel group-based programming abstraction called a “Bundle” for cyber-physical systems (CPS). Similar to other programming abstractions, a Bundle creates logical collections of sensing devices. However, previous abstractions were focused on wireless sensor networks (WSNs) and did not address key aspects of CPS. Bundles elevate the programming domain from a single WSN to complex systems of systems by allowing the programming of applications involving multiple CPSs that are controlled by different administrative domains and support mobility both within and across CPSs. Bundles can seamlessly group not only sensors, but also actuators which constitute an important part of CPS. They enable programming in a multiuser environment with fine grained access right control and conflict resolution mechanism. Bundles support heterogeneous devices, such as motes, PDAs, laptops, and actuators according to the applications' requirements. They allow different applications to simultaneously use the same sensors and actuators. Bundles facilitate feedback control mechanisms by dynamic membership update and requirements reconfiguration based on feedback from the current members. The Bundle abstraction is implemented in Java which ensures ease and conciseness of programming. We present the design and implementation details of Bundles as well as a performance evaluation using 32 applications written with Bundles. This set includes across-network applications that have sophisticated sensing and actuation logic, mobile nodes that are heterogeneous, and feedback control mechanisms. Each of these applications is programmed in less than 60 lines of code.