一种基于特定领域建模的模型驱动开发方法与流程

文档序号:11133636阅读:470来源:国知局
本发明属于软件开发
技术领域
:,尤其涉及一种基于特定领域建模的模型驱动开发方法。
背景技术
::目前,高效率、高质量的软件开发成了计算机业界关注的焦点。计算机软件业的历史就是将抽象层次分层的历史。从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、模型实现支撑环境的缺失模型的实现必须依靠特定的模型实现支撑环境,比如代码生成系统或模型虚拟机系统,但由于模型自身原因的限制,模型实现支撑环境难以完成,更多的是利用模型生成部分其它软件制品,如代码框架、文档、配置脚本等。技术实现要素:本发明的目的在于提供一种基于特定领域建模的模型驱动开发方法,针对以OMG提出的MDA(模型驱动架构)为代表的通用建模和模型转换方法,旨在解决开发方法存在行为模型元素的行为语义不精确;与真实的系统实现体系结构有差距;在模型转换中难以形成可执行软件的问题。本发明是这样实现的,一种基于特定领域建模的模型驱动开发方法,所述基于特定领域建模的模型驱动开发方法以行为建模为核心建立符合MMLs5级的可执行模型,以模型解析执行机制替代代码生成器,并与领域框架相结合成为特定领域模型执行基础设施,同时以标准化、自包含、自描述、模块化的WEB服务提升代码实现的抽象层次,封装代码实现的细节,将特定领域的相关软件功能实体以WEB服务集群的方式提供给特定领域模型执行基础设施,以行为模型的解析执行来驱动系统的运行。进一步,所述WEB服务的可执行的特定领域建模架构对应三个核心要素:特定领域可执行模型、特定领域模型执行基础设施、特定领域WEB服务原子群;特定领域可执行模型在特定领域模型执行基础设施中解析执行,特定领域可执行模型的执行依赖于领域框架所提供的对应接口,领域框架通过特定领域WEB服务原子群的领域相关服务提供核心软件功能实体,并且向上支撑特定领域可执行模型的执行;特定领域可执行模型特定领域可执行模型,特定领域模型执行基础设施特定领域模型执行基础设施和特定领域WEB服务原子群特定领域WEB服务原子群S共同组成了基于WEB服务的可执行的特定领域建模架构。进一步,所述基于特定领域建模的模型驱动开发方法具体步骤如下:(1)定义特定领域可执行元建模语言;使用具有严格的形式和含义,能够被计算机自动解释和理解;(2)特定领域可执行模型元建模:在特定领域可执行模型元建模阶段,由领域专家对特定领域进行分析并建立特定领域可执行模型元模型,领域专家对领域知识建模,捕获特定领域概念、约束、规则和表现形式,创建领域对象、关系和相关约束;(3)特定领域可执行模型应用建模:由最终用户针对应用需求在特定领域可执行模型元模型的基础上使用特定领域概念对问题域进行应用实体建模;建立的特定领域可执行模型应用模型在特定领域模型执行基础设施中执行并验证用户应用需求;(4)应用建模构建行为场景:行为场景包含实现系统行为的一系列动作,对特定系统目标在执行期内的一个执行过程,用来说明领域对象之间的交互和协作;行为场景从领域行为过程的视角建模,体现为行为逻辑模型视图,以可视化建模的方式描述行为逻辑,并且通过AS&MC语法对行为的控制流和数据流进行精确的定义和约束;(5)特定领域可执行模型的编译解析:特定领域可执行模型在行为逻辑执行框架中经过编译解析过程形成特定领域可执行模型行为场景中间代码,其中包含AS&MC解析、xDSMML解析和特定领域可执行模型行为场景编译三个主要过程;BLEF通过各个过程的核心算法,抽取并编译特定领域可执行模型行为场景形成特定领域可执行模型行为场景中间代码,同时在特定领域模型执行基础设施中注册行为场景信息以及抽象操作信息;(6)特定领域模型执行基础设施为特定领域可执行模型提供执行环境:以模型解析执行机制替代代码生成器,并与领域框架相结合成为特定领域模型执行基础设施特定领域模型执行基础设施,特定领域模型执行基础设施定位为在网络运行环境上的软件运行平台,同时作为特定领域可执行模型的执行环境,以特定领域可执行模型的精确完整的行为逻辑为核心,以特定领域WEB服务原子群为软件功能实体,将特定领域可执行模型转化为网购软件的形态完成系统实现。本发明提供的基于特定领域建模的模型驱动开发方法,旨在解决软件生成问题,实现由模型转化为可执行的最终系统;其中熟悉需求的最终用户构建应用模型,领域专家进行领域分析元建模,技术专家开发特定领域支撑服务,在模型执行基础设施中整合形成可执行软件。本发明实施例的基于特定领域建模的模型驱动开发方法xDSM的行为建模是针对行为逻辑进行建模,而并不是简单的表达计算逻辑。行为与计算是相互交融的,将行为逻辑与计算逻辑解耦,使行为逻辑重点描述领域概念之间的协同关系,而忽略实现细节的计算过程,将领域业务原子操作的计算逻辑在服务中进行封装,在此基础上形成的行为逻辑是精确和具体的。为了进一步缩小领域概念和其实现之间的差距,DSM用领域模型表示“领域概念”,代码生成所需要的信息包含在领域模型中,从而代码可从领域模型中自动生成,在领域框架的作用下,这些代码变成了最终产品。DSM隐藏代码的方式,正如今天编程方式下隐藏编译器的方式是一样的。DSM主要做两件事。第一,不用通过编程而是通过特定语言中的解决方案来提升抽象水平。该语言直接使用某一特定问题域中的概念和规则。第二,用选择的程序设计语言或从高层次规约中产生的其他方式生成目标代码。因为模型语言、代码生成和框架代码都被要求适用于一个特定应用领域的需求,应用程序开发的自动化成为可能。换言之,应用程序开发是面向领域的并且完全在用户的控制之下的。DSM的目标即是针对实现而建模,而非分析与设计的工具。在特定领域可执行元建模语言xDSMML的精确定义下,通过xDSM元模型针对特定领域应用建立xDSM应用模型,xDSM应用模型精确完整的描述了系统行为,满足MMLs5的要求。但是,单纯的xDSM是不可能执行的,它必须依靠一定执行环境来解析执行,特定领域模型执行基础设施DSMEI提供了xDSM应用模型的执行环境。DSMEI解析xDSM应用模型的行为语义,转化为带有精确语义的操作序列,同时执行操作以实现系统目标。DSMEI整合了领域框架并结合特定领域WEB服务原子群AGDSWS为虚拟操作提供软件功能实体。从而使xDSM成为了在DSMEI中可执行的软件制品。本发明以模型解析执行机制替代代码生成器,并与领域框架相结合成为特定领域模型执行基础设施,针对特定领域如股份制公司财务软件、事业单位资产管理软件,领域专家与技术专家定义软件构件和原模型,用户在此基础上构建特定领域模型,该模型在特定领域模型执行基础设施的支撑下直接形成只执行软件;提出一种用户像搭积木一样建模形成软件的方法,从而提高软件开发效率。附图说明图1是本发明实施例提供的基于特定领域建模的模型驱动开发方法流程图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明旨在对特定领域建模方法与模型驱动开发进行深入,以模型成熟度MMLs5级标准为指导,设计特定领域可执行模型的建模语言,赋予模型可执行的行为语义。同时,在此基础上结合软件复用技术和分布式技术设计与实例化模型执行基础设施,构建特定领域建模过程与实施框架,最终实现以模型为中心的模型驱动开发方法。下面结合附图对本发明的应用原理作详细的描述。如图1所示,本发明实施例的基于特定领域建模的模型驱动开发方法包括以下步骤:S101:定义特定领域可执行元建模语言;S102:xDSM元建模;S103:xDSM应用建模;S104:应用建模的目标是针对特定领域的业务目标构建一些列的行为场景;S105:xDSM的编译解析;S106:DSMEI能够如同模型虚拟机一般在不同平台上为xDSM提供执行环境。下面结合具体实施例对本发明的应用原理作进一步的描述。本发明以特定领域模型为目标,以精确完整的行为建模为核心建立符合MMLs5级的可执行模型,基于完备、一致、详细和精确的模型描述,以模型解析执行机制替代代码生成器,并与领域框架(DomainFramework)相结合成为特定领域模型执行基础设施,同时以标准化、自包含、自描述、模块化的WEB服务提升代码实现的抽象层次,封装代码实现的细节,将特定领域的相关软件功能实体以WEB服务集群的方式提供给特定领域模型执行基础设施,以行为模型的解析执行来驱动系统的运行。这是基于WEB服务的可执行的特定领域建模架构(eXecutableDomain-SpecificModellingbasedonWebServices,xDSMOWS)的核心思想,它以特定领域建模为基础从模型的精化和实现方案的提升两个方面来构建可执行的模型及其执行基础设施。xDSMOWS分为三个层次,分别对应三个核心要素:特定领域可执行模型(ExecutableDomain-specificModel,xDSM)、特定领域模型执行基础设施(Domain-specificModelExecutionInfrastructure,DSMEI)、特定领域WEB服务原子群(AtomicGroupofDomain-specificWEBServices,AGDSWS)。xDSM在DSMEI中解析执行,xDSM的执行依赖于领域框架所提供的对应接口,领域框架通过AGDSWS的领域相关服务提供核心软件功能实体,并且向上支撑xDSM的执行。特定领域可执行模型xDSM,特定领域模型执行基础设施DSMEI和特定领域WEB服务原子群AGDSWS共同组成了基于WEB服务的可执行的特定领域建模架构。本发明实施例的基于特定领域建模的模型驱动开发方法具体步骤如下:1、定义特定领域可执行元建模语言;模型是对系统的功能、结构、行为及其环境的描述和规约。模型需要使用具有良好定义的语言来描述。具有良好定义的语言是指该语言具有严格的形式(语法)和含义(语义),能够被计算机自动解释和理解。特定领域可执行元建模语言(eXecutableDomain-specificMeta-ModellingLanguage,xDSMML)是针对特定领域建模方法设计的元建模语言,用于在通用建模环境中对xDSM元建模和xDSM应用建模提供描述语言支持,即能够同时支持xDSM元模型和xDSM应用模型的描述与构造。2、xDSM元建模:在xDSM元建模阶段,由领域专家对特定领域进行分析并建立xDSM元模型,领域专家(DomainExpert)对领域知识建模,捕获特定领域概念、约束、规则和表现形式,创建领域对象、关系和相关约束。同时针对xDSM元模型,由技术专家构建特定领域支撑服务。3、xDSM应用建模:由最终用户(EndUser)针对应用需求在xDSM元模型的基础上使用特定领域概念对问题域进行应用实体建模,并且在建模过程中严格的遵照xDSM元模型所定义的规范和约束。最终用户建立的xDSM应用模型在DSMEI中能够执行并验证用户应用需求,确保应用建模能够完整的满足软件系统的要求。4、应用建模的目标是针对特定领域的业务目标构建一些列的行为场景:行为场景(BehaviorScenario)包含了实现系统行为的一系列动作(Action),针对特定系统目标在执行期内的一个执行过程,用来说明领域对象之间的交互和协作。为了实现一个业务目标,可能需要不同级别的若干行为场景相互支撑。行为场景从领域行为过程的视角建模,体现为行为逻辑模型视图,以可视化建模的方式描述了行为逻辑,并且通过AS&MC语法对行为的控制流和数据流进行精确的定义和约束。5、xDSM的编译解析:xDSM在行为逻辑执行框架(BLEF)中经过一系列的编译解析过程形成xDSM行为场景中间代码,其中包含AS&MC解析、xDSMML解析和xDSM行为场景编译三个主要过程。BLEF通过各个过程的核心算法(本发明以算法流程图和类Pascal的伪代码表示),抽取并编译xDSM行为场景形成xDSM行为场景中间代码,同时在DSMEI中注册行为场景信息以及抽象操作信息,为xDSM的执行奠定基础。6、DSMEI能够如同模型虚拟机一般在不同平台上为xDSM提供执行环境:以模型解析执行机制替代代码生成器,并与领域框架(DomainFramework)相结合成为特定领域模型执行基础设施DSMEI,DSMEI定位为在网络运行环境上的软件运行平台,同时作为xDSM的执行环境,以xDSM的精确完整的行为逻辑为核心,以AGDSWS为软件功能实体,将xDSM模型转化为网购软件的形态完成系统实现。本发明实施例的基于特定领域建模的模型驱动开发方法xDSM的行为建模是针对行为逻辑进行建模,而并不是简单的表达计算逻辑。行为与计算是相互交融的,将行为逻辑与计算逻辑解耦,使行为逻辑重点描述领域概念之间的协同关系,而忽略实现细节的计算过程,将领域业务原子操作的计算逻辑在服务中进行封装,在此基础上形成的行为逻辑是精确和具体的。为了进一步缩小领域概念和其实现之间的差距,DSM用领域模型表示“领域概念”,代码生成所需要的信息包含在领域模型中,从而代码可从领域模型中自动生成,在领域框架的作用下,这些代码变成了最终产品。DSM隐藏代码的方式,正如今天编程方式下隐藏编译器的方式是一样的。DSM主要做两件事。第一,不用通过编程而是通过特定语言中的解决方案来提升抽象水平。该语言直接使用某一特定问题域中的概念和规则。第二,用选择的程序设计语言或从高层次规约中产生的其他方式生成目标代码。因为模型语言、代码生成和框架代码都被要求适用于一个特定应用领域的需求,应用程序开发的自动化成为可能。换言之,应用程序开发是面向领域的并且完全在用户的控制之下的。DSM的目标即是针对实现而建模,而非分析与设计的工具。在特定领域可执行元建模语言xDSMML的精确定义下,通过xDSM元模型针对特定领域应用建立xDSM应用模型,xDSM应用模型精确完整的描述了系统行为,满足MMLs5的要求。但是,单纯的xDSM是不可能执行的,它必须依靠一定执行环境来解析执行,特定领域模型执行基础设施DSMEI提供了xDSM应用模型的执行环境。DSMEI解析xDSM应用模型的行为语义,转化为带有精确语义的操作序列,同时执行操作以实现系统目标。DSMEI整合了领域框架并结合特定领域WEB服务原子群AGDSWS为虚拟操作提供软件功能实体。从而使xDSM成为了在DSMEI中可执行的软件制品。下面结合具体实施例对本发明的应用原理作进一步的儿描述。为了实现模型与系统实现的自动转化,可以从两方面着手,其一:精化模型,降低抽象度,使模型能够精确完整的描述软件,逐步靠近系统实现。模型成熟度MMLs就是一个度量模型描述能力和抽象度的标准,模型的精化也是从模糊到精确,从抽象到具体的过程,一步步的缩小与系统实现的差距,从而能够更加有效的生成软件系统。MMLs4和MMLs5级是比较适合作为代码生成的模型成熟度级别,越向上转化为系统实现的难度越大,甚至于不可能达到。基于UML通用建模语言的相关可执行模型的构建也是按照这一思路发展的,从UML2.0开始对UML体系结构进行了根本的改变,更加注重行为建模,并且引入了部分高级语言元素,同时使用OCL对模型进行精确的约束,在xUML和xtUML中直接使用动作规约语言来补充描述系统,更加精确和完整的贴近实现,便于向系统实现转换。第二:提高代码生成器的实现技术,使代码生成具有很强的适应性和灵活性,逐步靠近模型描述。模型驱动开发是建立在现有技术之上的,计算机技术的进步也将推动模型驱动开发的实现,面向对象技术的出现促成了UML的成功,组件技术、分布式技术、人工智能、数据挖掘等计算机技术的逐步发展也将促进代码生成器或更进一步的模型虚拟机(ModelVirtualMachine,MVM)的实现,自动完整的将模型转化为系统实现,甚至是比较模糊的软件模型。本发明以网上购物系统为应用案例,通过基于WEB服务的可执行的特定领域建模架构构建特定领域可执行模型,并在特定领域模型执行基础设施DSMEI中执行xDSM应用模型以实现案例系统。以特定领域可执行模型为核心结合应用案例重点说明特定领域建模过程与实施框架。当前的互联网不仅为人们提供一个信息平台,更提供了一个交易平台,无论是企业间(B2B)、企业和客户间(B2C)还是客户与客户间(C2C)都能够足不出户的利用互联网进行交易,实现网上购物,从而大幅度的提高交易速度,节约交易成本。本发明以网上购物核心片断进行领域分析,构建可执行模型。1网上购物领域分析网上购物以在线购物(OnlineShopping)核心片断作为特定领域,进行领域分析。在线购物通过客户登录系统,分类浏览商品信息,选择多个目标商品形成订单,最后选择配送方式,并通过银行在线支付完成交易。对于大部分网上购物系统而言,这个业务处理过程是相同的,需求也是共通的,能够采用B/S的结构来架构该系统。但在具体的各个网上购物系统实现上,其商品信息,客户信息以及业务规则是不尽相同。通过分析,本发明能够得到几个主要的领域概念:客户(Customer):客户作为网上购物的主体,包含了注册用户的所有信息。经过密码验证登录进入系统,所有的网上购物环节都与客户有关联,包括订单、配送、在线支付等。商品浏览(BrowserProduct):用户通过不同的分类浏览商家提供的商品信息列表,并查询其详细信息。选购商品(BuyProduct):通过商品浏览,用户选择并订购商品,形成订单。订单(Order):订单从客户选购商品中形成,是客户购买的商品集合,也是配送与支付的基本单元。货物配送(FreightDelivery):收集商品配送信息,并通过订单信息计算配送费用。选择配送(SelectDelivery):选择配送供应商,并决定货物配送的具体细节。银行支付(BankPayment):与银行对接完成交易费用的支付。在线交易(OnlineTransaction):选择支付银行并根据订单在线交易。2网上购物建模过程2.1元建模阶段在网上购物系统的领域分析基础上,本发明使用通用建模环境Archware进行xDSM元建模。首先建立“网上购物”的领域空间,在其上建立网上购物领域的元模型,在元模型设计器中可视化的定义模型元素。根据网上购物的领域分析,得到了相关的领域概念,从而定义网上购物领域空间的xDSM元模型。首先定义元模型中模型元素的基本属性、图示及事件。在通用建模环境Archware中通过定义元模型元素的属性、图示及事件建立了基础的网上购物领域空间的xDSM元模型,领域实体,领域实体的关联引用行为场景基础元模型的关联元素,事件主要都是DesignTimeEvent,由通用建模环境在应用建模时实现。同时对于领域实体之上能够附加模型约束,它与事件一样,都是使用AS&MC语法定义的,能够完善xDSM元模型的细节。例如:·“订单”领域实体的模型约束,它是一个不变式:订单内Products的价格总合等于TotalPrice。·“客户”领域实体的设计期鼠标点击事件:初始化并显示属性配置界面,由Archware实现。在Archware中,本发明能够通过三种方式定义行为操作。首先、以行为场景利用其他xDSM元模型构造行为操作;其次、通过AS&MC语法定义行为操作;第三、将行为操作定义为抽象操作,用具体的WEB服务实现它。网上购物领域空间的xDSM元模型所定义的模型元素具有多个行为操作,实现领域概念所包含的系统功能。客户(Customer)·密码验证[抽象操作]OperationPasswordValidation;Abstract;InputPinUserID,Password:string;OutputPinResult:Boolean;·登陆界面[抽象操作]OperationLoginInterface;Abstract;InputPinNull;OutputPinResult:string;·用户登陆[行为场景]OperationLogin;BS;InputPinNull;OutputPinResult:string;商品浏览(BrowserProduct)·商品浏览[抽象操作]OperationBrowserProduct;Abstract;InputPinBrowserType:string;OutputPinResult:string;选购商品(BuyProduct)·选购商品[行为场景][主动操作]OperationBuyProduct;BS;Active;InputPinNull;OutputPinResult:string;订单(Order)·订单确认[抽象操作]OperationOrderConfirm;Abstract;InputPinOrderID:string;OutputPinResult:Boolean;·取消订单[抽象操作]OperationOrderCancel;Abstract;InputPinOrderID:string;OutputPinResult:Boolean;·增加商品[抽象操作]OperationAddProduct;Abstract;InputPinOrderID,ProductID:string;Num:int;OutputPinResult:Boolean;·删除商品[抽象操作]OperationDelProduct;Abstract;InputPinOrderID,ProductID:string;Num:int;OutputPinResult:Boolean;货物配送(FreightDelivery)·信息收集[抽象操作]OperationDeliveryInfo;Abstract;InputPinOrderID,DeliveryProvider:string;OutputPinResult:string;·费用计算[抽象操作]OperationCostCalculate;Abstract;InputPinOrderID,DeliveryProvider:string;OutputPinResult:Real;选择配送(SelectDelivery)·选择配送[行为场景][主动操作]OperationSelectDelivery;BS;Active;InputPinOrderID:string;OutputPinResult:string;银行支付(BankPayment)·支付信息收集[抽象操作]OperationSelectBank;Abstract;InputPinNull;OutputPinResult:string;·支付确认[抽象操作]OperationPayConfirm;Abstract;InputPinOrderID,BankName:string;OutputPinResult:string;·订单支付[抽象操作]OperationOrderPay;Abstract;InputPinOrderID,BankName:string;Fee:Real;OutputPinResult:Boolean;在线交易(OnlineTransaction)·交易[行为场景][主动操作]OperationTransaction;BS;Active;InputPinOrderID:string;OutputPinResult:string;网上购物领域空间在元建模阶段就提取出所有抽象操作,与实现该操作的WEB服务相对应,形成领域空间的AGDSWS服务信息。以“客户”建模元素的密码验证抽象操作为例:网上购物领域空间,采用xDSM的元模型扩展机制,利用网上购物既有元模型与行为场景基础元模型定义网上购物领域元模型模型元素的行为操作,将其固化于xDSM元模型中。网上购物领域空间的xDSM元模型中,有多个模型元素具有行为场景描述的行为操作。客户模型元素,Login操作的行为场景:选择配送模型元素,SelectDelivery主动操作的行为场景:选购商品模型元素,BuyProduct主动操作的行为场景:在线交易模型元素,Transaction主动操作的行为场景:行为场景一方面能够清晰明确的构建xDSM模型中的行为操作,描述系统行为,另一方面以行为场景描述元模型的行为操作,能够引用其他领域空间元模型,提供领域知识与实现的复用。在行为场景中,利用行为场景基础元模型的关系(Relationship)能够很好的建立控制流,行为场景的数据流则需要通过特定领域建模元素,主要是Relationship上附加的动作规约进行关联。动作规约表现为一个AS&MC语法描述的主动操作。在网上购物领域空间中,以确认登陆事件和客户密码验证操作相关联的Relationship为例,其上所具有的主动操作接续了两者的数据。该顺序关系关联元素能够绑定SR_ActiveOP1主动操作固化为元模型中具有特定角色的关系建模元素,更加方便应用建模,限于篇幅,本发明并未这样定义。2.2应用建模阶段基于网上购物领域空间的元模型,本发明针对自建网上购物系统进行领域规约分析。在系统需求规约的基础上,在Archware中应用网上购物领域元模型与行为场景基础元模型构建xDSM应用模型。对于通用建模环境Archware而言,建模用户不仅可以构建xDSM应用模型,而且能够修改元模型中描述行为操作的行为场景,例如客户登陆行为场景、选购商品行为场景等,从而能够最大化的提高xDSM模型的可控性,简化应用模型。3网上购物系统的实施网上购物系统建模完成后,形成了网上购物领域空间与网上购物系统的xDSM应用模型,它们是可执行模型实施的基础。特定领域模型执行基础设施(DSMEI)是特定领域实施框架的主要组成部分。DSMEI装载并编译xDSM应用模型,形成xDSM行为场景中间代码,它包含了xDSM中行为场景的行为逻辑过程以及接口信息,行为逻辑执行单元能够直接加载执行。网上购物系统的xDSM应用模型的执行需要AGDSWS的支撑。AGDSWS服务信息配置工具能够加载网上购物领域空间的AGDSWS服务信息,同时也能够在运行时动态配置支撑WEB服务。本发明将网上购物系统的xDSM应用模型装载进入DSMEI,并将网上购物领域空间的AGDSWS服务信息加载进入AGDSWS服务信息配置后,通过WEB浏览器访问网上购物系统的引导页面,它使用AJAX技术调用DSMEI提供的WEB服务,实现WEB页面DOM动态显示和交互。本发明通过网上购物系统的建模与实施,全面的展示了特定领域建模过程与特定领域实施框架,其中包括针对网上购物领域的xDSM元建模与xDSM应用建模,以及在DSMEI中执行xDSM应用模型,实现网上购物系统。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1