30、物联网服务创建与供应的测试启用架构解析

物联网服务创建与供应的测试启用架构解析

1. 相关项目与架构概述

在物联网领域,有两个重要的项目。一是物联网服务创建与测试环境(IoT.est),它是欧盟ICT - FP7项目的一部分。另一个是物联网架构(IoT - A),同样属于欧盟ICT - FP7项目,该项目提出了物联网的架构参考模型(ARM),用于识别物联网领域的基本概念和参考架构(RA)的功能组件。我们的贡献在于采用并应用这些原则,开发出用于物联网服务自我管理和测试的连贯架构,具体做法是将IoT.est中确定的功能映射到IoT - A ARM中,并为支持物联网的测试进行扩展。此外,还实现了该架构,为动态测试用例的生成和执行场景提供了具体示例。

2. IoT - A ARM相关介绍

ARM涉及标准化组件的识别、使用和规范,理解底层业务模型,以及推导协议和接口。它由参考模型(RM)和RA组合而成。
- 参考模型(RM) :旨在通过一组模型建立对物联网领域的共同理解,这些模型识别物联网的主要概念、它们的交互和约束,并作为RA的基础。RM包括领域模型(DM)和信息模型(IM)。DM将实体、资源和服务等概念确定为物联网场景中的重要参与者,具体概念描述如下表所示:
| IoT - A概念 | 定义 | IoT.est对应概念 |
| — | — | — |
| 用户 | 服务的使用者 | 用户/应用程序 |
| 物理实体(PE) | 现实世界中的任何“事物”,包括例如位置 | 事物 |
| 虚拟实体(VE) | 物理实体在数字世界中的表示 | 感兴趣的实体 |
| 增强实体(AE) | 虚拟实体和物理实体的组合,是物联网中的“事物” | 无 |
| 设备 | 用于在物理实体和虚拟实体之间进行中介,传感器、执行器和标签是典型设备 | 外部资源 |
| 资源 | 封装设备的软件组件(资源可能高度依赖硬件) | 外部资源 |
| 服务 | 为资源提供标准化接口 | 物联网服务 |
- 信息模型(IM) :解释物联网信息的建模方式。
- 参考架构(RA) :旨在提供可用于构建完全可互操作的具体物联网架构和系统的指南、最佳实践、视图和视角。RA通过功能视图,为任何具体的物联网架构提供可能需要的关键功能组(FG),主要功能组如下:
- 应用功能组(Application FG) :描述基于IoT - A架构实现的应用程序所提供的功能。
- 物联网业务流程管理功能组(IoT Business Process Management FG) :为可在流程执行组件中执行的物联网感知业务流程建模提供环境。
- 服务组织功能组(Service Organization FG) :组织物联网服务与外部实体和服务的编排和访问,提供一组功能和API来公开和组合物联网服务。
- 虚拟实体功能组(Virtual Entity FG) :包含将虚拟实体与相关服务关联的功能,以及搜索此类服务的方法。
- 物联网服务功能组(IoT Service FG) :提供服务处理信息以及向应用程序软件和服务通知与资源和相应虚拟实体相关事件所需的功能。
- 设备功能组(Device FG) :提供设备连接和通信的方法和原语。
- 管理功能组(Management FG) :负责有效管理计算资源,其中服务质量(QoS)管理器确保所表达的QoS要求的一致性,设备管理器设置默认设备配置和固件升级。
- 安全功能组(Security FG) :确保不同功能组一致应用安全功能的各个方面。

3. 需求分析
3.1 物联网需求

当现实世界的对象能够相互交互和协作,或者用户能够与这些对象进行交互时,我们就进入了物联网的范畴。物联网的重要方面包括传感器和执行器技术,这些技术允许与现实世界的对象或环境进行交互,并为对象提供感知能力。IoT.est中的许多场景驱动需求涵盖了物联网的这一内在特征。其他需求则专门处理物联网的异构性,这对IoT.est的架构有很大影响。此外,面对可能大量的对象、传感器、执行器和标签,物联网架构必须提供强大而高效的工具来发现可用于创建物联网服务的实体。

