用于包括多个设备的联网控制系统的编译器和编译方法

文档序号:6477222阅读:174来源:国知局
专利名称:用于包括多个设备的联网控制系统的编译器和编译方法
用于包括多个设备的联网控制系统的编译器和编译方法
技术领域
本发明涉及编译(compile)用于联网控制系统的多个设备的控制逻 辑的编译器和方法,特别是,涉及自动指派控制逻辑给设备。
设备的联网是在商业、工业和公共机构企业市场以及在消费者市场上 普遍存在的趋势。联网控制系统的例子是大楼设备自动化系统,例如用于 照明、供暖和通风或安全。联网控制系统可由以下设备组成,比如灯镇流 器(light ballast )、开关、日光或占位(occupancy)传感器、遥控器、 制动器、阀、恒温器或计量器。这些设备优选地被无线地连接,也就是经 由RF(射频)技术来连接。控制网可包括大量的设备。这些设备可以具有很 小的占地面积;被安装在难以接近的地方(例如,灯镇流器被隐藏在天花 板内),是资源有限的,以及可能有潜在地非常复杂的应用逻辑要在这些 设备上运行。这些状况要求有控制网络管理的新途径。
本发明的目的是提供用于包括多个设备的联网控制系统的、改进的编 译器和编译方法。
这个目的是通过独立权利要求而解决的。通过从属权利要求显示了其 它的实施例。
本发明通过编译而提供了可执行的运行时代码(runtime code)到联 网控制系统的设备的自动指派规程。控制逻辑到设备的指派过程可以考虑 各种最佳化准则,其包括各种分布方面(distribution aspect),例如 网络资源或能力,诸如网络链路的可用带宽或可靠性,以及设备资源或能 力,例如CPU、存^f诸器、电源或睡眠行为(sleeping behavior),其例如 由于传输延迟或数据分组丟失而可能影响该设备的被观察到的行为。
下面,解释这里使用的一些重要术语。
术语"联网控制系统"具体地是指包括多个被连接的设备或甚至节点 的系统。设备可以通过通信系统——例如无线通信系统——而4皮连接。联 网控制系统可以是复杂的照明控制系统,其具有占位和日光传感器以及例 如针对工作日和周末,工作时间和工余时间的预先定义的规则。联网控制 系统还可以是大楼设备自动化系统、家庭控制系统、气氛照明系统或任何 其他控制和自动化环境,包括工业、零售业、公共机构和住宅。
术语"设备"在这里可以是指联网控制系统的任何设备或节点。设备可包括灯镇流器、开关、(日)光或占位传感器、遥控器、制动器、恒温器、 阀、计量器和/或附加设备,比如(网络)路由器、桥、网关、聚合器
(aggregator)和控制台。设备可以向联网控制系统提供控制参数或功能。 设备典型地包括设备逻辑,它可以表示对应设备的硬件或软件状态的属 性,并定义设备状态与本地设备功能。设备逻辑可以通过表示设备的硬件 和软件状态的属性的设备"状态变量"来表示。如果状态变量由可执行代 码读取或改变,则该状态变量可被称为"牵涉到"该可执行代码。由可执行 代码读取的状态变量是输入状态变量。由可执行代码改变的状态变量是输 出状态变量。主设备可被指派以状态变量,这是指在运行时期间主设备持 有状态变量的实例,并且这个实例的值将被作为对于该状态变量的"主"值 对待。如果设备是"牵涉到"可执行代码的至少一个状态变量的主设备,则 该设备可被称为"牵涉到"可执行代码。
术语"控制逻辑"可以定义与设备无关的程序,该程序描述一个或多个 设备的运行时行为。控制逻辑可以基本上由以编程语言明确表达的、对于 状态变量的操作来组成。
术语"可执行代码"或执行器可以定义设备特定的软件程序,它是对应 的控制逻辑的翻译。运行时环境可被配置成执行可执行代码。可执行代码 的执行可以允许对联网控制系统的至少一个设备的运行时行为进行控制。
按照本发明的一个实施例,提供了 一种用于包括多个设备的联网控制 系统的编译器,包括
-用于把控制逻辑划分成多个功能控制逻辑程序的装置;
-用于把多个功能控制逻辑程序翻译成多个可执行代码的装置;以及
-用于按照安置规则(placing rule)把多个可执行代码指派给多个 设备中规定的设备的装置。
用于划分的装置可被配置成按照取决于安置规则的划分规则来划分 控制逻辑。这允许最佳地指派可执行代码和对应的控制逻辑程序。
所述规定的设备可以是牵涉到该多个可执行代码之一的设备。这允许 把由可执行代码提供的所需要的功能性安置成靠近需要该功能性的设备。
用于指派的装置可被配置成把多个可执行代码中的至少 一个可执行 代码指派给规定的设备,该规定的设备宿有(host)牵涉到所述至少一个 可执行代码的状态变量的主实例。特别地,该状态变量可以是可执行代码 的输出状态变量。用于指派的装置可被配置成把可执行代码指派到规定的设备上,该
规定的设备包括用于执行所指派的可执行代码的足够资源。这允许防止可 执行代码被指派到资源有限的设备上。
而且,用于指派的装置可包括用于区分包括足够资源的设备和包括 有限资源的设备的装置以及其中用于指派的装置可被配置成仅仅在没 有包括足够资源的设备可用的情况下,才把可执行代码指派给包括有限资 源的设备。因此,可执行代码优选地不被安置在具有有限能力或资源的设 备上。
而且,用于指派的装置可包括用于区分包括足够资源的设备和包括 有限资源的设备的装置;以及其中用于指派的装置可被配置成仅仅在所 牵涉到的有限资源的设备上不可得到足够资源的情况下(例如,由于物理 资源的限制或其他可执行代码所造成的资源耗尽),才把可执行代码指派 给未牵涉到的设备。在联网控制系统是基于802. 15.4/ZigBee、或具有母 子关系和/或类似于ZigBee终端设备的资源有限设备的类似技术的实施例 中,包括足够资源的设备可以是资源有限的子设备的母设备。按照另一个 实施例,包括足够资源的设备可以是在所牵涉到的设备之间的通信路由上 的路由器。
按照一个实施例,用于指派的装置可被配置成把多个可执行代码指 派给规定的设备,以使得在包括有限资源的设备上的通信成本被最小化。 这允许节省资源有限设备的有限的资源。
而且,用于指派的装置可被配置成把多个可执行代码指派给规定的 设备,以使得在所有的多个设备上的通信成本被最小化。这允许减小联网 控制系统中的能量消耗。
用于指派的装置还可被配置成按照多个安置规则把多个可执行代码 指派给规定的设备,以使得如果使用一个安置规则在规定的设备上没有足 够的资源,则对于至少一个可执行代码使用另 一个安置规则。
所述编译器可以适合于基于802. 15. 4/ZigBee或具有母子关系的类似 技术的联网控制系统,其中该多个设备包括至少一个子设备和与所述子设 备相关联的至少一个母设备;以及其中用于指派的装置被配置成如果子 设备在执行多个可执行代码的至少 一个可执行代码时被牵涉到,则指派多 个可执行代码的至少 一个可执行代码给母设备。
联网控制系统可包括至少一个路由器,以及用于指派的装置可被配置成如果路由器被连接到当执行多个可执行代码的至少一个可执行代码时 牵涉到的至少 一个设备,则指派多个可执行代码的至少一个可执行代码给 路由器。
按照本发明的另 一个实施例,提供了 一种用于包括多个设备的联网控
制系统的编译器,包括
-用于把控制逻辑翻译成可执行代码程序的装置;
-用于把可执行代码程序划分成多个可执行代码的装置;以及
-用于按照安置规则把多个可执行代码指派给多个设备中规定的设备
的装置。
按照本发明的另一个实施例,提供了一种联网控制系统,包括
-多个设备;以及
-按照本发明的实施例的编译器。
按照本发明的另 一个实施例,提供了 一种用于包括多个设备的联网控
制系统的编i奪方法,包"l舌
-把用户规定的控制逻辑划分成多个功能控制逻辑程序;
-把多个功能控制逻辑程序翻译成多个可执行代码;以及
-按照安置规则把多个可执行代码指派给多个设备中规定的设备。
划分、翻译和指派的步骤可以迭代地执行。这允许编译过程最佳化。
按照一个实施例,被迭代地执行的步骤可以在用户规定的控制逻辑的
编译过程期间、在可执行代码的安装过程期间、和/或在可执行代码的执
行期间被执行。这允许把在编译、安装或执行期间收集的信息包括到编译
过程中。
按照本发明的另 一个实施例,提供了 一种用于包括多个设备的联网控
制系统的编-泽方法,包4舌
-把控制逻辑翻译成可执行代码程序;
-把可执行代码程序划分成多个可执行代码;以及
-按照安置规则把多个可执行代码指派给多个设备中规定的设备。
按照本发明的一个实施例,可提供一种计算机程序,当其由计算机执
行时,使得能实行按照本发明的以上方法。这允许以编译器程序的形式实
现本发明的方法。
按照本发明的另 一个实施例,可以提供一种存储按照本发明的计算机 程序的记录载体,例如CD-R0M、 DVD、存储卡、盘、或适合于存储计算机
8程序以供电子存取的类似的数据载体。参考下文描述的实施例将明白本发明的这些和其它方面,并将参考这 些实施例来阐述这些和其它方面。下文将参照示例性实施例来更详细地描述本发明。然而,本发明不限 于这些示例性实施例。

