潜艇作战系统的服务描述与建模方法研究
2013-04-23胡习霜
胡习霜
(江苏自动化研究所,江苏 连云港 222061)
在软件开发和集成中面向服务体系结构(Service-Oriented Architecture,SOA)具有很多优点,因此,其成为未来作战系统开发和集成的发展方向。潜艇作为海战中的重要兵力,其作战系统也应向服务化方向发展。未来潜艇作战系统应是支持分布性、自治性、移动性、交互性以及自适应的分布式系统。
利用面向服务架构(SOA)对组织内分布、异构的应用和数据资源进行有效封装和集成,利用服务组合快速构建跨组织的复杂应用,以适应环境、客户需求和业务流程的变化,成为近年来分布式计算技术的主流趋势。美军很早就大力发展面向网络中心战的GIG,实现作战信息共享和一体化指挥控制,开发了面向服务的以NCES(Net-Centric Enterprise Services,网络中心企业服务网)和SoSCOE(System of Systems Common Operating Environment,体系的公共操作环境)为代表的基础信息系统[1],同时美军还采用面向服务的体系结构构建作战应用系统,如网络使能指挥能力系统(Net-Enabled Command Capability,NECC),在新发布的美国国防部体系结构框架DoDAF2.0中也增加了服务视图。美军在其新型驱逐舰DDG-1000上创造性地使用全舰计算环境(TSCE)作为舰船各系统的集成系统,在作战系统集成上也采用了面向服务的思想[2]。国内在这方面的研究也不断深入。文献[3]将SOA思想引入潜艇作战系统软件体系结构,给出了SOA的开发过程,提出了基于Web服务的潜艇作战系统体系结构参考模型。
文献[4]提出了军事信息服务的概念,并对它与Web服务的联系与区别做了深入阐述。军事信息服务的描述和建模方法是基于SOA的潜艇作战系统的关键技术,其与互联网环境下的Web服务的描述和建模方法基本相同,不同的是服务本身的定义和服务的环境及特性要求。Web服务语法层和语义层的代表性的描述语言为WSDL和OWL-S两种。对于Web服务的描述模型,虽然在完整性和精确程度上会有差别,但目前大多数都遵循了文献[5]总结的通用服务描述模型,即WS={S,F,Q},其中S是服务基本描述,F是服务功能描述,Q是服务属性描述即非功能性描述。文献[6]以模型驱动架构(MDA)作为一种软件开发模式,使不熟悉本体理论的开发人员通过UML规范构建军事信息服务的本体模型。本文针对军事信息服务语义化、动态化等特性,在军事信息服务定义的基础上提出潜艇作战系统的服务描述和建模方法。
1 军事信息服务描述方法
由于军事应用的特殊性,军事信息服务除了强调服务的可重用、松耦合及可跨平台调用外,还强调安全可靠、实时高效、受服务拥有者和服务中心双重管理等属性。因此,在面向服务的潜艇作战系统中,对军事信息服务进行描述和建模时,需要重点考虑以上特性。军事信息服务[4](Military Information Service,MIS)由分布在一体化战场信息平台上的各类军事信息资源(如各种侦察、探测设备、信息处理中心、通信设备、火力打击武器等)以及各种军事信息系统构成,遵循Web服务技术规范,以独立于平台的方式进行描述和封装的,具有独立行为功能和军事应用能力的功能单元。
军事信息服务的描述模型为MIS={S,F,Q},其中S为服务的基本描述,F为功能描述,Q为非功能性描述。在该模型中,基本描述S往往是概要性的描述,包括服务名称、服务提供者信息、服务基本描述及服务类型信息等;功能描述F是服务请求者判断军事信息服务能否满足其功能需求的主要依据,包括服务参数及服务的输入(Input)、输出(Output)、前置条件(Precondition)和结果(Result)(简写为 IOPR)等,IOPR从两个互补的角度同时揭示了服务功能:一是信息流角度,通过输入和输出表示;另外一个是状态角度,通过服务执行前的判断条件和结果表示;非功能性描述Q包括服务质量QoS、服务分类等,为服务请求者选择服务提供积极、有意义的参考。
目前,服务的通用QoS主要有执行时间T(time)、执行代价C(cost)、可靠性R(reliability)、可用性A(availability)和信誉等级Rep(reputation)等。然而不同的用户和领域对服务QoS有着不同的理解和需求,在潜艇作战系统领域,服务的一些特殊质量指标是服务选择的重要依据,因此本文选择5种QoS参数来描述和度量军事信息服务,即执行时间T、执行代价C、可靠性R、精度A(accuracy)和信誉等级Rep。其中,精度以各种误差来度量,如目标探测误差、火控解算误差、射击概率误差等。
2 基于本体定义元模型的服务建模
2.1 军事信息服务本体元模型[6]
本文以MDA进行语义化军事信息服务的本体模型构建,即PIM建模。MDA是一种独立于特定平台的软件体系结构设计和开发方法,适用于设计、部署、集成等软件开发的整个生命周期。记语义化军事信息服务的本体为本体O。本体O作为一种知识表达的方式,可将概念E、概念之间的关系R以及概念的属性A(语义信息)以形式化的方式表达出来。
本体定义元模型ODM(Ontology Definition Meta-Model)[7-8]用于表示本体的一种元模型,表示模型的模型。ODM采用MDA方式对军事信息服务建模的基本元素,由UML Profile描述。ODM将本体和MDA中的模型关联起来,它兼有本体和模型共同的特性,可为服务本体模型的构建提供基础。
利用MDA方法构建军事信息服务的步骤:1)利用UML来构建军事信息服务模型;2)实现从UML军事信息服务模型到基于OWL-S的军事信息服务的转换,即PIM到PSM的自动转换。
但ODM不支持语义化军事信息服务的动态特性,这制约了ODM的应用。可以通过扩展ODM,使之能够支持军事信息服务的动态建模。
对ODM进行扩展,需要增加ODM对于动作、输入输出流和控制流描述的能力,经过扩展的ODM能够支持服务动态模型的构建。因此将动作抽象为基于UML中Action的stereotype描述的元模型,即动作元模型,输入输出流抽象为基于UML描述的输入输出流元模型,动作与动作之间的控制流抽象为基于UML的控制流元模型,这三类元模型与语义化军事信息服务的ServiceModel基本一致,输入输出流元模型和控制流元模型分别对应于ServiceModel的输入/输出和执行条件/结果。这些描述动态特征的元模型统称为动态本体元模型,它也是由Ontology UML Profile描述的。
军事信息服务本体元模型(MIODM)包含了动态本体元模型,它以模型的方式将语义化服务中的概念以及关系表示出来,因此MIODM的数学表达式为
其中,Ms表示静态本体元模型集,Ma表示动态木体元模型集,m表示MIODM元模型集合中的元模型元素。MIODM表达式说明元模型m必须能够形式化地定义模型的语法和语义特征,同时元模型又由概念元模型和关系元模型组成的。
Syntax(m)表示元素m遵循基于模型的语法规则,实际中多采用UML的语法规则,即ODM是由UML语法规则来表示,这是MDA建模的要求;Semantic(m)表示元素m通过本体描述来表达语义信息。ODM就是以模型的方式来表示本体,是模型和本体的有机结合。本文使用OWL作为本体描述语言,因此需要使用ODM中与OWL相关的本体元模型OWL MetaModel,OWL MetaModel的最顶层元模型包括RDFS、RDFBase、RDFWeb、OWLBase、OWLDL 和 OWLFull[7]。OWL Meta-Model中的最顶层元模型又可以进一步划分为7个部分:OWL Ontology、Class、Properties、Individuals、Datatypes、OWLUniverse、Constrains。本文在现有 ODM 的基础之上增加了 service、profile、process、grounding、presents、described by、supports等针对于语义化服务的本体元模型,将语义化军事信息服务的概念以及关系以模型的方式表达出来。
2.2 军事信息服务模型构建方法
服务请求者根据F来判断服务是否满足其功能需求,并依据QoS从一个服务类的多个候选服务中选择一个合适的服务。基于QoS的全局最优服务选择就是在组合服务流程执行过程中,从各个服务类对应的候选服务中选择具体的服务组成一条执行路径,使得服务执行路径在满足QoS约束的前提下,多个目标函数达到最优。本文给出以下4个定义。
1)候选服务:候选服务 Wij(i=1,2,…,m;j=1,2,…,n)是构成组合服务的基本单元,如图1中的W1j,W2j,W3j等。利用候选服务,按照特定的业务逻辑可以构建复杂的组合服务。1个候选服务包含1个QoS向量Qij,l为QoS属性个数。
2)服务类:具有相同功能和不同服务QoS的候选服务构成一个服务类Wi,如图1中的W1、W2、W3等。
3)组合服务:组合服务(CS)由,m个服务类按照某种特定的业务逻辑组成,其中每个服务类Wi(i=1,2,…,m)中有j个候选服务,且Wi中只有一个Wij(j=1,2,…,n)被选中,组合服务的满足用户的要求。
4)执行路径:对由m个服务类{W1,W2,…,Wm}构成的组合服务,执行路径P是一个由m个二元组组成的集合{〈W1,W1n1〉,〈W2,W2n2〉,…,〈Wm,Wmnj〉},其中Wmnj(j=1,2,…,n)是服务类Wi的一个候选服务,nj是j的扩展,是每个服务类中被选中的候选服务的下标。
2.3 模型自动转换方法
利用MDA方法构建军事信息服务的第二步是模型转换,即将基于UML的语义化服务模型转换到基于OWL/OWL-S的语义化服务。现有的模型转换方法多是基于规则的转换,复杂性高,无法适应模型变化,可以采用模型自动转换方法。具体分两步:一是将基于UML的本体模型转换为基于OWL-S的语义化服务Profile本体,主要是从UML本体模型转换到OWL本体。该方法依靠本体模型自身的结构信息,不需要制定转换规则。二是利用服务Profile,在服务注册管理中心根据服务发现算法查找以OWL/OWL-S表示的发布服务。
图1 候选服务与服务类示意图
3 面向服务的潜艇作战系统建模实例
面向服务的潜艇作战系统的流程图如图2所示,它含有7个抽象服务分别为:W1目标探测服务,W2指挥决策服务,W3火控解算服务,W4导弹发控服务,W5鱼雷发控服务,W6效能评估服务和W7重复攻击服务,St和En分别为开始和结束服务。其中W1、W2和W3串联,W4和W5是选择关系,当作战效能评估结果判定作战任务没有完成时,需要再次发起攻击,所以W7与W3、W4、W5和W6是循环关系,循环次数k是正整数,一般不会很大。
流程中的每一个抽象服务对应一个实例服务集合,集合内的实例服务由于自身装备的不同而具有不同的服务质量,如执行时间、执行代价、精度等的不同。每个实例服务的QoS参数信息在分布式UDDI注册中心注册。
图2 面向服务的潜艇作战系统流程图
3.1 服务流程基本模型及其QoS计算方法
参照工作流的4种基本模型,潜艇作战系统应用服务的基本模型也可以由顺序、并行、选择和循环等4种基本流程模型,大部分组合服务流程都可以由这4种基本模型组合而成,组合服务的QoS参数也可以通过基本模型的QoS计算方法来得到。
本文选择5种QoS参数来描述和度量潜艇作战系统应用服务,即执行时间T、执行代价C、可靠性R、精度A(accuracy)和信誉等级Rep。设CS为多个服务形成的组合服务,Wi为组合服务的服务类,Wi和CS的服务质量模型分别为QWi=(Ti,Ci,Ri,Ai,Repi),QCS=(TCS,CCS,RCS,ACS,RepCS),潜艇作战系统应用服务基本模型如图3,其QoS参数计算方法如下:
1)顺序
2)并行
3)选择
图3 潜艇作战系统应用流程基本模型
4)循环:设循环次数为k,则
把组合服务流程的执行时间、可靠性和精度作为三个目标准则,信誉等级和费用作为两个约束条件。可以将基于QoS的服务选择问题建模为带QoS约束的多目标组合优化问题,期望利用多目标优化算法从各个服务类对应的候选服务集合中选择具体服务形成可执行的服务路径,使得服务路径在满足约束条件的情况下,执行时间极短,可靠性和精度极高。
3.2 确定目标函数和约束函数
根据服务流程基本模型及QoS计算方法,对图2所示的组合服务流程确定其QoS参数计算公式,作为算法的目标函数和约束函数。算法的目标函数和约束函数如下:
得出目标函数和约束函数后,即可利用多目标优化算法求解基于QoS的潜艇作战系统应用服务选择优化问题。
4 结束语
本文在军事信息服务定义的基础上,针对军事信息服务的语义化、动态化等特性,提出一种潜艇作战系统的服务描述和建模方法。其中服务描述采用基本描述、功能描述和非功能性描述相结合的方法;建模方法基于MDA并采用扩展的本体定义元模型,既增强了军事信息服务的语义性和动态性,又使不熟悉本体理论的开发人员通过熟悉的UML规范可以顺利构建军事信息服务的本体模型,并具体研究了MIODM UML Profile、自动转换方法及原型系统开发等实现技术。最后将所提方法应用到面向服务的潜艇作战系统中,为开展潜艇作战系统服务化研究奠定了基础。
[1]郭勇.构建面向服务(SOA)的军事信息系统[J].舰船电子工程,2010,30(9):5-9.
[2]游加慰,何业兰,陈辉,等.智能舰船平台控制系统关键技术[J].舰船科学技术,2011,33(6):38-41.
[3]肖明彦,董汉权,孙珠峰.基于SOA的潜艇作战系统软件体系结构[J].火力与指挥控制,2011,36(4):76-79.
[4]舒振,刘静,罗雪山,等.军事信息服务的概念体系及其应用[J].火力与指挥控制,2010,35(9):53-57.
[5]胡建强.Web服务发现若干关键技术研究[D].长沙:国防科技大学研究生院,2005.
[6]曹栋.网络服务智能化的关键技术研究[D].北京:北京邮电大学研究生院,2011.
[7]Object Management Group.Ontology definition metamodel[R].http://www.omg.org/cgi-bin/doc?ad/06-05-o1.pdf,2006.
[8]岳磊,马亚平,徐俊强.通向语义的C2领域本体构建研究[J].指挥控制与仿真,2011,33(5):12-15.