3.2 基于知识的服务生命周期管理需求

为支持自动化、动态的物联网服务创建和供应,架构应满足设计时和运行时的要求。
- 设计时要求 :即服务创建时间,分为建模和开发阶段。建议采用基于语义的知识驱动方法来简化服务创建。语义描述以机器可解释的方式表示可重用服务组件及其组合成复杂服务的知识,同时与人类可读的知识库相关联,便于维护。这些描述必须能够表示服务级别协议(SLA)、服务状态(如QoS、QoI)以及与授权和服务生命周期管理相关的业务和技术角色。此外,还需要定义使用条件,以便在出现故障条件时触发相应机制。为克服传感器数据与物联网启用的业务流程之间的语义差距,系统必须能够收集低级传感数据并将其处理为高级信息,这需要基于知识的处理链组合方法,包括用于数据聚合、传感器融合、模式识别、事件检测和推理的可重用组件。服务组合环境(SCE)应与运行时环境无关,允许指定与用户目标匹配的模式和运行时约束,这需要组件能力表示和组件发现的方法。
- 运行时要求 :涵盖服务供应,可细分为服务部署和服务执行。服务生命周期的每个阶段都需要相应的测试、监控和自适应机制支持。如果系统中的某个组件出现故障,系统应识别并提供替代组件,这对任何基于知识的方法的时间约束提出了很高要求,需要预计算回退解决方案和前瞻性方法。

3.3 测试驱动的服务创建需求

从测试角度来看,基于知识的生命周期管理方法提供了从语义服务描述(半)自动推导测试的能力。语义服务描述需要包含关于服务接口描述、物联网资源接口描述、所需SLA和服务供应所需元数据(如所需服务运行时环境的资源)的详细信息。输入输出前置条件效果(IOPE)是描述服务接口功能行为所需的信息,为实现自动化测试推导,这些信息必须存储在语义描述中。与传统的Web服务测试方法不同,由于可能涉及的物联网资源的异构性,需要详细描述如何与它们进行通信。此外,由于物联网资源的参与,测试需要在可控环境(沙箱)中执行,以确保在将被测系统(SUT)部署到现实世界之前其行为正确。

3.4 审查架构与确定需求的比较

将IoT.est的需求按类别(架构、语义、测试、服务组合)进行概述,并与IoT - A的需求进行比较:
- 架构方面 :大部分需求来自场景分析,在IoT - A中得到了覆盖。如异构性(设备、技术、访问)、语义支持、传感和执行支持、监控和管理支持(由IoT - A的管理功能组覆盖)、安全性(总体符合IoT - A的安全、信任和隐私模型)。在IoT - A中,互操作性、可扩展性、可移植性和安全性被视为系统的品质,并按照Rozanski等人的术语描述为视角。ARM提供了大量的设计选择,使架构有多种选项来满足物联网系统的任何目标品质。
- 语义方面 :在IoT - A中,语义主要在RM的IM中处理,明确显示设备、资源和服务等实体与服务描述相关联。如何处理这些描述的语义方面留给设计者,但IoT - A强烈建议使用RDF或OWL。语义注册和查找在IoT - A中也被考虑,是功能分解的一部分。然而,IoT - A的需求未将测试活动作为模型的一部分,因此IoT.est在这一特定主题上的一些需求未被明确覆盖。
- 服务组合方面 :这一类别的需求要么与SCE设计和非功能需求相关(超出了ARM的详细级别),要么描述了服务组合的某些方面,这些方面隐含地由语义覆盖,或者直接与未被ARM覆盖的测试需求相关。
- 测试方面 :这一类别中的大多数需求非常特定于测试,正如预期的那样,在IoT - A中未被考虑。一些需求非常精确地规定了服务描述的内容,如带宽约束、测试前和测试后操作,而IoT - A仅提出了将此类描述建模为IM一部分的通用方案。
- 其他方面 :一些与角色驱动或基于角色的活动访问控制、机密性或特定安全技术相关的需求与IoT - A的安全和隐私模型兼容。与面向服务架构(SOA)相关的技术需求也与ARM兼容并由其处理,例如与WS - *、RESTful技术的兼容性。

