当前位置: 首页 > 专利查询>云南大学专利>正文

一种基于特定领域建模的模型驱动开发方法技术

技术编号:14637098 阅读:299 留言:0更新日期:2017-02-15 11:16
本发明专利技术公开了一种基于特定领域建模的模型驱动开发方法,以行为建模为核心建立符合MMLs5级的可执行模型,以模型解析执行机制替代代码生成器,并与领域框架相结合成为特定领域模型执行基础设施,同时以标准化、自包含、自描述、模块化的WEB服务提升代码实现的抽象层次,封装代码实现的细节,将特定领域的相关软件功能实体以WEB服务集群的方式提供给特定领域模型执行基础设施,以行为模型的解析执行来驱动系统的运行。本发明专利技术旨在解决软件生成问题,实现由模型转化为可执行的最终系统;其中熟悉需求的最终用户构建应用模型,领域专家进行领域分析元建模,技术专家开发特定领域支撑服务,在模型执行基础设施中整合形成可执行软件。

【技术实现步骤摘要】

本专利技术属于软件开发
,尤其涉及一种基于特定领域建模的模型驱动开发方法
技术介绍
目前,高效率、高质量的软件开发成了计算机业界关注的焦点。计算机软件业的历史就是将抽象层次分层的历史。从1946年第一台计算机诞生到现在的60年间,经历了机器语言、汇编语言、高级语言/3GL,在高级语言的时代从结构化开发方法发展到面向对象的开发方法。直到现在的模型驱动开发,每一次抽象层次的飞跃都会提高软件开发效率,改善软件质量和可维护性。同时,使软件开发者能够更直观的面对问题域,屏蔽开发复杂性,提升灵活性和系统的可伸缩性。模型驱动开发方法将软件开发从以代码为中心提高到了以模型为中心。使模型不仅成为分析设计规范,还成为一种能够通过自动转换为可执行系统的软件制品。2002年由OMG所提出的MDA(ModelDrivenArchitecture)是最具代表性的模型驱动开发标准化体系。在OMG的蓝图中,UML、MOF、XMI、CWM等一系列标准分别解决了MDA的模型建立、模型扩展、模型交换、模型转换这几个方面的问题。OMG试图通过标准化的定义,扩大MDA的应用范围。同时通过这样一个可扩展的建模语言环境,IT厂商可以自由实现自己的建模语言,以及语言到可执行代码的映射,最终实现由模型转化为可执行的最终系统。FrederickBrooks在1986年做出了“十年内,没有任何单独的软件工程进展可以使软件生产率有数量级的提高”的论断,并被广泛的称为“银弹定律”。经过多年的应用与研究,以MDA为代表的模型驱动开发至今没有取得预期的成果,让模型成为核心自动转换成最终系统。模型驱动开发实际上并没有融化“银弹”。模型的使用一直停留在分析和设计阶段,成为软件开发的辅助设计工具。更为严重的是,随着软件开发的深入,代码实现逐步占据主导地位,模型只能以分析设计规范的形式成为代码实现的指导规范。从具体开发阶段开始,软件的所有变化就需要开发设计人员同步更新系统模型与代码,模型的抽象性和辅助设计的角色致使大部分情况下系统模型都得不到及时的改变,特别是在软件维护期间。模型与代码逐渐背离,大大降低了模型的作用,同时也让模型驱动开发成为泡影。近年来,甚至出现了忽略文档与建模而更多的进行原型实践的敏捷软件开发方法。MDA的模型可执行性体现在UML描述的PIM转换到PSM,再由PSM转化到可执行代码,从而将模型转换为可执行代码。模型转换规则和精确的PIM定义是MDA能够让模型转化为系统实现的必要条件,而最根本的是精确和完备的PIM定义,因为无论多精妙的模型转换方法都无法补足模型本身的缺陷。将定义模糊或不完整的模型自动的转换为系统实现。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言,它被MDA采用作为PIM的描述语言。PIM是对平台不相关软件特征的描述和规约,软件特征主要包括系统的结构特征(静态)和行为特征(动态)。MDA对PIM的质量有较高的要求,PIM必需保证完备性、一致性和无二义性,否则无法通过模型转换产生PSM,更不能准确完整的转化为系统实现。UML可以较好的对软件的结构特征进行建模,由PIM生成的PSM可以比较全面的携带系统的结构信息,如类图,部署图等。但UML对软件行为特征的描述能力较差,虽然UML提供了如顺序图、状态图、活动图、协作图等模型视图对软件的行为特征进行建模,但是这些模型视图及其模型元素的语义不精确,不能提供必要的系统行为细节信息。因此单纯依靠UML来描述的PIM质量并不高,模型转换后的PSM也不能完整反映平台相关的软件信息,缺失的软件行为特征还需要以人工的方法添加到PSM中,这样才能使PSM用于代码生成。为了改进这一缺陷,让UML能够完整精确的描述PIM,特别是其中的行为特征,必须扩充UML对软件行为特征的描述能力。为此,OMG对UML进行了改进,发布了UML2.0。同时,在此基础上提供了两种解决方案,一种是将UML与对象约束语言OCL相结合来描述PIM,另一种是采用可执行UML描述PIM,最具代表性的是xUML和xtUML。UML2.0的制定,使本专利技术又一次看到模型驱动开发的曙光。但是至今UML2.0还是没能改变MDA的模型与系统实现分离的现实。主要原因在于:首先,UML并未从根本上改变其结构,仍然以结构性的抽象语法来定义模型及其元素,虽然大幅度增强了行为语义,但还是难以和真实系统的动态性相关联,并且在细节描述上还有缺陷。其次,UML仍然是针对所有领域的通用建模语言,UML2.0使整个体系变得更加庞大,难于使用,难于理解,更难于被转换为系统实现。第三,UML2.0的出现,并没有改变模型实现支撑环境的缺失的问题。OCL增强了MDA体系中精确模型描述能力,现在已有不少工具支持OCL辅助建模。通过引入OCL,不仅增强了UML的精确描述能力,还加强了MDA四层模型的约束能力,同时通过对模型转换规则的定义,使MDA的模型转换成为可能。但是目前的OCL如果要定义模型转换,还需要进行扩展,其次OCL并没有改变UML的本质缺点,模型仍然难以转换为系统实现。xUML虽然包含精确定义的动作语义,却没有定义具体的动作语言,由各软件厂商来完成,比较著名的是KennedyCarter公司发布的ASL动作规约语言,它是一个与实现语言平台无关的行为语言,通过它可以完善模型行为描述,建立可执行模型。其他的还有OAL、SMALL、TALL。同时,基于xUML和不同的动作语义,已经有了xUML支撑工具。如KennedyCarter’sProducts-iUMLite支持xUML开发过程,支持可执行模型的建立和验证及代码生成。ProjectTechnology公司的BridgePoint使用OAL作为行为语言支持xUML模型驱动开发。目前xUML主要用于实时系统开发,应用范围比较窄。模型驱动开发思想是具有开创性的,模型驱动开发方法无法进行到底的核心问题在于模型难以转化到系统实现,其主要原因在于:1、模型的抽象性模型驱动开发需要对软件系统建模,建模活动包括行为建模和结构建模。结构是支撑软件行为的物质基础,它决定了软件所能拥有的行为范围。行为是用以实现软件的,软件的目的将由行为来实现。因此,模型的行为表现力以及行为语义本身对于模型到系统实现的转换起到决定性作用。行为建模本身具有很强的抽象性,省略了很多的行为细节定义,导致大部分行为模型元素的行为语义不精确,具有很多的不确定性和二义性,且与真实的系统实现体系结构有一定的差距,只能用于系统实现的指导规范。2、过于广泛的建模范围通用化的建模方式是当前建模活动的主体,当今信息系统的开发越来越复杂,所涉及的领域也越来越广。为了通用建模的目标,需要对建模语言不断地修改和添加,致使模型变得日益庞大,难于使用,难于理解,更难于被转换为系统实现。3、建模活动主要针对分析设计,而非系统实现软件开发周期的各个阶段都有不同的软件系统模型视图,实际上针对系统实现的模型视图不多,更多的视图都是针对于分析设计的,用于开发人员间的交流与规约设计,这导致模型本身的描述模糊,缺失细节,难以被计算机所理解,更谈不上系统实现。4、模型实现支撑环境的缺失模型的实现必须依靠特定的模型实现支撑环境,比如代码生成系统或模型虚拟机系统,但由于模型本文档来自技高网...
一种基于特定领域建模的模型驱动开发方法