图1显示按照本发明的联网控制系统中的编译器;以及 图2显示按照本发明的示例性联网控制的照明系统。下面,功能上类似或相同的单元可以具有相同的参考标号。图1显示包括编译器100和多个设备102、 104、 106、 108、 112的联 网控制系统。设备102是母设备,而设备108是被连接到母设备102的子 设备。设备112是路由器。设备104、 106通过路由器112而被连接。设 备102被连接到设备104。设备102、 104、 106、 108、 112和该编译器通 过如无线通信系统那样的通信系统而被连接。编译器IOO是用于编译的设备,它被配置成执行由编译器程序描述的、 用于编译的方法。编译器IOO被配置成接收控制逻辑并输出可执行代码。 该控制逻辑是用户规定的控制逻辑。可执行代码由编译器从控制逻辑生 成。该编译器还被配置成把所生成的可执行代码指派给多个设备102、 104、 106、 108、 112中的至少一个规定的设备。编译器100包括用于划 分的装置122、用于翻译的装置124、以及用于指派的装置126。用于划分的装置122被配置成接收控制逻辑并把控制逻辑划分成多 个功能控制逻辑程序。例如,用于划分的装置把控制逻辑划分成两个或多 个功能控制逻辑程序。用于划分的装置122还被配置成把功能控制逻辑 程序提供到用于翻译的装置124。用于翻译的装置124被配置成接收功能控制逻辑程序,并把每个接 收的功能控制逻辑程序翻译成对应的可执行代码。用于翻译的装置124还 被配置成把所生成的可执行代码提供到用于指派的装置126。用于指派的装置126被配置成接收可执行代码,并把每个可执行代 码指派给多个设备102、 104、 106、 108、 112中的至少一个设备。用于指 派的装置126被配置成按照安置规则,选择可执行代码要被指派到的规 定设备。安置规则定义多个设备102、 104、 106、 108、 112中的哪个设备是用于所有的或特定的可执行代码的规定设备。安置规则可以遵循 一 个或 多个最佳化准则。为此,该编译器可以有权访问有关系统、应用和/或特 定设备的详细信息。用于划分的装置122被配置成按照划分规则来划分控制逻辑。划分 规则取决于安置规则。这允许根据要由用于指派的装置126向其指派对应 的一个或多个可执行代码的一个或多个规定的设备,来划分特定的控制逻 辑。倘若规定的设备例如包括足够的资源,则用于划分的装置122可以根 本不划分接收的控制逻辑,而是从接收的控制逻辑生成单个功能控制逻辑 程序。在一个实施例中,用于指派的装置126被配置成把可执行代码指派 给牵涉到该可执行代码的规定设备。例如,在特定的可执行代码中牵涉到 设备104、 106,因为设备104是输入状态变量的主设备,而设备106是输 出状态变量的主设备。因此,用于指派的装置126把该特定的可执行代码 指派给设备104或设备106,以便遵从安置规则。用于指派的装置126还可被配置成把可执行代码指派到规定的设备 上,该规定的设备包括用于执行所指派的可执行代码的足够资源。用于指 派的装置126可包括用于区分包括足够资源的设备和包括有限资源的设 备的装置(图1上未示出)。例如,在基于802. 15.4/ZigBee或具有母子关 系的类似技术的联网控制系统中,母设备102可包括足够的资源。相反, 子设备108可以是包括有限的资源或能力的设备。用于指派的装置126可 以优选地把可执行代码指派给母设备102,而不指派给子设备108。特别 是,如果子设备108宿有可执行代码输出状态变量的主实例的话,则用于 指派的装置126可以把可执行代码指派给母设备102。按照另一个实施例,用于指派的装置126可被配置成把可执行代码 指派给路由器112。特别是,如果被连接到路由器112的设备104、 106的 至少一个牵涉到对应的可执行代码的话,则用于指派的装置126可以把可 执行代码指派给路由器112。按照另一个实施例,用于指派的装置126可被配置成指派可执行代 码,以使得在特定的设备上的通信成本被最小化。特别是,使得在包括有 限资源的设备上的通信成本最小化可以是有利的。而且,用于指派的装置 126可被配置成指派可执行代码,以使得在所有的设备102、 104、 106、 108、 112上的通信成本被最小化。按照另一个实施例,用于指派的装置126可以使用规则的(有序的)组合。图1所示的联网控制系统只是示例性地选取的。它可包括遵从联网控 制系统所计划用于的操作领域的要求所必需的任何配置。按照另一个实施例,用于翻译的装置124和用于划分的装置122的位 置可以在编译器100内被互换。因此,用于翻译的装置可以把接收的控制 逻辑翻译成可执行代码程序。此后,用于划分的装置可以把该可执行代码程序划分成多个可执行代码,以及用于指派的装置可以按照安置规则把多 个可执行代码指派给多个设备中规定的设备。按照又一个实施例,翻译、划分和指派的步骤可以迭代地重复进行。 按照本发明的联网控制系统可以基于 一 个系统,其允许对于联网控制 系统的筒单、紧凑和灵活的控制逻辑设计。这由于与控制有关的数据的迁 移对于应用代码本身简单和透明,因而是可能的。控制逻辑可以由用户在 目标联网控制系统中所有的或被选定的设备的集合上规定,而不需要考虑 与通信有关的方面。然后,作为逻辑编译的一部分,可以通过计算机控制 的或自动的过程而把可执行的运行时代码指派给设备,使得目标联网控制 系统相对于设备和/或网络能力或资源最佳化。随后,可以自动添加覆盖 分布方面的支持逻辑。换句话说,按照本发明的联网控制系统可包括如下的系统,其使得能 独立于分布方面而开发和建立控制应用,由此减小控制逻辑(正如从用户 来看的)以及逻辑设计过程的复杂性。而且,可以使得能自由地分配控制 逻辑给设备,这考虑了在应用开发后的计算机控制的或自动化的系统最佳 化。这样的系统还可以允许非技术专家型的用户容易地且以最佳方式定义 和建立控制逻辑。设计控制逻辑和建立系统的过程可以按以下步骤完成。 由用户或设计者进行的逻辑设计可以包括在目标系统中的所有设备 逻辑的集合上开发控制逻辑("设计视图,,),而不用规定在运行时系统中相关的运行时代码将要在其上执行的设备。逻辑设计可以通过使用图形工具 来冗成。可被自动执行的编译可包括把控制逻辑程序翻译成用于运行时系统 的可执行(控制逻辑)代码(称为执行器),例如字节码,这包括把可执行代 码指派给在操作期间该可执行代码应在其上被执行的设备。编译还可包括对支持逻辑进行实例化,该支持逻辑实现运行可执行代码所必需的信
息的通信。
除了网络和应用配置的典型步骤以外,系统建立还可包括把可执行 代码上载到所指派的设备。
系统维护可包括在启动后,通过对新的控制逻辑简单地重复以上的 步骤且相应地下载它,,人而容易地4巴该新的控制逻辑添加到目标系统,而 不需要改变已经在系统中的控制逻辑。
为了举例说明起见,在下面相对于图2所描绘的示例性系统来描述用 于联网控制的照明系统的两个示例性脚本。
这些例子以描述性的、用户可读的语言表示。仅仅是为了更好的可理 解性而选择了用户可读的语言,它绝不是逻辑设计脚本语言的句法的指 示。
例1:"房间200内的占位传感器208接通/关断灯202和204,同时 开关206定义调光水平(dimming level )"。
开关206、传感器208和灯202、 204可以是如图1所示的设备。
所打算中的设备行为是与设备逻辑位置无关的。例如,在联网控制的 照明系统中,脚本"房间200内的占位传感器208接通/关断灯202和204, 同时开关206定义调光水平"可以作为一个可执行代码或多个派生的可执 行代码而^皮指派成在运行时被执行。例如,该可执行代码或多个可执行代 码可被安置在开关206、占位传感器208、任一个灯202、 204上、在房间 200之内或之外的任何其他设备(例如中央设备)上、或在它们的任何选 定的组上,而不改变受控设备的预期的行为。
对于在整个系统上规定的、不考虑分布方面的所设计的控制逻辑(用 户的脚本),编译包括以下步骤特定段(piece)到设备的逻辑划分、逻 辑指派,以及逻辑编译,即,翻译成运行时代码。
编译器可以逐个脚本地工作。
脚本的划分可以具有如下的目标在逻辑划分的步骤中,分离与特定 规则、行为或位置有关的一致的逻辑段,其被称为控制逻辑程序。
是否需要划分控制逻辑程序可以由规则来定义,例如在设备上可用的 存储器单元尺寸,例如64B,。对于逻辑的划分,可以有各种准则,例如, 按照想要的功能性或所牵涉到的设备。例如,例1的示例性脚本可被进一 步地按以下方式之一 分成两个可单独地指派的脚本例l.l:"房间200内的占位传感器208接通/关断灯202和204"和 "开关206定义灯202和204的调光水平"。
例1.2:"房间200内的占位传感器208接通/关断灯202,同时开关 206定义调光水平"和"房间200内的占位传感器208接通/关断灯204,同 时开关206定义调光水平"。
在逻辑指派的步骤中,控制逻辑程序要被指派给运行时代码应当在其 上运行的设备。逻辑指派可以由用户对于所有的或某一些控制逻辑程序进 行定义。
在一个实施例中,可以定义对于逻辑指派的默认规则。例如,应用逻 辑仅仅可被指派给所牵涉到的设备,即持有所牵涉到的状态变量之一的主 实例的设备。所牵涉到的状态变量可以是由应用逻辑使用的输入或输出状 态变量。而且,默认地,逻辑可以总是被指派给那个设备,它例如持有可 执行代码输出状态变量的主实例。
例1.2.1:有了以上的先决条件,来自例1. 2的两个脚本将必须分别 指派给灯2G2和204。
在另一个实施例中,逻辑指派过程可以考虑设备的能力或资源。为此, 需要关于每个个体设备的能力的详细信息。 编译器要考虑的设备特性可包括CPU功率;可用的存储器,包括非 易失性存储器、程序存储器和随机存取存储器;睡眠行为;代理能力或要 求;或者电源。
对于电源评估,规则可以是可执行代码优选地被指派给市电供电的
一、0"夂
队节-。
例1.2. 2:如果开关206和占位传感器208都是电池供电的设备,则 来自例1. 2的脚本仅仅可^L指派给灯202、 204。
在一个实施例中,关于设备的能力或资源的信息可以例如,由于系统 清查的结果而在逻辑指派之前对于编译器可用。
在另一个实施例中,对于诸如存储器的某些设备特性,逻辑划分-指 派—编译—安装步骤的链可以是迭代的过程。按照本实施例,编译器首先按
照某些通用规则,例如所牵涉到的设备的类型,来指派逻辑。
例如,在安装时,可以检查最终得到的可执行代码的尺寸,以便确定 可执行代码是否适合于可用的设备存储器。检查的步骤可以由编译器执行 或由设备本身执行。如果超出存储器尺寸,则可以迭代逻辑划分-指派-编译-安装过程。
在再一个实施例中,逻辑指派可以相对于每个设备的通信成本而被最 佳化,所述通信成本包括发送分组、等待唤醒和侦听要接收的应答帧的能 量成本,以及最终的重传成本。相对于通信成本的最佳化可能要求附加信
息。这样的附加信息可包括使用哪种技术,如802. 15, 4或ZigBee;可 用的带宽和期望的延迟是多少。此外,以下的信息都可能是重要的,即 关于设备角色的信息,如ZigBee路由器(ZR)或ZigBee终端设备(ZED), 设备邻居列表,包括关于母子关系的信息,特定链路的质量(LQI),或路 由路径的长度和成本。路由路径的长度可以由跳数来定义。
例1. 2. 3:在例1. 2. 1中,每个电池供电的设备(206, 208)发送两个更 新,灯202、 204每个一个更新。如果来自例1.2的两个脚本都被指派给 一个灯,例如灯202的话,则每个电池供电的设备206、 208的功率消耗 可以通过限制发送的分组的数量来被进一步限制。这样,每个电池供电的 设备206、 208只必须发送一个分组到灯202,后者进而又将控制灯204。
为了使设备通信成本最佳化,除了设备的能力或资源以外,所考虑的 准则可包括由应用逻辑定义的预期的设备行为,例如,发送出属性更新 的频率。
例1.2.4:如果来自例1的占位传感器208要^f皮调度成每50毫秒测量 和报告占位状态,则会非常希望限制由这个传感器生成的业务量。最低限 度,可以使用如在例1. 2. 3中描述的解决方案,即传感器将只向其中一个 灯报告,并且该灯仅仅在有相当大的亮度级改变时才更新另一个灯。替换 地,从例1的脚本得到的执行器可被指派给占位传感器本身,以使得传感 器将仅仅在有相当大的亮度级改变时且当灯开关接通时才更新两个灯。
所描述的设备通信成本最佳化是在系统设计者可用的任何影响性能 的手段之上完成的。例如,引入条件更新,举例而言,基于绝对或相对属 性值改变或最大改变通知频率。
在再一个实施例中,整个系统的应用和支持逻辑执行的总成本可被最 佳化。对于最佳化准则,比如在所有设备上为存储应用和支持逻辑而要求 的总存储器尺寸,例如以KB计,对于所有设备的总的应用和支持逻辑执 行成本-例如以CPU周期计-或功率消耗或例如以分组跳数计的总通信成 本,需要的传输时间(延迟)和/或带宽,可以被考虑用于最佳化。
最佳化准则的选择可以取决于最关键的系统方面。例如,如果带宽是最关键的系统资源,则带宽使用应当被最佳化。这可以是900MHz附近的 较低的802. 15. 4频带的情形,其提供20或40kbps的带宽。另一方面, 较高的802. 15. 4频带(在2400MHz附近),提供250bps的带宽,例如可以 针对电池寿命进行最佳化。
例1. 2. 5:假设来自例1. 2的两个脚本每个被指派给一个灯204、 206, 则总共必须发送四个更新消息,导致两个可执行代码被触发。如果来自例 1. 2的逻辑被分配给其中一个灯,则只有一个可执行代码被触发,且总共
必须发送三个消息。
在再一个实施例中,以上的逻辑指派方法可以进行组合。例如,默认
地,逻辑将被指派给牵涉到的设备中的任一个,要考虑这个设备的能力或 资源。如果结果证明是不可能的,则逻辑被以这样的方式指派给任何第三、 未牵涉到的设备,即使得对于整个控制系统的总成本被最佳化,例如, 限制更新必须在系统中行进的总跳数。后者例如可以通过把应用逻辑指派 给例如在ZigBee环境下的所牵涉到的ZigBee终端设备的母设备、或指派 给在所牵涉到的设备之间的路由上的任何路由器而达到。
作为可执行的运行时代码生成过程的一部分,应用逻辑必须在逻辑编 译步骤中一皮编译,以产生可执行的运行时代码。
辑被划分和指派之后发生。这在应用支持逻辑_例如预订信息_的实例化 也由编译器完成的情况下简化了这样的实例化。
在另一个实施例中,将应用逻辑编译成运行时可执行代码可以在应用 逻辑被划分和指派之前发生。因此,每个特定的执行器的精确尺寸是已知 的,它可被使用来例如相对于设备的可用的存储器而最佳化逻辑指派。
概述的本发明的特定实施例描述了
联网控制系统,在其中编译器程序自动地
-把用户规定的控制逻辑划分成功能控制逻辑程序,后者被翻译成可 执行代码,以及
-以考虑设备能力/资源的最佳方式把可执行代码指派给设备(它将在 运行时执行该可执行代码),
如上所述的编译器程序,使用以下的指派最佳化准则 -优选地把可执行代码安置在所牵涉到的设备之一 上; -优选地把可执行代码安置在宿有执行器输出状态变量的主实例的设备上,
-否则,如果使用802. 15. 4/ZB或具有母子关系的类似技术,则安置 在所牵涉到的减小功能的设备(例如ZigBee最终设备)的母设备上,特 别是如果那个ZigBee最终设备宿有执行器输出状态变量的主实例的话,
-否则,安置在所牵涉到的设备之间的路由上的任何路由器上;
-优选地,不把可执行代码安置在具有有限的能力/资源的设备上, 所述能力/资源诸如是电源、CPU功率、可用的存储器(包括非易失性存储 器)、睡眠行为、代理能力/要求等等;
-优选地,安置可执行代码使得每个资源有限的设备的通信成本最小化。
-优选地,安置可执行代码使得在所有设备上的总通信成本(例如, 在能量消耗、延迟或带宽方面)最小化。
如上所述的编译器程序,划分用户规定的控制逻辑,使得上述的最佳 的控制逻辑程序指派是可能的。
以上的用于联网控制系统的编译器程序,其中所述步骤被迭代地进

-部分地是在编译,部分地是在安装,可选地还部分地是在操作时间。 本发明的至少 一 些功能性可以由硬件或软件来执行。在以软件实现的
情形下,可以使用单个或多个标准微处理器或微控制器来处理用于实施本
发明的单个或多个算法。
应当指出,单词"包括,,不排除其他单元或步骤,以及单词"a"或
"an,,("一"或"一个")不排除多个。而且,在权利要求中的任何参考符
号不应被解释为限制本发明的范围。
1权利要求
1.用于包括多个设备(102,104,106,108,112)的联网控制系统的编译器(100),包括-用于把控制逻辑划分成多个功能控制逻辑程序的装置(122);-用于把所述多个功能控制逻辑程序翻译成多个可执行代码的装置(124);以及-用于按照安置规则把所述多个可执行代码指派给所述多个设备中规定的设备(102,104,106,112)的装置(126)。
2. 权利要求l的编译器,其中所述用于划分的装置(122)被配置成 按照取决于安置规则的划分规则来划分所述控制逻辑。
3. 权利要求1或2的编译器,其中所述用于指派的装置(126)被配置 成把所述多个可执行代码中的至少 一个可执行代码指派给规定的设备, 该规定的设备宿有在所述至少一个可执行代码中牵涉到的状态变量的主 实例。
4. 前述权利要求的任一项的编译器,其中所述用于指派的装置(126) 被配置成在规定的设备(102, 104, 106, 112)上指派所述可执行代码,该 规定的设备包括用于执行所指派的可执行代码的足够资源。
5. 权利要求4的编译器,其中所述用于指派的装置(126)包括用于 区分包括足够资源的设备(102, 104, 106, 112)和包括有限资源的设备(108) 的装置;以及其中所述用于指派的装置被配置成仅仅当没有包括足够资 源的设备可用时,才把可执行代码指派给包括有限资源的设备。
6. 权利要求3或4的任一项的编译器,其中所述用于指派的装置(126) 包括用于区分包括足够资源的设备(102, 104, 106, 112)和包括有限资源 的设备(108)的装置;以及其中所述用于指派的装置被配置成仅仅当在 所牵涉到的有限资源设备上不可得到足够资源时,才把可执行代码指派给 未牵涉到的设备。
7. 前述权利要求的任一项的编译器,其中所述用于指派的装置(126) 被配置成把所述多个可执行代码指派给规定的设备,使得在包括有限资 源的设备(108)上的通信成本最小化。
8. 前述权利要求的任一项的编译器,其中所述用于指派的装置(126) 被配置成把所述多个可执行代码指派给规定的设备,使得在所有的多个设备(102, 104, 106, 108, 112)上的通信成本最小化。
9. 前述权利要求的任一项的编译器,其中所述用于指派的装置(126) 被配置成按照多个安置规则把所述多个可执行代码指派给规定的设备, 使得如果使用一个安置规则在规定的设备上没有足够的资源,则对于至少 一个可执行代码使用另 一个安置规则。
10. 前述权利要求的任一项的编译器,用于基于802. 15. 4/ZigBee或 具有母子关系的类似技术的联网控制系统,其中所述多个设备 (102, 104, 106, 108, 112)包括至少一个子设备(108)和与所述子设备相关 联的至少一个母设备(102);以及其中所述用于指派的装置(126)被配置 成如果所述子设备在执行所述多个可执行代码的至少一个可执行代码时 被牵涉到,则指派所述多个可执行代码的该至少 一个可执行代码给母设 备。
11. 前述权利要求的任一项的编译器,其中所述联网控制系统包括至 少一个路由器(112),以及其中所述用于指派的装置(126)被配置成如果 该路由器被连接到当执行所述多个可执行代码的至少一个可执行代码时 被牵涉到的至少一个设备(102, 104),则指派所述多个可执行代码的该至 少 一个可执行代码给该路由器。
12. 用于包括多个设备的联网控制系统的编译器,包括 -用于把控制逻辑翻译成可执行代码程序的装置;-用于把所述可执行代码程序划分成多个可执行代码的装置;以及 -用于按照安置规则把所述多个可执行代码指派给所述多个设备中规 定的设备的装置。
13. —种联网控制系统,包括-多个设备(102, 104, 106, 108, 112);以及 -按照前述权利要求之一的编译器。
14. 用于包括多个设备(102, 104, 106, 108, 112)的联网控制系统的编 i奪方法,包i舌-把用户规定的控制逻辑划分成多个功能控制逻辑程序; -把所述多个功能控制逻辑程序翻译成多个可执行代码;以及 -按照安置规则把所述多个可执行代码指派给所述多个设备中规定的 设备。
15. 权利要求14的编译方法,其中所述划分、翻译和指派的步骤被迭代地纟丸行。
16. 权利要求15的编译方法,其中所述被迭代地执行的步骤在用户 规定的控制逻辑的编译过程期间、在可执行代码的安装过程期间、和/或 在可执行代码的执行期间净皮执行。
17. 用于包括多个设备的联网控制系统的编译方法,包括 -把控制逻辑翻译成可执行代码程序;-把所述可执行代码程序划分成多个可执行代码;以及 -按照安置规则把所述多个可执行代码指派给所述多个设备中规定的 设备。
18. —种计算机程序,当其由计算机执行时,使得能执行权利要求14 到17的任一项的方法。
19. 一种存储按照权利要求18的计算机程序的记录栽体。
全文摘要
本发明涉及编译用于联网控制系统的多个设备的控制逻辑的编译器和方法,特别是,涉及自动指派控制逻辑给设备。本发明通过编译而提供了可执行运行时代码到联网控制系统的设备的自动指派规程。控制逻辑到设备的指派过程可以考虑各种最佳化准则,它包括各种分布方面,例如网络资源或能力,诸如网络链路的可用带宽或可靠性,和设备资源或能力,例如CPU、存储器、电源或睡眠行为,它例如由于传输延时或数据分组丢失,可能影响设备的所观察到的行为。
文档编号G06F9/45GK101681266SQ200880016915
公开日2010年3月24日 申请日期2008年5月19日 优先权日2007年5月22日
发明者A·M·M·莱尔肯斯, B·厄德曼, O·施雷耶 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1