4. 架构设计
4.1 物联网服务创建和供应架构

该架构旨在支持当前物联网基础设施的异构性,并弥合低级物联网服务与高级业务服务之间的差距。它包含六个主要架构组件,其目标总结如下:
- 知识管理(KM)组件 :负责(基于物联网的)服务描述的注册、存储、搜索和查询,以及一些管理任务。语义服务描述存储在分布式服务注册表中。
- 服务组合环境(SCE) :允许最终用户基于业务目标以半自动化方式组合基于物联网的服务。服务设计GUI通过构建工作流和编辑数据流等操作促进服务创建,并支持整个服务组合生命周期。
- 服务运行时环境(SRE) :实现物联网启用的业务流程的供应,与服务生命周期的部署和执行阶段相关。SRE监控上下文和网络参数(如QoS),并启动自动服务自适应以满足SLA。
- 测试组件(TC) :管理对语义描述的服务的测试推导和执行。测试推导由SCE触发,从注册表和搜索/查询引擎中获取服务描述,并存储测试结果信息。它在SRE的可控实例(沙箱实例)中处理服务测试,并模拟外部资源。
- IoT.est服务组件 :代表物联网服务和可重用服务组件的集合。由于目标是允许以统一的方式描述、注释和绑定特定于物联网的服务,因此“服务”一词是通用的,不与任何固定的协议、输入/输出格式或其他特定SLA细节相关联。
- 外部资源 :是未在提议的架构内设计和开发的资源,这些资源可以是可被发现并与基于物联网的服务一起用于服务组合的服务。

4.2 相对于IoT - A领域模型的反向映射

IoT.est中开发的概念列表的详细程度低于IoT - A。虽然资源、传感器、执行器等概念存在,但它们被视为“外部资源”,因为该项目倾向于关注服务层。即使这里未详细开发,从IoT.est角度的UML领域模型也将与IoT - A DM兼容,但主要“概念”数量较少,子类实体较多,因为许多IoT - A概念属于“外部资源”范畴。

4.3 相对于IoT - A参考架构的扩展

提议的IoT.est架构扩展了IoT - A RA,包括测试、运行时监控和自适应以及基于知识的服务生命周期管理。新定义了一个功能块,即测试组件(TC),它可以作为IoT - A管理功能组中的附加组件。基于面向服务架构(SOA)方法,每个物联网资源被封装为一个原子物联网服务,这些服务可以组合成更复杂的物联网服务。TC还包括物联网资源仿真(将模拟资源的数据传输插入到被测系统中)和网络仿真(改变网络连接行为),这些在设计时定义。此外,在将服务部署到实时系统之前,会在沙箱环境中进行测试。KM组件的服务注册、搜索和查询功能映射到IoT - A的物联网服务功能组,其生命周期和角色管理功能映射到管理功能组。IoT - A的物联网服务功能组还涵盖了IoT.est服务组件,包括原子和复合服务的描述和注释。IoT.est的SCE组件提供与服务组织功能组相同的功能。SRE的功能映射到物联网业务流程管理功能组,包括内置的监控和自适应能力,以应对物联网环境的动态性。

5. IoT.est架构构建块

