CN107133037A - 模型驱动的物联网应用开发方法 - Google Patents
模型驱动的物联网应用开发方法 Download PDFInfo
- Publication number
- CN107133037A CN107133037A CN201710287648.5A CN201710287648A CN107133037A CN 107133037 A CN107133037 A CN 107133037A CN 201710287648 A CN201710287648 A CN 201710287648A CN 107133037 A CN107133037 A CN 107133037A
- Authority
- CN
- China
- Prior art keywords
- model
- sensor device
- customizing
- mapping
- internet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种模型驱动的物联网应用开发方法,其特征在于,包括以下步骤:步骤S1:根据传感器设备的可管理性构建传感器设备运行时模型,对传感器设备进行同一管理;步骤S2:根据应用场景构建定制模型,通过模型转换确保定制模型和传感器设备运行时模型之间的同步。本发明能够简单有效地定制和开发IoT系统。
Description
技术领域
本发明涉及一种模型驱动的物联网应用开发方法。
背景技术
物联网(Internet of things,IoT)是通过各种信息传感设备,按约定的协议,把任何需要监控、连接、互动的物品与联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。通过散布在特定领域的成千上万的传感器节点,收集各种物理信息并连接到互联网上。然而,传感设备所采集到的数据是实时的、数量庞大且无良好结构的,要将采集到的数据映射到应用场景中客观事物的对象属性,则不得不编写大量的转换代码。因此,应用开发仍然是广泛采用IoT技术的主要障碍之一,可以分为两部分:第一,传感设备非常多样化,如射频识别(RFID)标签,传感器和智能手机。每个都有自己不同的编程接口。开发人员必须熟悉这些接口,以便监视或控制,这增加了应用程序开发的复杂性;第二,有不同的应用领域,包括智能交通,医疗保健和智能环境。相同类型的传感器设备可以在不同的场景中发挥不同的作用。 例如,RFID标签可以绑定到一个应用领域中的人并被绑定到另一个应用领域的汽车。在开发IoT系统时,程序员需要将传感器设备与应用层中的不同对象相关联,并通过手工编码实现其对应的映射关系,这也增加了应用程序开发的复杂性。
发明内容
有鉴于此,本发明的目的在于提供一种模型驱动的物联网应用开发方法,能够简单有效地定制和开发IoT系统。
为实现上述目的,本发明采用如下技术方案:一种模型驱动的物联网应用开发方法,其特征在于,包括以下步骤:
步骤S1:根据传感器设备的可管理性构建传感器设备运行时模型,对传感器设备进行同一管理;
步骤S2:根据应用场景构建定制模型,通过模型转换确保定制模型和传感器设备运行时模型之间的同步。
进一步的,所述传感器设备运行时模型的构建包括以下两个部分:
(1)描述目标系统体系结构
在代理机制中,用模型元素描述体系结构的类,用模型元素属性描述类的属性,在模型元素中描述与其他模型元素的关联关系;所有模型元素组织成一个以顶层元素为根的树,本质上等价于一个类图,每一个模型元素对应于其中的一个类;
(2)描述目标系统管理能力
通过代理机制,在每个模型元素中描述其属性值的来源以及对属性的管理方法,使代理机制中的模型元素具备对运行系统的访问能力,模型元素属性的值来源的方式可以是外部事实对象、固定值、固定散列值、动态Sql语句、外部函数。
进一步的,所述定制模型的构建包括以下两个部分:
(1)映射规则定义
用于描述定制模型和传感器设备运行时模型之间的关系,定制模型中的每个元素与传感器设备运行时模型中的对应元素相关;模型元素之间包括三种类型的基本映射关系:一对一映射关系,多对一映射关系和一对多映射关系;
(2)模型操作转换
将定制模型上的操作转换为传感器设备运行时模型上的操作;在定制模型上进行操作时,自动生成操作文件:以动作标签的形式进行描述;模型元素之间包括三种类型的基本映射:一对一映射,多对一映射和一对多映射。
进一步的,所述模型操作包括五种基本类型:Get,Set,List,Add和Remove。
本发明与现有技术相比具有以下有益效果:本发明只需构建传感器设备运行时模型和定制模型来满足个性化应用场景,定制模型上的操作通过模型转换自动映射到传感器设备运行时模型上,所有应用逻辑都可以通过在定制模型上执行操作程序来执行,因此,开发人员可以专注于管理逻辑的核心。本发明可以帮助开发人员处理底层API以及收集的底层数据,大大减少了手工编码的工作量。
附图说明
图1是调用编程接口的示例。
图2是本发明的方法示意图。
图3是本发明一实施例中运行时模型和传感器设备之间的同步示意图。
图4是本发明模型元素之间的三种基本映射关系。
图5是模型操作的五种基本类型。
图6是基于运行时模型的物联网的社区智能管理系统。
图7是QVT和Java语言中的智能社区程序。
图8是QVT和Java程序之间的性能比较示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1显示了通过动态链接库(DLL)提供的API获取标签信息的一些代码片段。开发人员封装了API并根据通信协议顺序调用它们,然后从原始数据中提取可用信息。在此过程中,开发人员必须处理这些底层API以及收集的底层数据。此外,由于代码直接与传感器设备连接,因此不容易重用。 开发人员必须编写许多不同的程序来管理类似的应用场景。
请参照图2,本发明提供一种模型驱动的物联网应用开发方法,具体包括以下两个步骤:
步骤S1:根据传感器设备的可管理性构建传感器设备运行时模型,对传感器设备进行同一管理;
步骤S2:根据应用场景构建定制模型,通过模型转换确保定制模型和传感器设备运行时模型之间的同步。
当使用本方法时,程序变得更短、更简单;我们只需要定义一组元模型,映射关系和模型级程序,从而大大减少手工编程的工作量。
传感器设备接口的异构性给IoT应用开发程序带来极大的复杂度。在本实例中,采用代理机制进行运行时模型的构造,并通过运行时模型在模型层对传感器设备进行统一管理。代理机制对目标系统使用到的逻辑做统一的梳理,针对一些通用的应用场景做相应的开发,通过对管理接口的封装,为开发提供统一和简便的相关接口,并维护目标运行系统与体系结构层的双向同步。代理机制面向目标系统构造模型主要分为两个部分:
(1)描述目标系统体系结构
在代理机制中,用模型元素描述体系结构的类,用模型元素属性描述类的属性,并且可以在模型元素中描述与其他模型元素的关联关系;所有模型元素组织成一个以顶层元素为根的树,本质上等价于一个类图,每一个模型元素对应于其中的一个类,并且可以描述模型元素之间的关系,从而用体系结构层反应目标系统;
(2)描述目标系统管理能力
描述完目标系统的体系结构,为了使体系结构与运行系统实现数据的实时同步关联。开发人员可以通过代理机制,在每个模型元素中描述其属性值的来源以及对属性的管理方法,例如通过数据库、文件等介质对运行系统的数据进行读写,或调用运行系统提供的管理API对运行系统进行操作等方式,从而使代理机制中的模型元素具备对运行系统的访问能力,模型元素属性的值来源的方式可以是外部事实对象、固定值、固定散列值、动态Sql语句、外部函数等等,其中最常用的两种方式是通过动态Sql语句对数据库中的数据进行操作,以及通过外部函数的方式封装管理API。
完成以上两个部分工作,代理机制能自动生成同步引擎,以支持体系结构与运行系统间的双向同步。同步引擎不仅可以使运行时模型监视传感器设备的任何状态,还可以对传感器设备上的运行时模型进行更改。因此,我们可以通过运行时模型上的操作来管理传感器设备,这些操作将传输到底层系统。例如,如图3所示,同步引擎在ID为158的RFID标签的运行时模型中构建模型元素。当标签从ROOM1434移动到ROOM1621时,同步引擎能够检测到该变化,然后将该元素从Reader1434到运行时模型中的Reader 1621。
由于传感器设备的多样性及其许多应用场景,IoT域中存在许多不同的管理要求。不同类型的传感器设备通常需要协同运行以支持IoT系统,传感器设备应以适当的管理方式进行管理。在我们的方法中,开发人员只需要构建定制的模型并定义一组映射规则,以实现个性化的管理需求。定制模型从所需的IoT系统的软件架构中抽象出来。通过模型转换确保定制模型和传感器设备运行时模型之间的正确同步,根据映射规则自动完成。所述定制模型的构建包括以下两个部分:
(1)映射规则定义
影射规则用于描述定制模型和传感器设备运行时模型之间的关系,定制模型中的每个元素与传感器设备运行时模型中的对应元素相关;如图4所示,模型元素之间包括三种类型的基本映射关系:一对一映射关系,多对一映射关系和一对多映射关系;任何其他映射关系可以使用它们组合使用。
•一对一映射关系
定制模型中的一个元素涉及传感器设备运行时模型中的某个元素。特别地,定制模型中的元素的属性也对应于传感器设备运行时模型中的相关元件的属性。例如,如图4所示。定制模型中的Light元件和传感器设备运行时模型中的功率元件都代表灯开关。Light元素的id和on_off属性与Power元素的id和switch属性有关。
•多对一映射关系
定制模型中的两个或多个元素与传感器设备运行时模型中的单个项目相关。特别地,两个或多个定制的模型元素的属性涉及传感器设备运行时模型中的单个元素的属性。例如,如图4所示,定制模型中的房间和空调元件都涉及传感器设备运行时模型中的配电单元(PDU)元件。我们在定制模型中分离房间和空调的语义,以实现分离问题,然而,实际的物理单元PDU是一种综合的设备,既可以感知室内环境又能控制空调的功率。
•一对多映射关系
定制模型中的一个元素涉及传感器设备运行时模型中的两种或更多种类型的元件。例如,定制模型中的Person元素代表人,传感器设备运行时模型中的标签433和500都代表了绑定到人的RFID标签。因此,在模型转换期间,根据其owner_id属性,任何Person元素都映射到Tag_433或Tag_500元素。
在表1中,我们定义了三种类型的标签,并提出了一种描述定制模型和传感器设备运行时模型之间的映射关系的方法。
•Helper:Helper标签描述元素之间的映射。Helper标签通常有有键,值和类型三个属性。值描述了定制模型中的元素,键描述了传感器设备运行时模型中的元素,类型描述映射的类型。当值为基本值时,它是一对一的映射关系或多对多映射关系。当它的值是多个时,它是一对多映射关系。元素通常具有属性或其他元素,因此Helper标签通常会嵌套Helper,Mapper和Qurey标签。
•Mapper:Mapper标签描述元素属性之间的映射。Mapper标签通常有两个属性,key和value。该值描述了定制模型中的属性,值描述了传感器设备运行时模型中的属性。属性所属的元素在外辅助标签中定义。
•Query:Query标签用于描述元素属性之间的映射关系。Query标签通常有key,value,node和condition四个属性。Query标签中的key和value与映射器标签中的相同。而且,属性所属的元素在外Helper标签中定义。然而,定制模型中的元素由node和condition属性定义;该node描述元素的类型,该condition描述元素应该遵循的约束。特别地,Query标签通常用于描述多对一映射关系。
基于上述三种类型的标签,我们可以定义元素之间的映射。
表 1 映射规则描述
(2)模型操作转换
定制模型的模型操作旨在监控一些系统参数或执行一些管理任务。模型操作包括五种基本类型:Get,Set,List,Add和Remove。为了确保模型之间的正确同步,定制模型上的操作需要转换为传感器设备运行时模型上的操作。
定义图5中每个基本模型操作的描述和执行效果。在定制模型上进行操作时,将自动生成操作文件:以动作标签的形式进行描述;如果操作类型为Get或List,则需要一个结果文件:以返回标签的形式进行描述。操作或结果标签的条件属性通常描述为目标元素的识别,如id = f9764071。
模型元素之间包括三种类型的基本映射:一对一映射,多对一映射和一对多映射。如图4所示,根据映射关系,定制模型中每个元素的操作可以转换为传感器设备运行时模型中相关元素的操作。模型操作映射关系如表2所示。
•一对一映射
自定义元素A模型和相关元素B在传感器设备运行时模型中,我们可以进行一对一映射A→B。因此,添加,删除或ListA的操作映射到B上的相同操作。获取或设置的操作A的属性的值也映射到相关属性上的相同操作。
•多对一映射
在传感器设备运行时模型中定义模型中的元素A和相关元素B,我们可以使映射A→B;但B的某些属性也映射到自定义模型中元素C的相关属性。 因此,添加,删除或列出A的操作映射到B上的相同操作。获取或设置A或C属性值的操作也映射到相关属性的相同操作。此外,当创建B时,属性的初始值来自A和C。
•一对多映射
自定义模型中的元素A和传感器设备运行时模型中的相关元素B或C,我们可以进行一对多映射A→B或C.因此,添加,删除或ListA映射到B或C上的相同操作。获取或设置A属性值的操作也映射到相关属性的相同操作。
表 2 模型转换的映射
以下结合三个方面对本方法进行评估:
1)基于运行时模型构建智能社区的物联网系统
为了构建传感器设备运行时模型,开发人员只需要定义基于架构的元模型和eclipse建模框架上的访问模型。运行时模型将由代理机制构建。传感器设备运行时模型的构建是一个一次性的要求,可以在不同的IoT应用场景中重复使用。所有的应用逻辑都可以通过在定制模型上执行操作程序而不处理不同类型的低级管理界面来执行。因此,构建定制模型的额外工作对于IoT应用程序开发是可以接受的。
用本文的方法开发了智能社区的物联网系统,基于运行时模型,包括位置感知系统和路灯控制系统,如图6所示,定制模型中的每个模型元素都代表了现实世界中的一个实体。管理员可以在架构级别管理传感器设备,并将定制模型上的操作转换为底层系统的管理界面的调用。我们重用和重组由传感器设备和信息系统提供的管理界面,而不是修改底层系统。此外,所有应用逻辑都可以通过执行定制模型上的程序来实现,这可以从许多以模型为中心的分析或计划方法和机制(如模型检查器)中受益。
使用管理接口和使用运行时模型的编程难度比较来验证本文的方法,本文使用建模语言QVT和高级语言Java实现智能社区的IoT应用,如图7所示,基于架构的运行时模型对底层API进行建模,重用数据访问代码。然后,开发人员可以专注于管理任务逻辑,而无需处理不同类型的低级管理界面。此外,建模语言提供了诸如select,sum在模型级别的操作简化编程的操作。 如表3所示,警告系统的Java代码大约为140 LOC;相比之下,QVT代码只有15 LOC。而路灯智能管理系统的Java代码约为136LOC,而QVT代码只有13 LOC。 QVT计划可以将LOC减少约80%。
表 3 QVT和Java程序之间的LOC的比较
3)比较使用管理接口的执行时间和对同一管理任务使用运行时模型
为了评估我们的方法的性能,我们开发Java和QVT程序来执行管理界面或运行时模型上电子文章监控的相同管理任务。管理任务是检查人员及其物品是否位于同一地点。我们在具有2.1 GHz Intel i3-2310M CPU和2 GB RAM的PC上运行程序。 两个程序的执行时间随着节点规模的增加呈指数增长,如图8所示。Java程序的执行时间小于QVT。主要原因是两组程序基于相同的API,并且在基于运行时模型的方法中有一些额外的操作,其目的是确保基于架构的运行时模型和底层系统之间的同步。时间上的性能微小差异对于IoT管理系统来说是完全可以接受的。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (4)
1.一种模型驱动的物联网应用开发方法,其特征在于,包括以下步骤:
步骤S1:根据传感器设备的可管理性构建传感器设备运行时模型,对传感器设备进行同一管理;
步骤S2:根据应用场景构建定制模型,通过模型转换确保定制模型和传感器设备运行时模型之间的同步。
2.根据权利要求1所述的模型驱动的物联网应用开发方法,其特征在于:所述传感器设备运行时模型的构建包括以下两个部分:
描述目标系统体系结构
在代理机制中,用模型元素描述体系结构的类,用模型元素属性描述类的属性,在模型元素中描述与其他模型元素的关联关系;所有模型元素组织成一个以顶层元素为根的树,本质上等价于一个类图,每一个模型元素对应于其中的一个类;
描述目标系统管理能力
通过代理机制,在每个模型元素中描述其属性值的来源以及对属性的管理方法,使代理机制中的模型元素具备对运行系统的访问能力,模型元素属性的值来源的方式可以是外部事实对象、固定值、固定散列值、动态Sql语句、外部函数。
3.根据权利要求1所述的模型驱动的物联网应用开发方法,其特征在于:所述定制模型的构建包括以下两个部分:
映射规则定义
用于描述定制模型和传感器设备运行时模型之间的关系,定制模型中的每个元素与传感器设备运行时模型中的对应元素相关;模型元素之间包括三种类型的基本映射关系:一对一映射关系,多对一映射关系和一对多映射关系;
模型操作转换
将定制模型上的操作转换为传感器设备运行时模型上的操作;在定制模型上进行操作时,自动生成操作文件:以动作标签的形式进行描述;模型元素之间包括三种类型的基本映射:一对一映射,多对一映射和一对多映射。
4.根据权利要求3所述的模型驱动的物联网应用开发方法,其特征在于:所述模型操作包括五种基本类型:Get,Set,List,Add和Remove。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710287648.5A CN107133037A (zh) | 2017-04-27 | 2017-04-27 | 模型驱动的物联网应用开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710287648.5A CN107133037A (zh) | 2017-04-27 | 2017-04-27 | 模型驱动的物联网应用开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107133037A true CN107133037A (zh) | 2017-09-05 |
Family
ID=59716594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710287648.5A Pending CN107133037A (zh) | 2017-04-27 | 2017-04-27 | 模型驱动的物联网应用开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107133037A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166546A (zh) * | 2014-08-01 | 2014-11-26 | 清华大学 | 一种基于mda的面向dds应用软件的实现方法及系统 |
-
2017
- 2017-04-27 CN CN201710287648.5A patent/CN107133037A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166546A (zh) * | 2014-08-01 | 2014-11-26 | 清华大学 | 一种基于mda的面向dds应用软件的实现方法及系统 |
Non-Patent Citations (1)
Title |
---|
陈星等: "基于运行时模型的无线传感网管理方法", 《软件学报》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Runtime model based approach to IoT application development | |
US20240203043A1 (en) | Generative content system that supports location-based services and methods therefor | |
US8392877B1 (en) | System and method of application development using replaceable self-contained components (RSCCS) | |
CN113064351A (zh) | 数字孪生模型构建方法、装置、存储介质及电子设备 | |
CN108509185A (zh) | 用于任意软件逻辑建模的系统和方法 | |
US12020354B2 (en) | Hub and spoke classification system | |
Yang et al. | Design knowledge modeling and software implementation for building code compliance checking | |
US12001917B2 (en) | Hub-and-spoke classification system and methods | |
CN112860260B (zh) | 一种在高校场景下基于web的跨平台应用构建工具及方法 | |
Pfeiffer et al. | Modeling capabilities of digital twin platforms-old wine in new bottles? | |
CN102103504A (zh) | 一种反射式建模工具及其重构方法 | |
Sharaf et al. | An architecture framework for modelling and simulation of situational-aware cyber-physical systems | |
Basciani et al. | A customizable approach for the automated quality assessment of modelling artifacts | |
Fan et al. | Feature model based on description logics | |
JP2022510227A (ja) | イベント駆動型アプリケーションのルールに基づく割り当て | |
Wada et al. | Modeling turnpike frontend system: A model-driven development framework leveraging UML metamodeling and attribute-oriented programming | |
Serral et al. | Addressing the evolution of automated user behaviour patterns by runtime model interpretation | |
CN107133037A (zh) | 模型驱动的物联网应用开发方法 | |
Alexakos et al. | Adaptive manufacturing utilizing ontology-driven multi-agent systems: Extending Pabadis' Promise approach | |
KR101668652B1 (ko) | 스마트 워터 그리드 기반 정보 관리 방법 및 시스템 | |
Maruna et al. | The business process transformation framework implementation through metamodel extension | |
Donia | Computational Modeling of Design Requirements for Buildings | |
Tao et al. | Model Based Methodology and Framework for Design and Management of Next-Gen IoT Systems. | |
Huang | Modeling and Implementation of Real Estate Management System Database Based on Data Integration | |
VISCONTI | On model-driven design of city spaces. A bidirectional transformations approach to city spaces design and operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170905 |