您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于模型驱动架构的电信业务元模型抽象研究
冯跃忠北京邮电大学网络与交换国家重点实验室,北京(100876)E-mail:yzfeng1981@gmail.com摘要:模型驱动架构(MDA)业务生成技术是新一代的软件开发方法学。在深入分析基于模型驱动的电信业务生成后,文章以SIPServlet平台为例,给出了一种SIPServlet平台上的元模型抽象方法,并利用UMLProfile的扩展机制在MDA工具上加以实现,实验表明,在SIPServlet平台上采用此方法抽象的元模型是正确可行的。关键词:模型驱动架构,元模型抽象,业务生成,SIPServlet平台中图分类号:TN9111.引言模型驱动架构(ModelDrivenArchitecture,MDA)是对象管理组织(OMG)在2002年初确定的战略方向。在过去的几年中MDA技术取得了很大发展,被应用到诸如电信、航空航天、银行以及医疗卫生行业。作为一种新的业务生成方式,MDA越来越受到人们的关注。将模型驱动技术引入到电信领域,用于新一代电信业务生成具有重大意义。基于MDA的电信业务元模型抽象是模型驱动业务生成技术的重要研究课题之一。如何抽象出正确且能够覆盖所有电信业务能力的元模型需要深入研究。文章给出一种基于模型驱动架构的电信业务元模型抽象方法,并以SIPServlet平台为例给出抽象的元模型实例。2.基于模型驱动架构(MDA)的业务生成技术2.1MDA概念MDA定义了开发IT系统的一个标准,使系统功能与功能的实现相分离。最显著的特点是,该标准把关注点放在模型上,模型不再仅仅是描述系统,辅助沟通的设计工具,而是软件开发的核心。MDA把建模语言当作编程语言来用,把软件开发的关注点从代码实现转移到设计和建模上来。MDA的核心理念是一切以模型为中心,模型是MDA关注的焦点。其最终目标就是使模型可执行。MDA方法在开发过程中提供了更高层次的抽象,其在平台无关模型(PIM)与平台相关模型之间(PSM)的松耦合关系意义十分重大。模型是以精确定义的语言对系统(或系统的一部分)做出的描述【6】。在MDA中建模(描述问题)和模型映射技术(转换问题)是其核心,其技术基础为:统一建模语言(UML)、XML元数据交换(XMI)、元对象设施(MOF)、公共仓库元模型(CWM)。在某个企业应用MDA方法,其实质就是创建一个新的特定领域的MDA描述语言集,该语言集由某种面向对象建模语言(如UML)的标记组成,比如由几个UMLProfile组成的、可以由终端用户使用的集合。所以,MDA方法的核心在于用某种标准的建模语言建模,进行模型之间的转换,从而自动生成代码,提高软件的开发效率以及可重用性。MDA方法的概念模型是开发的基本脉路,如图1所示。1本课题得到国家自然科学基金项目(60672122)资助。的优势基于模型驱动的软件体系结构,将系统的功能规范与系统在特定平台上的实现分离,使得该体系结构能保持对编程语言、中间件平台、产品厂商的中性。这种方法的好处是:可方便地将现有的系统、正在建造的系统以及今后可能建造的系统在不同的中间件平台上进行集成,提高系统之间互操作、互移植的程度,使系统在不断变化的软件基础设施面前保持灵活性;同时,可延长软件的寿命周期、降低维护费用等。另外,模型严格的形式化语义定义可提高系统的质量,也有利于提高系统开发的自动化程度。总而言之,MDA能够带来大幅度的生产效率的提高,更好的可移植性,更好的互操作性,同时关键的是能够带来模型在应用级别的重用。用户只需要搭建具有高度抽象的业务平台无关模型,选择不同的实现平台,就能将这些模型映射到不同的平台。3.MDA的建模标准—UML概述3.1UML概述UML(UnifiedModelingLanguage),统一建模语言,是开发软件系统时,规范化,可视化,创建并编制相应文档的标准。UML是八十年代出现的各种面向对象语言(如OMT,BOOCH)的优点整合的结果。对所有使用面向对象和组件方法来开发的系统而言,UML都可以被作为一种通用的建模语言,它也可以在所有的应用领域和实现平台上应用。它在业界的地位就像英语在国际交流场合的地位一样,是软件架构师以及软件工程师们交流与沟通的工具,具有明显的图形化,规范化,可视化等优点。3.2UML扩展包(Profile)概要UMLProfile包以核心包为基础,它定义了一个构造型化的包,通过UML的扩展机制定义了一个元模型子集而使UML具有描述某个特定领域的丰富语义。这种扩展机制以UML为基础,制定了一些领域相关的元素,而并不改变原有UML元素的语义,属于“轻型扩展”。在常用的建模工具和方法论中,对UMLProfile方法来自定义Stereotype以扩展UML建模能力的应用处处可见,比如Rose中的许多对象都是Rational自己定义的Stereotype。计算无关模型(CIM)平台无关模型(PIM)标准、规则、映射平台相关模型(PSM)标准、规则、映射代码自动生成的元素,然后给这些元素的一些变形加上新的语义。新的语义可以有三种形式:重新定义,增加新的,或者对某种元素的使用增加一些限制。UML有三种扩展其核心的机制:①版类。它是一种附加在已有模型元素上的语义,如果版类附加于某种元素,则覆盖该元素的语义,该元素就成为一种新的元素。典型的版类如为类定义的元类(Metaclass),为包之间的相关关系定义的导入(Import)等。在这种情形中,版类在原来的元素(类或相关关系)中增加了新的或另外的语义。UML中自带了许多从核心扩展出来的常用的版类可以直接来使用。②加标签值。是附属于UML元素的性质,版类中的属性可以看做为标签,其值即为标签值。③约束。是UML中限制一种或多个元素语义的规则。约束可以附加在类或对象上,并且经常附加在关系上。3.3UML元模型四层概念架构当定义语言的架构层次时,通常考虑的是以下三层模式:①语言的规范,元模型;②用户规范,模型;③模型的对象(实例化)。这种结构可以递归的应用多次,于是就得到了不计其数的模型的层次,一个模型在某种情况下是元模型,在另一种情况下也可能作为模型,在UML和MOF中,这种现象是很常见的。UML这种语言规范允许用户定义自己的模型。同样,MOF也是允许用户自己定义模型的一个语言规范,从MOF的角度来看,UML是它的一个使用,即UML是基于MOF的一个语言规范。在UML语言的四层元模型层次中,MOF通常被看作元元模型。元元模型层是建模层次的基础,这一层的主要作用是定义一个元模型。这层通常被称为M3,MOF就是这一层的一个例子。元元模型通常要比它描述的元模型简单,并且会定义几个元模型。通常,元模型以及它相关的元元模型要共享公共的架构和原理。尽管如此,也可以把各个层次分开来考虑,需要分别来保持每一层次的完整性。一个元模型是一个元元模型的实例化,这就意味着元模型中的每一个元素都是元元模型中的某一个元素的实例化。元模型的主要功能是定义这门语言的一个模型。这个层次通常被称为M2,UML和CWM(CommonWarehouseMetamodel)都是元模型的一个例子。一般来说,元模型比定义它的元元模型要复杂,尤其是当它定义动态语义的时候。UML元模型就是MOF的一个实例化。模型是元模型的实例化。模型的主要功能是作为描述某个领域内语义的一种语言,允许用户为不同的问题域建模,如软件,商业,需求等。这层通常被称为M1。用户模型是UML元模型的一个实例化。注意的是,用户模型包含了模型元素以及模型元素的注释。元模型概念层次的最下层是M0,这一层包含的是模型中定义的模型元素的一个实例。M1层的注释在M0层变成了约束。UML四层概念架构图如图2所示[1]。开发方法中的两个主要问题,元建模实现了特定领域的描述。电信业务元建模的任务是提供一套特定领域的描述语言,该语言完全是功能层次上的描述,与具体接口、实现技术完全分离,在模型驱动的电信业务生成过程中,用该预先定义的电信业务描述语言建模各种电信业务的PIM层模型。其中,分析特定电信领域的特点,研究创建电信领域元模型的架构,抽象设计元模型的具体业务元素以及如何灵活使用,是元建模者必须考虑的问题。首先明确电信领域元建模要达到的2个目标:①配合使用UML核心包元素,能够明确描述电信领域各种复杂多变的业务逻辑;②给模型转换提供足够的标记去定义规则,以支持模型到模型或模型到代码的自动转换。该点是在模型驱动的背景下,通常的UML元模型建模所增添的理念【7】。4.2模型驱动业务生成策略根据MDA的理论,结合未来电信业务网络结构和业务的特点,提出了开发电信业务的一种全新的方法[2,3,4],如图3所示。基于MDA的电信业务开发首先要创建需求分析模型(CIM);第二步,将电信业务的功能从下层的网络实现技术中抽象出来,创建电信领域相关的扩展元模型,包括电信特征元模型,通用支撑功能元模型,非功能特性(QoS)元模型;第三步,使用电信领域相关元模型创建平台无关的业务模型(PIM);第四步,首先定义特定平台,协议接口和实现语言的映射规则,例如抽象OSA/Parlay的平台接口模型。然后,完成PIM到平台相关模型(PSM)的转换。上述PIM和PSM的建立是一个不断求精(从分析到设计)与转换的过程。最后是PSM到代码的生成、测试和部署运行。服务器的功能、控制SIP消息的处理,从而实现更为丰富的SIP业务。SIPServlet是一种基于组件与容器的设计架构,在此框架中,SIP应用是在应用服务器(即容器)内运行,并且受到应用服务器控制管理的组件。由于容器提供了大量的可利用的基础功能,应用开发人员只需要考虑上层的商业应用服务如何实现,从而简化了应用开发的工作流程,提高了效率。SIPServlet应用服务器的核心是SIP协议栈。应用服务器负责接受和发送SIP消息,管理SIP对话和事务,实现SIP的核心语义。当SIP服务器收到消息时,服务器会调用相应的SIPServlet应用,同时SIPServlet应用也会调用Servlet服务器来发送消息。图4是一个简单的SIPServlet基本模型示意图。图4SIPServlet基本模型示意图以模型驱动(MDA)的方式来开发下一代电信业务,SIPServlet平台是一个开放接口技术的业务生成平台,在MDA框架中,该平台上所有模型被称为平台相关模型PSM,所有元模型都是与平台的具体细节相关的。SIPServlet把互联网应用的开发模式移植到SIP解决方案中。它是对J2EEHTTPServletAPIs和容器模型的扩展,特定于Java语言。SIPServlet平台的特性在于它的编程模式。基于SIPServlet的电信业务是一种请求-响应模式。这种电信消息为驱动的,部署在SIPServer上的各种SIP应用采用Servlet模式,扩展服务器的功能。方便灵活、易于扩展、可移植。5.2SIPServlet平台元模型抽象方法在MDA架构中存在的三种模型平台独立模型PIM,平台相关模型PSM,代码模型CODE。PIM层模型用来精确、完整的描述业务,而与具体的实现细节无关。PIM层模型的开发人员不需要具体的了解电信领域的底层细节。PSM是与实现平台具体细节相关的。在MDA中,所有PIM层模型是统一的,根据
本文标题:基于模型驱动架构的电信业务元模型抽象研究
链接地址:https://www.777doc.com/doc-1639662 .html