作为对测试驱动的SCE确定需求的重点贡献,这里主要关注提议架构中的知识管理和测试组件。
- 知识管理块 :基于IoT.est描述本体,它是为提议的架构设计的语义描述框架,提供了一个轻量级的模块化框架,用于描述资源、测试和服务等不同方面。服务和资源不仅与领域知识库中的概念相关联,还与语义Web上的其他现有源相关联。服务描述存储库实现为分布式存储,对应用程序隐藏分布式查询处理的复杂性,并提供服务描述注册、更新、查找、删除和发现的管理接口。搜索/查询引擎由服务搜索和服务推荐两个主要子组件组成。搜索过程主要基于逻辑方法(例如使用SPARQL语言),并结合分布式存储库机制,使用户能够生成富有表现力和有效的逻辑查询。为在应用程序上下文中找到最合适的服务实例,基于用户需求和任务、应用程序上下文以及可能的底层物联网资源的可信度等因素实现了有效的服务推荐功能。生命周期管理为其他模块提供更新与服务生命周期相关的所有信息的方法,例如服务通过验证测试后可以获得认证,服务生命周期状态的更改包括证明服务通过所有测试的其他信息。角色管理提供创建、更新、删除或修改角色以及关联和描述用户角色允许访问的功能的典型操作,例如集成测试人员能够认证测试,而软件开发人员则不能。
- 测试组件 :由于原子和复合服务中涉及的组件与现实世界的交互以及缺乏对这些组件的控制,测试不能在生产环境中执行。因此,被测系统将被放置在一个所谓的沙箱中,该沙箱尽可能真实地模拟目标环境,不仅在功能上,而且从现实世界(例如网络和资源方面)的角度来看也是如此。为克服当前耗时和耗资源的方法,我们提出了一种代码插入方法,该方法可以从基于物联网的服务的语义描述中推导出来。测试执行引擎(TEE)控制环境并执行测试用例。测试创建过程由SCE触发,生成的测试用例可以根据专家知识选择执行或修改。测试设计引擎(TDE)为新的和更改的服务创建测试用例并准备其执行。

以下是知识管理块的主要构成和功能的mermaid流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(知识管理块):::process --> B(服务描述存储库):::process
    A --> C(搜索/查询引擎):::process
    A --> D(生命周期管理):::process
    A --> E(角色管理):::process
    B --> B1(服务描述注册):::process
    B --> B2(服务描述更新):::process
    B --> B3(服务描述查找):::process
    B --> B4(服务描述删除):::process
    B --> B5(服务描述发现):::process
    C --> C1(服务搜索):::process
    C --> C2(服务推荐):::process

通过以上对物联网服务创建与供应架构的详细解析,我们可以看到该架构在满足物联网各种需求方面的设计思路和具体实现方式,为物联网服务的开发和测试提供了全面的解决方案。

物联网服务创建与供应的测试启用架构解析

6. 架构的优势与应用场景
6.1 架构优势

该架构具有多方面的优势,使其在物联网服务创建与供应领域具有显著的竞争力。
- 异构性支持 :能够适应当前物联网基础设施的异构性,无论是不同的设备、技术还是访问方式,架构都能有效处理,确保不同组件之间的兼容性和互操作性。
- 知识驱动服务创建 :基于语义的知识驱动方法简化了服务创建过程,提高了服务开发的效率和质量。语义描述使得服务组件的可重用性增强,同时便于维护和管理。
- 测试与监控机制 :架构中集成了测试组件和运行时监控功能,能够在服务生命周期的各个阶段进行有效的测试和监控,确保服务的可靠性和稳定性。在出现故障时,能够及时发现并采取自适应措施,保障服务的正常运行。
- 与现有模型的兼容性 :与IoT - A的架构参考模型(ARM)具有良好的兼容性,通过反向映射和扩展,能够充分利用IoT - A的优势,同时满足IoT.est的特定需求。

6.2 应用场景

该架构适用于多种物联网应用场景,以下是一些典型的例子:
- 智能家居 :在智能家居系统中,架构可以支持各种智能设备(如传感器、执行器)的连接和管理,实现设备之间的协同工作。用户可以通过服务组合环境创建个性化的智能家居服务,如自动化的照明控制、温度调节等。同时,测试组件可以确保这些服务的正确性和稳定性,提高用户体验。
- 工业物联网 :在工业领域,架构可以用于管理和监控生产设备,实现设备的远程控制和故障诊断。通过知识管理组件,可以对工业设备的服务描述进行注册和查询,方便设备的维护和升级。服务运行时环境可以实时监控设备的运行状态,根据实际情况进行自适应调整,提高生产效率和质量。
- 智能交通 :在智能交通系统中,架构可以整合交通传感器、车辆信息和交通管理系统,实现交通流量的实时监测和优化。服务组合环境可以创建各种交通服务,如智能导航、停车管理等。测试组件可以对这些服务进行严格的测试,确保在复杂的交通环境中能够正常运行。

