聂凯,汪厚祥,李永杰
(海军工程大学 电子工程学院,湖北 武汉,430033)
服务计算和面向服务体系结构(serve-oriented achitecture,SOA)在软件开发和集成中具有很多优点,使其成为未来指挥信息系统开发和集成的发展方向。海战场指挥信息系统具有所处环境复杂(涉及海底、海面、空中和电磁等)、组成复杂多变、通信网络多样等特点,未来海战场指挥信息系统必须是支持分布性、自治性、移动性、交互性以及动态自适应的分布式系统,服务化可以满足上述要求。利用服务和SOA,对组织内分布、异构的应用和数据资源进行有效地封装和集成,利用服务组合快速构建跨组织的复杂应用,以适应环境、客户需求和业务流程的变化,成为近年来分布式计算技术的主流趋势。美军很早就大力发展面向网络中心战的GIG(global information grid),实现作战信息共享和一体化指挥控制,开发了面向服务的以NCES (net-centric enterprise services,网络中心企业服务网)和 SoSCOE (system of systems common operating environment,体系的公共操作环境)为代表的基础信息系统[1];同时,美军还采用SOA构建作战应用系统,如NECC(net-enabled command capability,网络使能指挥能力系统),在新发布的美国国防部体系结构框架DoDAF2.0中也增加了服务视图,美军还在新型驱逐舰DDG-1000上创造性地使用全舰计算环境作为舰船各系统的集成基础环境[2]。我国也正在积极开展面向服务的指挥信息系统研究工作[3−7]。然而,如何将指挥信息系统顶层需求描述映射到面向服务的系统设计,目前仍是面向服务的指挥信息系统综合集成的一大挑战。文献[3]提出了军事信息服务的概念,它与语义Web服务既有区别又有联系,都强调服务的可重用、松耦合及可跨平台调用等特点,采用相同的协议和技术规范,但由于军事应用的特殊性,军事信息服务还具有安全可靠、实时高效、受服务拥有者和服务中心双重管理等属性。在此基础上,文献[4−5]提出了军事信息服务组合系统的概念,并就相关的服务建模、匹配、组合和优化等关键技术进行了深入研究,偏重于系统设计与实现。文献[7]提出了一种面向服务的C4ISR系统能力需求分析建模方法,该方法基于3层建模框架和元模型[8]实例化得到领域模型,由活动分析驱动服务建模,以服务为粒度的模型成为沟通企业级业务架构和IT技术架构的桥梁。随着UML的广泛使用,大多开发人员比较熟悉UML(unified modeling language)规范,若能够利用 UML来构建指挥信息系统模型,则可以有效地解决所面临的问题。由于UML建模语言本身不是纯形式化语言,难以进行完整的逻辑推理验证,因此,需要引入一种推理能力较强的形式化描述方法。模型驱动架构(model driven architecture,MDA)作为一种以模型为中心的开发模式,可以使得不熟悉本体理论的开发人员通过熟悉的UML规范构建指挥信息系统的模型;然后,通过模型转换,将 UML本体模型转换到 OWL(ontology Web language)本体,利用OWL DL描述的本体进行推理。因此,MDA非常适合于面向服务的指挥信息系统构建。文献[9]针对这个问题进行深入研究,通过扩展本体定义元模型进行服务建模,实现了 UML本体模型到OWL本体的自动转换,但这种转换方法在服务数量较多时工作量很大。文献[10]也提出了一种基于多元本体的服务化企业应用的需求建模方法,并通过“声明式过程”实现求精式过程建模,选用Alloy语言进行模型规范和求精过程的形式化验证,但Alloy语言应用不够普遍。文献[11]提出了一种新的多视图服务需求模型,该模型从交互流程、组织、资源和信息 4个方面对服务需求进行抽象,给出建模一致性规则和建模过程,但对服务的动态化建模支持少。在面向服务的海战场指挥信息系统中,军事信息服务对安全可靠、实时高效、动态化和语义化等要求较高,因此,在建模时需要重点考虑以上特性,根据作战任务流程的需求实现系统资源之间的集成,同时调整服务的组合方式,以快速应对作战任务和战场环境的变化。基于此,本文作者提出基于多元本体系统和MDA的系统建模方法和过程,并将 UML本体模型自动转换成OWL本体,进而可以实现自动推理与验证。
鉴于本体在信息的语义共享和互操作方面的优势,可以构建多元本体系统来对指挥信息系统的需求进行建模,并用 UML及其扩展形式对本体元模型进行描述,作为 MDA的 PIM(platform independent model)。
军事信息服务是基于本体的,军事信息服务内的概念及其关系能够以本体的方式表达出来,这是军事信息服务与普通Web服务的区别。面向服务的指挥信息系统建模分为3个层次:元概念层、领域概念层和应用概念层,如图1所示。元本体是定义指挥信息系统概念的顶层本体,属于元概念层;领域本体是元本体在领域概念内的实例化,定义了特定领域的基本概念及关系,属于领域概念层;应用本体、过程本体、服务本体、资源本体和环境本体属于应用概念层。应用本体描述的是特定领域中某个具体应用的概念及关系,是领域本体在应用概念层的实例化。过程本体在应用概念层处于纽带的位置,它既是应用本体中“过程”概念的扩展,也实现了与服务本体的对应。服务本体是对服务的形式化描述。环境本体主要描述环境变化对过程本体、服务本体和资源本体的影响及环境本体与各本体的关系。资源本体主要描述各种物理资源,及它与服务本体的封装对应关系。领域、应用、过程、服务、资源和环境等本体存放在各自的本体库中,通过领域知识复用来提高建模效率。
图1 面向服务的海战场指挥信息系统的多元本体系统Fig.1 Multi-ontology of service-oriented naval field C4ISR system
本体系统的构建有 3个主要目的:(1) 构造统一的本体语义框架;(2) 支持面向服务的复用;(3) 实现自动推理与验证。本文借鉴文献[7]中定义,由元本体、领域本体、应用本体(含过程本体、服务本体、资源本体和环境本体)构成多元本体系统。
元本体、领域本体和应用本体的定义见文献[7]。构建面向服务的指挥信息系统,由过程分析驱动服务建模,通过整合资源和服务来满足用户需求,因此,需要对资源、过程和服务等本体进一步定义。
定义 1:资源本体。资源本体由 3元组Resource_Ontology=<ResConcept , ResRelation ,ResRef>定义。其中:ResConcept和ResRelation分别为资源概念和关系的有限集;ResRef是映射函数,它将一个资源概念映射到一个服务(通过封装)或过程,一个资源关系映射到一个服务关系或过程关系。
定义 2:过程本体。过程本体由 5元组Process_Ontology=<ProcessName, ProcessActivity,ProcessRelation, ProcessRef,ProcessRule>定义。其中:ProcessName是过程名称;ProcessActivity= Activity∪ProcessStructure是过程的活动组成情况,由活动集Activity和过程结构集ProcessStructure组成,活动是过程的最基本单元,过程结构表示活动之间的执行关系,包括顺序、选择、并发等,复杂过程由多个活动按一定的执行顺序共同完成;ProcessRelation是过程关系的有限集,除了应用本体定义的与过程概念有关的关系外,还包括ReqServiceOf关系,它表示过程及其实现所需的服务之间的关系;ProcessRef是映射函数,它将一个过程本体映射到应用本体中的过程概念;ProcessRule是过程本体中概念或关系的规则的集合。
定义 3:服务本体。服务本体由 3元组Service_Ontology=<ServiceName,ServiceFeature,ServiceRef>定义。其中 ServiceName表示服务的名称;ServiceFeature=Input∪Output∪Precondition∪Effects∪Constraint是服务特征集,Input表示输入参数,Output表示输出参数,Precondition表示服务执行的前提条件,Effects表示服务执行产生的效果,Constraint是服务的属性集,主要用于描述服务的QoS,指挥信息系统的QoS主要有可靠性、安全性、时效性、正确性和精度等;ServiceRef是映射函数,它将一个服务本体映射到过程本体或领域本体中的服务概念。
定义 4:环境本体。环境本体由 3元组 Env_Ontology=<EnvConcept,EnvRelation,EnvRef>定义。其中,EnvConcept和EnvRelation分别为环境概念和关系的有限集;EnvRef是映射函数,它将环境概念映射到服务、资源或过程概念,环境关系映射到服务、资源或过程关系。环境是软件服务的外部世界,软件的功能体现在它与环境发生的交互上,即软件通过交互实现对环境的改变,这点对于描述现代激烈的海战尤为重要。
广大开发人员非常熟悉UML且UML提供了半形式化的OCL(object constraint language)语言并以一阶谓词逻辑描述模型,UML支持本体中概念与概念之间静态与动态语义的描述,因此,选择 UML描述本体元模型。根据上面构建的多元本体系统,得出应用概念层元模型的简化UML描述,如图2所示。
图2 应用概念层元模型的简化UML描述Fig.2 Simple UML description of application concept layer meta-model
面向服务的指挥信息系统采用复用策略,将高层需求映射到实际服务调用。对于应用需求,首先考虑的不是重新设计,而是查找已有服务,通过直接复用或简单修改,将其变成可满足新需求的服务构件。海战场指挥信息系统建模过程如下。
第1步,构建领域模型。首先考虑复用现有的领域模型;若没有,则进行领域建模,即根据特定领域需求,实例化元本体,定义具体应用所属的特定领域本体,并声明这些概念和关系与元本体中元概念和元关系的映射关系。新建立的领域模型存储到领域知识库中,供以后复用。
第2步,实例化领域本体,构建初步的应用模型。
第3步,对上一步建立的初步应用模型中的每个过程进行分析。首先在过程库中查找是否存在可复用的过程,若有,则直接复用,或者根据具体的应用需求对过程库中现有最相关的过程进行适当的修改再复用。若没有可复用的过程,则建立新的过程。
第4步,选择过程所需的服务,构建最终的应用模型。用服务实现细粒度建模,用过程实现粗粒度的建模,即从作战过程中分解出活动和控制结构,将活动与服务类建立映射关系,确定服务类中的候选服务集合,根据候选服务的非功能属性(如 QoS)选择出整个作战过程所需的服务即服务的组合与选择,如图 3所示,最后得到以服务为最小粒度的最终应用模型。候选服务和服务类的定义如下。
(1) 候选服务。候选服务Wij(i=1, 2 …,m;j=1,2, …,n)是构成组合服务的基本单元,如图3中的W1j,W2j和W3j等。1个候选服务包含 1个 QoS向量,l为QoS属性个数。
(2) 服务类。具有相同功能和不同QoS的候选服务构成一个服务类Wi,如图3中的W1,W2和W3等。
图3 候选服务与服务类关系示意图Fig.3 Sketch map of candidate service and service group
利用 MDA构建面向服务的指挥信息系统的第2阶段是模型转换,包括PIM到PSM(platform specific model)和PSM到代码层的2个转换过程。由于PSM到代码层的转换可以通过 Service Grounding中OWL-S到BPEL的映射完成,相关协议中已经明确给出,所以,本文主要研究PIM到PSM的转换过程,即基于 UML的模型到基于 OWL-S的服务模型的转换。现有的模型转换方法多是基于规则的转换如XSLT(Extensible Stylesheet Language Transformations)[12]或QVT (Query/View/ Transformation)[13],它有复杂性高、无法适应模型变化和无法描述包含嵌套模式等局限性,可以采用模型自动转换方法。模型自动转换方法由2步组成[9]:
(1) 将基于UML的模型转换为基于OWL-S的服务Profile本体,主要是UML本体模型到OWL本体的转换。可将转换问题看作OWL本体的查找问题,利用机器学习算法获得转换结果。该方法依靠本体模型自身的拓扑结构,不需要制定转换规则;
(2) 利用服务 Profile,在服务注册中心查找以OWL-S表示的服务。转换的引擎结构如图4所示。
图4 模型转换的引擎结构Fig.4 Engine framework of model transformation
Profile本体的组成决定了军事信息服务模型到Profile映射的内容。Profile包括服务类型、功能属性和非功能属性。因此,映射包括将活动模型的名称映射为Profile中的服务类型;输入输出流模型映射为输入输出;控制流模型映射为前置条件和结果;静态本体模型映射为基于OWL的本体。
活动模型、输入输出流模型和控制流模型等动态本体模型结构比较简单,可通过直接映射完成转换过程。但是,静态本体模型结构往往比较复杂,这致使转换也较复杂,需要重点研究UML本体模型到OWL本体的转换方法。
UML本体模型由若干模型元素按一定的拓扑结构组合在一起,同样OWL本体也是由若干OWL元素按照一定的拓扑结构组合起来的,因此,UML本体模型到OWL本体的转换是元素和拓扑结构的双重转换。
基于图的模型转换是模型转换的主要方法之一。首先将UML本体模型和OWL本体都转化为有向无环图,分别称为UML有向无环图和OWL有向无环图,这为UML本体模型和OWL本体提供一致的表示。有向无环图中的顶点表示 UML本体模型中的概念模型元素(如 OWLRestriction)或者与概念模型元素相对应的OWL本体中的元素(owl:Restriction),有向无环图的边表示 UML本体模型中的关系模型元素(如RDFSrange)或者与关系模型元素相对应的OWL本体中的元素(rdfs:range)。
假设UML有向无环图具有P个顶点,则与此对应的OWL有向无环图也应具有P个顶点,因为UML本体模型元素与OWL本体的元素一一对应。转换包括UML本体模型和OWL本体之间元素和拓扑结构的双重转换。对于某个 UML本体模型,很难确定在拓扑结构上与该本体模型一致的OWL本体。即对于具有P个顶点的UML有向无环图,容易知道与之对应的OWL有向无环图也具有P个顶点,并且知道这P个顶点都表示哪些元素,但是,这P个顶点构成的有向无环图则有多种可能的拓扑结构。如何在多种不同拓扑结构的OWL有向无环图中确定与UML有向无环图最近似的那个 OWL有向无环图比较困难。将与UML有向无环图具有相同顶点个数的所有可能的OWL有向无环图所对应的本体称为候选OWL本体集合,将与UML本体模型正确对应的OWL本体称为目标OWL本体。
考虑到元素之间的相关性,采用基于Bayesian网络学习[14]的转换算法,在给定UML本体模型条件下,计算OWL本体的后验概率,然后,将具有最大后验概率的OWL本体即与UML本体模型最近似的OWL本体作为UML本体模型转换之后的OWL本体。后验概率计算公式见文献[14]。UML本体模型到OWL本体转换过程如图5所示。
图5 UML本体模型到OWL本体的转换过程Fig.5 Transformation process from UML ontology model to OWL ontology
首先将 UML本体模型抽象为向量表示,将结果以二元向量的方式存储。候选OWL本体集合生成模块首先根据概念本体模型元素和关系本体模型元素,生成相对应的OWL本体元素,然后,绘制这些OWL本体元素所有可能组合的拓扑结构,产生候选 OWL本体集合。后验概率计算模块将 UML本体模型和候选OWL本体以向量的形式作为输入,接着求得所有候选OWL本体的后验概率,并将计算结果作为排序选择模块的输入。排序选择模块对所有的后验概率进行排序,然后,选择具有最大后验概率的OWL本体作为目标OWL本体,转换过程结束。
第 2步的服务发现算法采用文献[15]中的服务自动发现算法。
图6 海战场指挥信息系统模型的简化UML描述Fig.6 Simple UML description of naval field C4ISR system model
以面向服务的海战场指挥信息系统为例,验证建模方法的可行性和有效性。海战场指挥信息系统模型的简化UML描述如图6所示。海战场指挥信息系统含有8个服务类,分别为:水面目标探测服务W1,水下目标探测服务W2,信息处理服务W3,火控解算服务W4,导弹发控服务W5,鱼雷发控服务W6,效能评估服务W7和重复攻击服务W8。
流程中的每一个服务类对应一个候选服务集合,集合内的候选服务由于自身装备不同而具有不同的服务质量,如执行时间、执行代价、精度等不同,以W1水面目标探测服务为例,它的候选服务集合包括卫星侦察服务、预警机探测服务、超视距雷达探测服务和舰载雷达探测服务等。各服务模型到Profile本体的转换较简单,主要验证UML本体模型到OWL本体的转换情况。该 UML本体模型的元素包括应用本体、过程本体、服务本体、资源本体和环境本体等相关的28个元素,对应的有向无环图具有28个顶点,有向无环图的最大向量维数为 378,其中一个简化拓扑结构如图7所示。根据UML本体模型的模型元素可以得到OWL本体的元素,在候选OWL本体集合生成模块中生成所有可能的候选OWL本体,然后,利用上面的转换方法选择与UML本体模型最接近的OWL本体作为目标OWL本体。由于Protégé支持多种本体语言,所以,选用它作为本体开发工具。图8所示为转换生成的目标OWL本体。
图7 一个UML和OWL有向无环图拓扑结构Fig.7 Topology of UML and OWL direction acyclic graph
可选用仿真的方法来验证模型转换的正确率。基于设计的多元本体库,随机生成100个UML有向无环图。这100个UML有向无环图的基本元素和关系相同,不同的是各个元素在具体应用本体内的参数,如服务的质量QoS。实验结果如表1所示。
图8 转换后的目标OWL本体Fig.8 Transformed goal OWL ontology
表1 多元本体库的UML本体模型转换结果Table 1 UML ontology model transformation result of multi-ontology
(1) 基于SOA,MDA和本体,提出了一种面向服务的语义模型驱动海战场指挥信息系统建模方法。它采用MDA为基本开发范型、以本体作为语义建模基础,通过采用 UML对军事信息服务建模和模型转换来实现海战场指挥信息系统的构建。
(2) 定义了三层多元本体系统来增强模型的语义和信息共享能力;采用开发人员熟悉的 UML规范来描述系统模型,降低了开发难度;采用模型复用和模型转换的方法,提高了建模效率和灵活性,且采用的模型自动转换方法不需要人工定制转换规则,增加了转换的智能化程度。
(3) 以建模实例验证了所提建模方法的有效性。从UML本体模型到OWL本体的转换正确率可以看出本文模型自动转换方法的实用性。
(4) 下一步的研究方向是结合具体的应用来构建和完善各本体,并将其推广至系统涉及的所有单位。
[1] Ann H K, Carol M. Providing the tools for information sharing:Net-Centric enterprise services[R]. Washington: DoD CIO, 2007:2−6.
[2] 游加慰, 何业兰, 陈辉, 等. 智能舰船平台控制系统关键技术[J]. 舰船科学技术, 2011, 33(6): 38−41.YOU Jiawei, HE Yelan, CHEN Hui, et al. The key technologies of intelligent warship's engineering control system (ECS)[J].Ship Science and Technology, 2011, 33(6): 38−41.
[3] 舒振, 刘静, 罗雪山, 等. 军事信息服务的概念体系及其应用[J]. 火力与指挥控制, 2010, 35(9): 53−57.SHU Zhen, LIU Jing, LUO Xueshan, et al. Research on concept of military information service and its application[J]. Fire Control & Command Control, 2010, 35(9): 53−57.
[4] 舒振. 军事信息服务组合系统的构建方法与关键技术研究[D].长沙: 国防科技大学研究生院, 2012: 1−10.SHU Zhen. Research on building method and key technique of military information service composition system[D]. Changsha:Graduate School of National University of Defense Technology,2012: 1−10.
[5] 于晓浩. 面向任务的军事信息服务组合方法与关键技术研究[D]. 长沙: 国防科技大学研究生院, 2011: 1−15.YU Xiaohao. Research on method and key technologies of task-oriented military information service composition[D].Changsha: Graduate School of National University of Defense Technology, 2011: 1−15.
[6] 周晓明, 初宁. 指挥控制系统服务化研究[J]. 指挥控制与仿真, 2010, 32(3): 12−14.ZHOU Xiaoming, CHU Ning. Research of service enable command and control system[J]. Command Control &Simulation, 2010, 32(3): 12−14.
[7] 张英, 王智学, 刘晓明, 等. 面向服务的C4ISR系统能力需求分析与建模方法[J]. 解放军理工大学学报: 自然科学版, 2012,13(3): 276−281.ZHANG Ying, WANG Zhixue, LIU Xiaoming, et al.Service-oriented modeling for C4ISR capability requirements analysis[J]. Journal of PLA University of Science and Technology: Natural Science Edition, 2012, 13(3): 276−281.
[8] 刘辉, 麻志毅, 劭维忠. 元建模技术研究进展[J]. 软件学报,2008, 19(6): 1317−1327.LIU Hui, MA Zhiyi, SHAO Weizhong. Progress of research on metamodel[J]. Journal of Software, 2008, 19(6): 1317−1327.
[9] 曹栋. 网络服务智能化的关键技术研究[D]. 北京: 北京邮电大学计算机学院, 2011: 100−121.CAO Dong. Research on key technologies of network service intelligence[D]. Beijing: Beijing University of Post and Telecommunications. School of Computer, 2011: 100−121.
[10] 吴明晖, 应晶. 业务过程建模及其形式化验证[J]. 浙江大学学报: 工学版, 2011, 45(2): 280−287.WU Minghui, YING Jing. Business process modeling and formal verification[J]. Journal of Zhejiang University:Engineering Science, 2011, 45(2): 280−287.
[11] 莫同, 徐晓飞, 王忠杰. 面向服务系统设计的服务需求模型[J]. 计算机集成制造系统, 2009, 15(4): 661−669.MO Tong, XU Xiaofei, WANG Zhongjie. Service requirement model for service system design[J]. Computer Integrated Manufacturing Systems, 2009, 15(4): 661−669.
[12] Consortium W. XSL Transformations (XSLT) Version 2.0[EB/OL]. http: //www. W3. org/TR/xslt, 2007.
[13] LI Dan. QVT based model transformation from sequence diagram to CSP[C]//The 15th IEEE International Conference on Engineering of Complex Computer Systems. Macau, China,2010: 349−354.
[14] Heckerman D. Bayesian networks for data mining[J]. Data Mining and Knowledge Discovery, 1997, 1(1): 79−119.
[15] 胡建强. Web服务发现若干关键技术研究[D]. 长沙: 国防科技大学研究生院, 2005: 78−98.HU Jianqiang. Research on some key technologies of Web services discovery[D]. Changsha: Graduate School of National University of Defense Technology, 2005: 78−98.