APP下载

基于云架构的模型资源重用组合技术研究

2019-08-05

舰船电子工程 2019年7期
关键词:接线端口组件

杨 光

(中国人民解放军91404部队 秦皇岛 066000)

1 引言

近些年来,在海军试验和训练的发展和应用过程中,军地各单位积累了大量的模型、系统等资源,由于是“自抓自建”,技术体制不尽相同,各种资源相互孤立,现有模型资源重用率低。通过研究模型的重用组合方法,将异类异构的试验、训练模型资源进行重用与组合,能有效降低海军作战试训系统论证评估和开发构造成本,提高资源利用效率。

目前,对海军试训模型资源重用与组合的研究,多集中在模型的接口标准计化、层次化建模、基于Petri网的仿真概念模型框架组合建模等方面[1~2],这些方法一定程度上可以实现试训模型的重用和移植,有效提高应用开发效率。但随着大数据和云计算技术的发展,云架构下海军试训模型的动态组合和重用方法的将成为未来研究重点。

2 海军试训模型资源重用组合技术概述

海军试验模型资源涵盖了从系统论证、研制、装备鉴定的全过程。从建模的全生命周期角度来分有需求模型、概念模型、设计模型、可执行模型、运行模型等;从模型的表现形式来分有结构化模型、半结构化模型、非结构化模型;从模型的粒度来分有原子模型、组合模型、组件模型、系统模型等;从实现功能角度分有计算模型、数学模型、动力学模型等;从模型实体属性来讲包括“空中、水面、水下、岸上”四大种类、“敌、我”两大属性。在本文中,模型重用与自动装配的研究对象为海军试验过程中涉及的所有模型。

模型重用的核心思想是[3]:模型重用以降低系统开发成本、提高建模效率和质量为目标,通过建立可重用模型或者再利用已有的模型为手段,是一个系统化、工程化、标准化的过程。对海军作战试验系统来讲,模型重用主要有以下3种应用场景:1)海军试训系统更新,在之前版本的试验系统的基础上,增加一些新功能,或者有其他方面的更新,形成新的试验系统;2)海军试训系统移植,海军试训系统需要一直到新的软件平台下,需要适应跨领域、跨平台带来的异构性;3)需要创建新的海军试训系统,评估确认已有的模型资源能够满足新的试验系统需求时,对模型资源加以重用,最后进行校验。

在模型重用实现的关键技术当中,基于云架构的模型重用是近年来的研究热点,文献[4~5]提出了建模仿真即服务(modelingandsimulationasa sservice,MSaaS)的概念并指出基于云计算框架的服务也可以具有云的按需分配资源、高速网络、快速响应等优点。这些特点都为模型重用在云环境下的应用提供了很好的支撑。

3 海军试训模型资源重用框架设计

传统的MAMSaaS架构(Mashup Architecture with Modeling and Simulation as a Service)有四层(云、盒子、接线、混合架构)[6~7],为了满足海军试验模型资源满足按需服务,动态组合的需求,提高模型重用组合效率,本文增加了标签数据层,设计了一种新的基于语义盒子的混合架构。如图1中所示,分为基础资源层、服务层和端应用层。

云资源层:它负责支持云基础架构和部署MSaaS。云基础架构包括云计算单元(用于构建和执行试验系统)和云存储单元(用于共享M&S资源)。此外,该层还负责通过按需使用MSaaS中间件来部署用户提供的M&S资源,将其作为云中的MSaaS。

盒子层:它表示用于M&S的混合组件(称为Boxes)。盒子可以有不同的类别,每个盒子有统一的盒子签名标识,并且它有自己的处理输入消息的功能和视觉形式,而签名标识以模型的层次化、服务化的描述为基础。

接线层:它负责将盒子连接到混合组件中。盒子可以通过它们的输入/输出连接彼此,而这些输入和输出在它们的盒子签名中被标识出。一个盒子可以在不同的混合组件中重用和重新连接以作新的用途。

图1 海军试验模型资源重用框架

混合架构层:它负责选择和连接盒子,并运行应用程序。它们可以添加盒子、接线和在运行时可视化结果。

标签数据层:该层使用标签挖掘和学习算法维护和学习盒子的标签树。可以从盒子中挖掘标签签名,使用学习算法从盒子标签签名构建表转化的数据模式。

依据服务化、多层次的模型描述,将海军试训模型资源的方法和具有的功能作为MSaaS来实现,使用云平台的中间件将模型共享到云资源池中。

盒子从各种服务接收异构数据。盒子模块规范特定功能并将数据发送给其他盒子;它们可以共享或发布到网络。盒子有四种基本类型:MSaaS、WebAPI、Widget和OperatorBox。