7. 架构的实施步骤

要实施该架构,可以按照以下步骤进行:
1. 需求分析 :明确物联网服务的具体需求,包括功能需求和非功能需求。根据需求分析的结果,确定架构的具体配置和组件的使用方式。
2. 知识管理组件搭建 :基于IoT.est描述本体,构建知识管理组件。创建服务描述存储库,实现服务描述的注册、更新、查找等功能。开发搜索/查询引擎,包括服务搜索和服务推荐子组件。同时,建立生命周期管理和角色管理机制,确保服务的有效管理。
3. 服务组合环境配置 :配置服务组合环境,提供服务设计GUI,支持用户进行服务创建和流程设计。确保服务组合环境能够与知识管理组件进行有效的交互,实现服务的半自动化创建。
4. 服务运行时环境部署 :部署服务运行时环境,实现物联网启用的业务流程的供应。配置监控和自适应机制,确保服务在运行过程中能够满足服务级别协议(SLA)的要求。
5. 测试组件集成 :集成测试组件,包括测试执行引擎和测试设计引擎。实现测试用例的生成和执行,确保服务在部署到现实世界之前经过充分的测试。
6. 外部资源接入 :接入外部资源,将未在架构内设计和开发的资源集成到系统中。确保外部资源能够与架构中的其他组件进行有效的通信和协作。
7. 系统测试与优化 :对整个系统进行全面的测试,包括功能测试、性能测试、安全测试等。根据测试结果进行系统优化,确保系统的稳定性和可靠性。

8. 架构的未来发展趋势

随着物联网技术的不断发展,该架构也将面临新的挑战和机遇,未来可能会朝着以下几个方向发展:
- 人工智能与机器学习的融合 :引入人工智能和机器学习技术,增强架构的智能决策能力。例如,利用机器学习算法对传感器数据进行分析和预测,实现更精准的服务推荐和自适应调整。
- 区块链技术的应用 :将区块链技术应用于架构中,提高服务的安全性和可信度。区块链可以用于记录服务的交易信息和数据,确保数据的不可篡改和可追溯性。
- 边缘计算的支持 :加强对边缘计算的支持,将部分计算任务迁移到边缘设备上,减少数据传输延迟,提高系统的响应速度。同时,边缘计算可以提高系统的自主性和可靠性,在网络不稳定的情况下仍能正常运行。
- 跨领域集成 :实现与其他领域(如云计算、大数据、人工智能)的更深入集成,拓展架构的应用范围。通过跨领域的集成,可以实现更复杂的物联网服务,满足不同行业的需求。

以下是架构实施步骤的mermaid流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(需求分析):::process --> B(知识管理组件搭建):::process
    B --> C(服务组合环境配置):::process
    C --> D(服务运行时环境部署):::process
    D --> E(测试组件集成):::process
    E --> F(外部资源接入):::process
    F --> G(系统测试与优化):::process

综上所述,该架构为物联网服务的创建与供应提供了一个全面、高效、可靠的解决方案。通过合理的设计和实施,可以充分发挥架构的优势,满足不同应用场景的需求。同时,随着技术的不断发展,架构也将不断演进和完善,为物联网的发展提供更强大的支持。

以下是架构优势和应用场景的对比表格:
| 类别 | 优势 | 应用场景 |
| — | — | — |
| 异构性支持 | 适应不同设备、技术和访问方式,确保兼容性和互操作性 | 智能家居、工业物联网、智能交通等包含多种设备的场景 |
| 知识驱动服务创建 | 提高服务开发效率和质量,增强组件可重用性 | 各种需要快速开发和定制服务的场景 |
| 测试与监控机制 | 保障服务可靠性和稳定性,及时发现和处理故障 | 对服务质量要求较高的场景,如工业控制、医疗监测等 |
| 与现有模型兼容性 | 充分利用现有模型优势,满足特定需求 | 希望与现有物联网架构集成的项目 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值