【技术保护点】
一种基于特定领域建模的模型驱动开发方法,其特征在于,所述基于特定领域建模的模型驱动开发方法以行为建模为核心建立符合MMLs5级的可执行模型,以模型解析执行机制替代代码生成器;并与领域框架相结合成为特定领域模型执行基础设施;同时以标准化、自包含、自描述、模块化的WEB服务提升代码实现的抽象层次,封装代码实现的细节;将特定领域的相关软件功能实体以WEB服务集群的方式提供给特定领域模型执行基础设施,以行为模型的解析执行来驱动系统的运行。

【技术特征摘要】
1.一种基于特定领域建模的模型驱动开发方法,其特征在于,所述基于特定领域建模的模型驱动开发方法以行为建模为核心建立符合MMLs5级的可执行模型,以模型解析执行机制替代代码生成器;并与领域框架相结合成为特定领域模型执行基础设施;同时以标准化、自包含、自描述、模块化的WEB服务提升代码实现的抽象层次,封装代码实现的细节;将特定领域的相关软件功能实体以WEB服务集群的方式提供给特定领域模型执行基础设施,以行为模型的解析执行来驱动系统的运行。2.如权利要求1所述的基于特定领域建模的模型驱动开发方法,其特征在于,所述WEB服务的可执行的特定领域建模架构分为三个层次,分别对应三个核心要素:特定领域可执行模型、特定领域模型执行基础设施、特定领域WEB服务原子群;特定领域可执行模型在特定领域模型执行基础设施中解析执行,特定领域可执行模型的执行依赖于领域框架所提供的对应接口,领域框架通过特定领域WEB服务原子群的领域相关服务提供核心软件功能实体,并且向上支撑特定领域可执行模型的执行;特定领域可执行模型特定领域可执行模型,特定领域模型执行基础设施特定领域模型执行基础设施和特定领域WEB服务原子群特定领域WEB服务原子群S共同组成了基于WEB服务的可执行的特定领域建模架构。3.如权利要求1所述的基于特定领域建模的模型驱动开发方法,其特征在于,所述基于特定领域建模的模型驱动开发方法具体步骤如下:(1)定义特定领域可执行元建模语言;使用具有严格的形式和含义,能够被计算机自动解释和理解;(2)特定领域可执行模型元建模:在特定领域可执行模型元建模阶段,由领域专家对特定领域进行分析并建立特定领域可执行模型元模型,领域专家对领域知识建模,捕获特定领域概念、约束、规则和表现形...

【专利技术属性】
技术研发人员:刘俊晖段清廖赟何臻力
申请(专利权)人:云南大学
类型:发明
国别省市:云南;53

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1