MSaaSBox:它使用云层中的MSaaS服务来处理输入数据,以及输出结果。云层充当存储库接口来作为MSaaS公开M&S资源,用户可以通过使用HTTP方法如GET/PUT/POST/DELETE联系到相应的模型资源。

WebAPIBox:它调用现有的开放WebAPI并遵循WS(WebService)原则,暴露功能。

WidgetBox:是一个轻量级的Web应用程序,可以在Web浏览器上显示数据。它们为特定数据提供可视化表示。它们可以重复使用于Web开发或其他混合平台。

OperatorBox:它基于定制的流程从其他盒子中获取输入数据并生成输出,用于解决盒子之间的不一致的问题(即具有类似端口的盒子不能直接连接),可以被视为盒子之间的转换器。

虽然盒子有不同的类型,但它们以类似的方式管理。每个盒子都是打包在一个单独的存档文件中,因此可以开发、下载和安装在不同的服务器上,每个盒子包装有三个部分,如下:

1)盒子签名:为了管理不同的盒子,设计了统一的结构。

BX= <Bn,Bt,Bd,Bs,Ba,Bp,Bm>是盒子的一般信息,I={p}是一组输入端口,O={p}是盒子的一组输出端口,P= <Pn,Pt,Pd>包括端口名称、类型和描述。

结合仿真资源的相关描述,盒子签名用每个盒子的基本信息(BX)、输入端口(I)和输出端口(O)进行标识。基本信息包括其名称Bn、类型Bt(例如MSaaS、WebAPI、Widget、Operator)、描述 Bd、子类型Bs、作者Ba、路径Bp,以及方法Bm(相关WS的方法名称)。一个盒子可以有多个输入和输出端口,用于连接混合架构中的盒子。每个输入或输出包括端口名称、类型(端口中的消息类型)和描述(描述端口的文本)。

2)盒子函数:每个盒子都有一个响应输入事件的函数。盒子是事件驱动的,当输入事件到来时,它会触发盒子中的一个函数,通过输出端口发送数据。不同类型的盒子具有不同的函数。对于MSaaSBox,它结合了与同一实验相关的多个MSaaS到一个盒子。

3)盒子视图:每个盒子也可以在Web浏览器中显示。盒子有用于可视化目的文件,对于MSaaS和WebAPI的盒子,它们的视图可以是它们的签名或执行状态。对于Widget盒子,它们可以重用现有小部件中的相关文件。用户也可以自定义这些文件以更改视图数据的显示方式。

每个盒子都打包在一个存档文件中,这个文件包含一个盒子签名、盒子函数和盒子视图。

盒子的一个关键特征是它们可以相互连接,这就是所谓的盒子接线。接线用于通过输入和输出组合不同的盒子。

B={Bx,By……}是一组盒子,{Bx.I,By.O}是盒子的一系列连接,盒子接线是盒子和它们之间的连接的组合。每个接线(W)包含一组方框{Bx,By……}和连接{Bx.I,By.O}。例如Bx.I,By.O表示盒子By的输出端口O可以连接到盒子Bx的输入端口I。盒子通过其输出端口上的事件通知他们的更改;其他盒子可以通过输入端口接受这些事件。通过接线盒子,用户可以在多个试训系统构建场景中,在不了解内部细节的情况下重复使用它们。

盒子和布线机制可用于构建复合模型。它基于可视化表示的盒子之间的数据流和事件的机制。

M&Smashup(模型组合)由一系列盒子(B),盒子接线(W)和用户工作区(U)组成。用户可以拥有不同的工作区。在任何工作区中,用户都会通过它们的输入/输出端口选择盒子和盒子接线。用户可以拥有不同的工作区。在任何工作区中,用户都会通过它们的输入/输出端口选择盒子和盒子接线。标签数据层可以在经过语义提取后,通过推理引擎,帮助选择,简化选线/布线。

图2是资源组合的一个示例。它由六个盒子组成(B1到B6),通过交换数据相互操作。考虑一下有MSaaS盒子B1和B2,WebAPI盒子B3和B4,Operator盒子B5和Widget盒子B6。用户可以通过连接这些盒子来构建Mashup架构。在运行时,B1中生成的数据将传递给B3并触发B3的函数,然后B3将其数据输出到B2。类似的行为也会发生在其他的盒子之间。

图2 盒子/接线/组合示例图

4 基于云架构的海军试训模型资源组合技术

图3 模型资源组合方法示意图

模型资源组合方法如图3所示,在海军试验模型资源重用框架的基础上,首先将需要装配的物理资源进行虚拟化描述,构建相应的虚拟资源,形成服务之后,加入模型的云资源池。针对具体的任务采用资源搜索匹配算法寻找出动态能力满足需求的虚拟资源,然后通过运行调度算法进行管理,实现海军试训模型资源的组合。

目前仿真模型组合方法可以分为两类:语法组合和语义组合[3]。基于语法的组合主要是解决模型接口的匹配问题,如数据船体、时间同步等;语义组合主要是通过“行为等同替换”的思想,用组合后具备相同行为的组合模型表示被建模系统,确保组合模型对于被建模系统是有效的。语法组合是语义组合的基础。这两种方法都解决了通用模型组合的一般问题,但是由于组合建模还依赖领域知识,例如如何根据海军试训装备模型知识确定组合模型的子模型、组合模型的子模型受到的约束条件、如何根据领域知识确定组合的有效性、如何表达用户的特殊需求等。本文采用一种基于推理的服务化模型动态组合方法。

对于不同层次的试验训练而言,需要将多个不同层次的模型集成起来联合执行,大到海军全军训练的战略模型、集团军战役训练模型和师团战术训练模型,小到单件武器的平台级模型甚至单平台中探测、火控的单元模型,重点是要解决多模型间不同语义的理解和综合集成[9]。每个Box都是以服务的形式采用服务总线架构完成注册,来实现服务的在时空上的实时性。在组合过程中,模型被封装成服务,根据模型的复杂程度将服务划分为原子服务、基本服务、复杂服务和组合服务4种类型。

1)原子服务

原子服务对应于原子组件,是直接将单个组件模型直接封装形成的原子服务,这里的原子服务包括两种:一种是不具备独立功能的原子服务,这种模型单独使用,一般不具备行动能力,必须与其他组件或服务组合才具有行动能力,如平台组件等;另一种是具有独立功能的原子服务。如辅助组件,这些组件直接封装后形成的原子服务,不需要依赖于其他的组件就能独立完成相应的任务

2)基本服务

基本服务是指将原子组件按照一定的方式组装后形成具有一定作战行动能力的服务,以具备基本行动能力为判断标准,通常组成此类服务的原子组件不超过10个。

3)复杂服务

复杂服务是针对基本服务的,是指具有多种作战行动能力的基本服务组合而成的服务。这种服务可能有两种方式组合而成:一种是以基本服务为基础对象构建,通过将多个基本服务组合形成,具有多种行动能力;另一种是通过将多个作战行动组件按照一定的顺序组合,形成一个完整的作战行动过程,这种复杂服务可以提供对某一次战斗行动的仿真。对于不很关注每一个行动细节的情况下,利用这种服务可以简化仿真过程,提高模型运行效率。

4)组合服务

自动服务组合主要需完成以下几个步骤:服务的形式化描述,按照领域本体和描述逻辑的规范使得服务具有语义功能;模型经组合后形成RDF(Resource Description Framework)文档,按照服务描述的规范对其进行封装,并在UDDI(Universal Description Discoveryand Integration)中心进行服务的注册与发布;按照用户的需求,自动找出满足要求的服务集合,并根据相关的算法进行选择、绑定,明确接口关系和执行顺序,同时进行服务流程化描述;按照相关算法对发现和选择的服务进行自动组合、验证和执行。

模型组合的基本过程如图4所示。首先由用户提出申请需求服务,即对所需模型服务进行描述,根据模型接口描述和功能描述,进行语义提取与转换,语义提取是与模型知识库进行比对的过程,并将提取的语义转换成组合推理引擎能够识别的语言,在组合规则库和模型知识库的共同作用下,推理引擎按照模型组合服务流程对模型进行组合封装,然后将组合结果反馈,并进行模型组合性验证,最后将组合结果以服务的方式提供给用户直接使用。而在推理的过程中,随着系统的运行,模型组合的语境会动态改变,同时模型组合语境的内容也会为推理引擎提供条件限制,影响组合过程运行。

图4 模型组合过程示意图

图5 模型组合算法

整个模型资源组合算法如图5,分别从模型资源服务的发布者、请求者和推理过程这三个角度对模型组合服务的执行流程进行具体分析,如图5所示。

5 结语

本文从海军联合试验系统构建对模型资源的重用需求入手,研究了模型重用的基本原理,借鉴云资源管理平台MSaaS的概念以及语义组合与检索匹配的方法,提出一种基于语义盒子的海军试训模型重用框架,研究了该框架下海军试训模型的组合原理和组合过程,为海军试训模型的重用与组合方法研究提供了一种参考。

猜你喜欢

接线端口组件
华为交换机端口Hybrid 模式的应用
无人机智能巡检在光伏电站组件诊断中的应用
浅析铁路客车车下分线箱接线板的接线方式
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
一种有源二端口网络参数计算方法
一种端口故障的解决方案
3月光伏组件出口量增长164.6%至7.49GW!单价创新低
一种嵌入式软件组件更新方法的研究与实现
隔离型三端口变换器的H∞鲁棒控制
分析220kV变电站电气一次主接线设计