CN102103504A - 一种反射式建模工具及其重构方法 - Google Patents
一种反射式建模工具及其重构方法 Download PDFInfo
- Publication number
- CN102103504A CN102103504A CN2011100415218A CN201110041521A CN102103504A CN 102103504 A CN102103504 A CN 102103504A CN 2011100415218 A CN2011100415218 A CN 2011100415218A CN 201110041521 A CN201110041521 A CN 201110041521A CN 102103504 A CN102103504 A CN 102103504A
- Authority
- CN
- China
- Prior art keywords
- model
- type
- behavior
- interface
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种建模工具的重构方法,包括:在基界面上,对具有不同功能职责的模型元素进行抽象,形成稳定的核心概念系统;模型元素构成建模工具的基对象集;在元界面上,通过模型域描述模型元素在应用域中的具体类型、信息结构以及语义约束,使得模型元素种类的扩展不受限制,且使得在高的抽象层次上实现模型信息的录入与验证;一个模型元素对应绑定一个模型域,一个模型域挂接多个元行为执行体,实现基对象与元对象的关联;引入元类机制对对象类型、结构进行自述,并提供包括类型识别、动态创建、复制、序列化的基础服务;通过工具重配置文件对元界面进行定制。
Description
技术领域
本发明涉及信息处理技术领域,更具体地,本发明涉及一种建模工具及其重构方法。
背景技术
统一建模语言是对象管理组织发起的一个面向对象建模语言标准,目前已经成为面向对象建模的事实标准。统一建模语言通过类、对象、关系等描述系统的静态结构信息,通过序列图、状态转换图等来描述系统的动态行为。与基于统一建模语言的统一建模工具(如Rational Rose)不同,领域建模工具具有很强的业务针对性,难以使用统一建模语言的语义、语言规范来约束。领域建模语言的针对性主要表现为:由于不同的领域建模所涉及的领域模型存在差异,工具需要在领域模型的描述、表示以及操作等方面进行定制。
一般而言,可视化建模工具的设计以可视化建模语言和建模规范为指导;语言的语义部分,即概念模型,对应工具的语义对象系统;语言的表示法部分,对应工具的图元系统;建模规范,对应模型相关的操作约束与逻辑。根据领域建模语言及建模规范的特点、对建模工具进行定制,进行相应软件模块的设计、编码,并与工具的其它相对稳定的模块(如界面、文档系统、模型库系统等)进行集成,但该方式成本高、周期长。
基于元建模技术的工具重构是当前较流行的方案,通过元建模、生成元模型相关的代码框架、集成插件等技术支持工具的重构,提高了建模工具开发的效率和质量。但是,该方案对建模平台要求较高,代码编写、集成、维 护工作较多,实现步骤复杂;并且当应用领域具有很多相似特性时,运用该方案性价比不高。
发明内容
为克服现有技术的上述缺陷,本发明提出一种建模工具及其重构方法。
根据本发明的一个方面,提出了一种基于反射技术的建模工具,包括元类包、模型元素包、元行为包和图形包,其特征在于,所述元类包用于实现软件对象的自描述,通过类型描述、属性描述、对象实例注册提供包括类型识别、动态创建、对象管理的基础服务,并且用于在高抽象层次实现对象初始化、复制、序列化、数据可视化的涉及对象类型识别、属性线形映射的行为;所述模型元素包用于基于黑箱实现原理在基界面上对模型元素的特性和行为进行抽象;所述元行为包用于基于开放实现原理在元界面上对模型元素的特性和行为进行抽象;所述图形包包括矢量图元实现模块,用于支持模型信息的可视化表示。
根据本发明的另一个方面,提出了一种建模工具的重构方法,包括:
步骤10)、在基界面上,对具有不同功能职责的模型元素进行抽象,形成稳定的核心概念系统;模型元素构成建模工具的基对象集;
步骤20)、在元界面上,通过模型域描述模型元素在应用域中的具体类型、信息结构以及语义约束,使得模型元素种类的扩展不受限制,且使得在高的抽象层次上实现模型信息的录入与验证;
步骤30)、一个模型元素对应绑定一个模型域,一个模型域挂接多个元行为执行体,实现基对象与元对象的关联;引入元类机制对对象类型、结构进行自述,并提供包括类型识别、动态创建、复制、序列化的基础服务;
步骤40)、通过工具重配置文件对元界面进行定制。
本发明基于反射技术构建具有自适应特性的工具架构,使得架构仅通过重配置就能适应领域建模的需求变化,为实现工具重构提供了一种新的可行 方案,以所见即所得、支持图形交互式开发建模工具重配置描述文档的工具。
基于元建模技术的工具重构,虽然有元建模平台的支持,本质上是代码级的重构,且重构过程复杂,对技术实现及配套的工具设施要求较高,当应用领域具有很多相似特性时性价比不高。与之相比较,本发明基于反射技术构建具有自适应特性的工具架构,使得架构仅通过重配置就能适应领域建模的需求变化,为实现工具重构提供了一种新的可行方案。
运用开放实现原理设计的软件系统具有良好的适应性,通过将基界面(功能界面)与元界面(实现策略选择界面)相分离,开放实现使得系统可以有针对地暴露接口改变内部的部分实现策略以及行为,以满足不同应用环境下的功能需求。
附图说明
图1示出元建模平台中的工具和语言;
图2示出基于元建模技术定制建模工具的流程;
图3示出基于反射技术定制建模工具的顶层结构;
图4示出元类包;
图5示出模型元素包;
图6示出元行为包;
图7示出工具重配置文档对概念模型及其相关特性的描述示例。
具体实施方式
下面结合附图和具体实施例对本发明提供的一种建模工具及其反射式重构方法进行详细描述。
现有技术中,提出基于元建模技术的工具重构方法,其基本思路:既然建模工具可以用于描述软件应用系统、并通过自动化手段生成软件产品,以支持软件应用系统的快速开发;那么,将建模工具本身作为应用,也可以设 计对建模工具进行建模的工具,即元建模工具。从语言的角度而言,建模工具以建模语言为规范并描述模型,元建模工具以元建模语言为规范并描述元模型。
元建模平台中的工具、语言以及它们之间的关系如1所示。建模语言以及元建模语言均由语义、表示法两个部分构成,用于对工具的语义对象系统、图元对象系统进行规范。元建模语言的语义采用了MOF2.0,建模语言的语义(即元模型)由元建模工具描述。元建模语言、建模语言的表示法都可通过表示法定义工具进行描述,该工具基于表示法定义语言描述图元、并将图元与语义进行绑定,也可视为一个可视化建模工具。
在该框架下,对领域建模工具进行定制的方法如图2所示,其中,代码模版管理部分用于编辑和管理代码模版。代码模版库中的代码模版用于把特定的模型转换为指定的代码。把元模型作为输入,代码生成部件基于代码模版为工具生成元模型相关的程序代码。代码维护与集成部件负责维护代码并把代码与预制的插件相集成,直至产生可执行的建模工具。
以下描述基于反射技术的工具重构方法。反射是系统的一种对自身进行推理和作用的能力,是开放实现的一种行之有效的技术手段。引入反射技术设计一个具有自适应特性的工具架构,使得工具的模型描述、表示和操作部分可通过重配置进行调整,是支持工具重构的一个可行思路。
本发明的实施例将描述体系对抗、虚拟样机、编队作战指挥三个建模领域。但本发明的建模工具的重构方法不仅适用于上述三个建模领域。其中,建模工具均支持复杂系统多视图、多粒度建模方法;多视图表现为提供多个角度、对系统进行刻画和展示,并能建立各个视图之间的相互关联和映射;多粒度表现为能有效表达系统的层次性,支持模型的组合性、复合性,实现不同层次、不同粒度模型的互操作和重用。
针对设计阶段以及面向用户的特点,工具均提供了业务视图、开发视图、 部署视图三个正交的设计空间;业务视图面向领域专家,用于描述业务知识;开发视图面向软件开发人员,基于面向对象的思想实现领域模型至软件元素的映射、抽象和封装;部署视图面向系统实现人员,用于将系统分解为进程、组件两个层次,并基于应用需求、软件资源重用的考虑,进行领域模型的部署。以该建模方法为指导,仅业务视图中的内涵会因领域而异:体系对抗建模关注武器装备以及装备之间的装配、编组、通信关系等;虚拟样机建模关注系统的组成、内部接口关系等;编队作战指挥系统建模关注战位、战位之间的指挥信息流程及逻辑等。
针对不同的应用领域,工具的界面风格、操作模式、建模流程以及一些框架性的功能(如文档存储与管理、操作回溯、基于模型库的模型重用、模型查询与导航)相对稳定,相关软件实现可以固化;而业务视图中概念模型的差异,使得工具的设计需要在以下方面进行定制:
1)模型的描述:为各种类型的模型提供对知识进行抽象的数据结构表示。
2)模型信息的录入与验证:提供人机界面支持模型信息的录入,并根据语义上的约束进行验证。
3)模型的组织:均采用模型资源树的形式对模型进行组织,需要提供具有领域特色的模型分类机制、排序规则。
4)模型的表示:提供的模型可视化图符应具有专业特色。
5)模型的操作:模型元素与用户的交互模式,即操作入口、方式、过程、目的需要进行定制。
基于反射技术的工具重构方法
反射(Reflection)技术是提高软件适应性的有效方案之一,一般地,反射是一种计算系统能监控自己状态并能改变自身运行方式的一种能力。也就是说,基于反射的软件通过某种方式来实现对自己行为的描述和观察,并能根据自身行为的状态和结果,调整或修改所描述行为的状态和相关的语义。通常, 基于反射的系统实现时在体系结构表现为分层系统,其中最低层称为基本层,它通常由与应用有关的软件对象构成;除此之外的层称为元层,多个元层构成了反射塔。元层由元对象(Meta-Object)构成,其提供的访问接口协议称为元对象协议(Meta Object Protocol,MOP)。
因果关联(causally connected)和系统自描述(self-representation)是反射的两个基本特征之一。所谓因果关联是指对反射系统自描述的改变能够立即反映到系统底层的实际状态和行为,反之亦然。换句话说,即底层的状态或行为与上层的描述具有一致性和相互关联性。根据这种一致性,一个反射系统的工作过程可以描述为:基本层对象为实现应用功能而开始运行活动,其运行活动被元层对象捕获(trap),导致计算上下文切换到元层(这个过程称为上行活动:shift-up action),元对象根据其运行逻辑将元计算结果反过来作用和影响基本层的对象,上下文再次切换到基本层(这个过程称为下行活动:shift-down action)。
运用反射技术设计面向对象的软件系统,包括:
1)基于软件系统的功能和潜在的变化需求,抽象分离出基界面和元界面。基界面用于实现系统功能,对软件系统的共性部分进行抽象;元界面用于对基界面上的某些结构、行为进行自述,并可通过某种机制进行自适应调整。
2)基于面向对象的方法分别对基界面和元界面进行封装。
3)确定元界面的自适应策略,即通过何种方式实现对元界面对象及对象数据的修改。
4)确定基界面对象与元界面对象之间的关联模式,定义实现计算活动在两个界面上进行上行、下移的接口以及策略。
因为反射系统所具有的开放特性,本发明引入反射技术来设计工具的架构;通过对模型的描述、表示、数据录入与验证、组织、操作几个方面进行自述,并基于因果关联机制实现相关结构和行为的自适应。工具架构的设计思路为:
1)在基界面上,对具有不同功能职责的模型元素进行抽象,形成一个稳定的核心概念系统;模型元素构成了工具的基对象集。
2)在元界面上,通过模型域描述模型元素在应用域中的具体类型、信息结构以及语义约束,使得模型元素种类的扩展可以不受限制,且使得在高的抽象层次上实现模型信息的录入与验证成为可能;通过具有不同功能职责的元行为执行体来执行各种类型的元计算,元计算的结果将作用到模型元素的标识特性、组织特性、可视化特性以及操作模式。模型域、元行为执行体构成了工具的元对象集。
3)一个模型元素绑定一个模型域,一个模型域挂接多个元行为执行体,实现基对象与元对象的关联。模型元素的某些软件计算,如获得默认标识、创建可视化图元、判断操作是否合理、判断操作目的等,需要通过模型域、交由相应的元行为执行体捕获并执行;为了便于扩展,基对象与元对象之间的通信采用统一的接口形式。
4)引入元类机制对对象类型、结构进行自述,并提供类型识别、动态创建、复制、序列化等基础服务。
5)通过工具重配置文件对元界面进行定制。重配置文件描述了工具所支持的模型域以及其挂接的元行为执行体,工具启动时被加载,元界面的对象被实例化;文件中,每个模型域对象还需映射一个模型元素类标识,当属于该域的模型创建时,通过该标识查找得到模型元素的元类对象,通过该元类对象动态创建一个模型元素,并将其与模型域对象进行绑定。
在上述技术方案中,针对工具在概念模型上的潜在变化需求,合理地抽象出由模型域、元行为执行体构成的元界面对其进行描述;元界面中的对象及对象数据可通过配置进行定制,从而使得在不需要改动代码的情况下、实现工具在概念模型上的重构;因而,基于反射的工具架构具有良好的适应性。方案的实现采用了两种反射模型:元类机制中,元类与对象之间的关系属于元类反射模型;模型元素与模型域之间的关系属于元对象反射模型。
基于反射技术的工具架构
图3给出了工具架构的顶层结构,由四个包组成,分别是元类包(MetaClass)、模型元素包(ModelingItem)、元行为包(MetaBehavior)和图形包(Shape),其中:1)元类包(MetaClass):用于实现软件对象的自描述,通过类型描述、属性描述、对象实例注册等经典手段,其一,提供类型识别、动态创建、对象管理等基础服务;其二,为在高的抽象层次实现对象初始化、复制、序列化、数据可视化等涉及对象类型识别、属性线形映射的行为提供可能。2)模型元素包(ModelingItem):基于黑箱实现原理,在基界面上对模型元素的特性和行为进行抽象;其组成为核心概念模型。3)元行为包(MetaBehavior):基于开放实现原理,在元界面上对模型元素的特性和行为进行抽象;其组成为模型域及元行为执行体。4)图形包(Shape):矢量图元实现模块,用于支持模型信息的可视化表示。
元类包如图4所示,包括:1)元类信息(MetaClassInfo):封装了类型标识、属性信息、对象实例信息以及动态创建对象的入口,内部通过元类实例的树状关联建立类型识别网。2)属性信息(AttributeInfo):封装了属性的名称、相对地址、数据类型、属性类型(基本、扩展、家族成员)、大小、聚合信息;对象属性信息的自述使得可以在高的抽象层次上实现对对象属性的操作(如拷贝、序列化、可视化)。3)聚合信息(AggregateInfo):用于描述属性聚合的类型(静态实例、动态实例),以及静态实例模式下聚合的数量。4)对象基类(BaseObject):提供类型识别、对象复制、元类信息获取、序列化等基础服务,并提供事件处理的多态入口;将其纳入元类包,是为了使元类包成为一个完整的、可重用于多应用领域的、支持对象自描述机制的通用基础开发包;它是应用层、具有自描述特性的所有对象的基类。5)对象序列化(ObjArchive):一个抽象类,提供读取类型信息、读取对象、写入类型信息、写入对象的虚接口;应用层的序列化操作体现为内存中对象数 据与终端数据之间的线性映射,典型终端数据如文件中的二进制或格式化数据、网络数据包、中间件数据包、显示数据等;根据具体应用及交换协议,序列化模块需要从其派生,接口实现需要具体化。
模型元素包
根据模型元素的功能职责进行进一步抽象,可得到如图5所示的模型元素包。模型元素包与其外界的关系体现为:模型元素派生于对象基类,以获得元类支持;模型元素与模型域绑定,并通过元行为包提供的元行为执行接口触发元计算;语义元素可关联多个图元元素,而图元元素与视图之间为一种组成关系。
1)模型元素(ModelingElement):泛指与建模任务相关的软件对象;分为可视化元素、分类元素、视图三大类。模型元素具有可标识特性,内部提供树状数据结构支持模型元素的自组织,并通过一个动态指针(ModelParas)存储模型信息的字段值。其一个主要的抽象任务是,在基界面上实现模型元素的显示(至模型资源树)、标识修改、删除(基于引用技术实现)、创建操作菜单、查看详细信息、创建子节点元素、聚焦、执行拖放操作等功能,这种实现表现为提供功能执行的入口、将功能执行的逻辑流程以固定的策略实现,而功能执行过程中部分参数、逻辑条件、输出行为的确定则是基于反射机制实现,即需要提交给元界面执行元计算获得。此外,重载于对象基类的事件响应函数(DoEvent),用于接收以下三类消息:来自窗口模块的用户操作、来自元界面的消息、服务于模型元素通信目的的消息。模型元素存在两种角色识别问题,即软件对象领域中的对象类型识别、应用领域中的模型类型识别,前者从元类包获得支持、后者从元界面中的模型域中获得支持。
2)标识(ObjIdentify):包含主标识、辅助标识。主标识用于保证模型元素的唯一性,且由于主标识可能需要映射至可执行软件资源中的有效标识,因而有严格的词法规范、不能为空;而辅助标识可根据用户喜好定义,目的 是使用户能够更好的理解模型元素。
3)目录(Folder):用于实现分类目的的辅助元素。
4)视图(Diagram):进行模型信息可视化表示的图纸,是图元元素的载体。
5)语义元素(SemiElement):模型语义的载体,可进一步分解为模型实体、关联两种类型;语义元素通过可视化的手段可在多个视图中借助图元元素表达模型信息,因而可关联多个图元。
6)模型实体(ModelingEntity):泛指设计与建模各个阶段,用户所关注的对象;如作战指挥流程建模领域中的战位、体系对抗建模领域中的装备和平台、软件开发视图中的类和包、部署视图中的组件和进程等;设计与建模的过程体现为定义模型实体、描述其语义、刻画它们之间的关联关系。
7)关联关系(Association):用于表达模型实体之间的某种二元关联关系,如作战指挥流程建模领域中战位之间的信息交联关系、体系对抗建模领域中装备间的装配关系、软件开发视图中类型之间的派生关系等。
元行为包
元行为包提供了对概念模型进行自表示的数据结构,并通过这些数据结构支持元计算,其组成如图6所示。工具选择实现策略的过程,即为元行为包中对象实例化的过程,实例化信息来源于工具重配置文件。
1)模型域(ElementDomain):模型域的域名属性用于在应用域中对模型进行角色分类,采用这种方式,而非通过软件对象模版进行分类,使得工具在理论上可支持对任意类型的模型元素进行建模;模型域关联了一个模型元素的软件类模版标识,使得由该对象模版创建的模型元素能与该模型域建立映射,进而使得在基界面上触发元行为成为可能;模型域通过聚合ModelPara(模型参数),来描述模型的信息结构及语义约束;模型域挂接了多个元行为执行体,即各种MetaBehavior类型的实例,去分别承担不同类别 的元计算任务;当模型域通过ExcuteMetaBehavior接口捕获到一个元计算请求时,遍历元计算执行体,将请求及其参数传递给执行体执行,执行体根据参数flag(行为标志类型枚举量)判断职责归属,执行元计算并将结果返回;一个元计算只可能被一个执行体捕获,实现策略为:当元计算被某个执行体捕获执行后,将通过返回值截断剩余执行体的元计算执行请求。
2)模型参数(ModelPara):描述模型的某个属性字段,包括名称、数据类型、偏移地址、大小、聚合信息、语义约束。
3)语义约束(SemaConstriant):对模型某个属性字段的值进行约束,目前支持值约束(ValueConstraint)、对象引用约束(RefConstraint)两种类型;前者给出值区间,后者给出可作为引用关系的模型元素的域类型。
4)元行为类型(BahaviorType):枚举元界面支持的元计算类型,每一种元计算类型映射了一种开发实现的策略。
5)元行为(MetaBehavior):所有元计算执行体的基类,提供执行元计算的虚接口;目前,工具支持三种元计算执行体,分别用于调整模型元素的标识特性、模型资源树节点特性、可视化特性。
6)标识特性(IdentifyProp):描述模型元素的默认标识前缀以及标识的唯一性策略。该执行体负责执行获得默认标识(GetDefaultIdf)、标识有效性检测(IsIdentifyValid)两个元计算。
7)模型资源树节点特性(TreeItemProp):该执行体对模型资源树上模型元素节点的表现形式、支持的操作类型进行定制,负责的元计算包括是否上显(GetIsDisplayTreeItem)、获得图标资源(GetTreeItemIcon)、获得显示排序优先级(GetTreeItemSortIdx)、是否允许删除(GetCanDelete)、是否允许修改标识(GetCanEditLable)、是否允许查看细节(GetCanViewDetail)、可创建的子节点元素(GetPossibleChildItems)、拖放操作类型判断(TestDraggingType)。
8)拖放操作特性(DraggingProp):描述模型元素可能的拖放目的端域 类型以及拖放操作的行为类型(部署、归类等)。
9)可视化特性(VisualProp):挂接多个可视化条目信息,用于描述模型元素在不同视图下的图元特征。负责的元计算为创建图元(CreateDrawShape),当执行该元计算时,通过其中的视图域类型参数找到匹配的可视化条目,创建与视图匹配的图元。
10)可视化条目信息(VisualItemInfo):关联一个视图类型、一个图元工厂,以描述一种模型元素在某个视图下的唯一图元表现形式。
11)图元工厂(DrawShapeFactory):图元工厂基类,封装了标识、位置信息,提供创建图元的虚接口;目前,工具系统支持四种图元工厂:矩形(RectShapeFactory)、文本(TextShapeFactory)、连接线(LinkShapeFactory)、复合(CompositeShapeFactory)。
应用实例分析
基于上述的技术思路和软件实现方案,设计得到了面向多领域的反射式建模工具SIMDEMO。SIMDEMO是支持MDA的建模仿真平台SIMFaster的一个子工具,用于支持分布式仿真领域的系统建模,并辅助生成运行于HRFW中间件环境下的仿真应用的软件制品。目前,通过重配置体系,SIMDEMO已在体系对抗、虚拟样机、编队作战指挥三个领域的可视化建模中得到应用。SIMDEMO所支持的概念模型,公共部分包括:信息、事件、总线、交互关系、类、包、继承关系、组件、成员、部署关系等;体系对抗专属的包括:装备性能、实体、代理、装配关系、搭载关系、指控关系等;虚拟样机、编队作战指挥专属的包括:子系统、台位、功能、信息流程逻辑等。限于篇幅,仅以编队作战指挥系统中的台位为例,给出工具重配置文档中对概念模型及其相关特性的描述示例,图7的工具重配置文档对概念模型及其相关特性的描述示例
最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本 技术方法进行限制,本发明在应用上可以延伸为其他的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。
Claims (14)
1.一种基于反射技术的建模工具,包括元类包、模型元素包、元行为包和图形包,其特征在于,所述元类包用于实现软件对象的自描述,通过类型描述、属性描述、对象实例注册来提供包括类型识别、动态创建、对象管理的基础服务,并且用于在高抽象层次实现对象初始化、复制、序列化、数据可视化的涉及对象类型识别、属性线形映射的行为;所述模型元素包用于基于黑箱实现原理在基界面上对模型元素的特性和行为进行抽象;所述元行为包用于基于开放实现原理在元界面上对模型元素的特性和行为进行抽象;所述图形包包括矢量图元实现模块,用于支持模型信息的可视化表示。
2.根据权利要求1所述的建模工具,其特征在于,所述元类包包括:元类信息,封装类型标识、属性信息、对象实例信息以及动态创建对象的入口,其中通过元类实例的树状关联建立类型识别网;属性信息,封装属性的名称、相对地址、数据类型、属性类型、大小、聚合信息;聚合信息,用于描述属性聚合的类型,以及静态实例模式下聚合的数量;对象基类,用于提供包括类型识别、对象复制、元类信息获取、序列化的基础服务,并提供事件处理的多态入口;对象序列化,用于提供读取类型信息、读取对象、写入类型信息、写入对象的虚接口。
3.根据权利要求1所述的建模工具,其特征在于,所述模型元素派生于对象基类,以获得元类支持;模型元素与模型域绑定,并通过元行为包提供的元行为执行接口触发元计算;语义元素可关联多个图元元素,图元元素与视图之间为一种组成关系。
4.根据权利要求1所述的建模工具,其特征在于,所述模型元素包包括:模型元素,指与建模任务相关的软件对象;包括可视化元素、分类元素、视图;标识,包含主标识、辅助标识,主标识用于保证模型元素的唯一性,辅助标识根据用户喜好定义,用于用户理解模型元素;目录,用于实现分类目的的辅助元素;视图,进行模型信息可视化表示的图纸,是图元元素的载体;语义元素,是模型语义的载体,包括模型实体、关联,语义元素通过可视化手段在多个视图中借助图元元素表达模型信息,关联多个图元;模型实体,指设计与建模各个阶段,用户所关注的对象,设计与建模的过程体现为定义模型实体、描述其语义、刻画它们之间的关联关系;关联关系,用于表达模型实体之间的二元关联关系。
5.根据权利要求4所述的建模工具,其特征在于,所述模型元素具有可标识特性,内部提供树状数据结构支持模型元素的自组织,并通过一个动态指针存储模型信息的字段值;模型元素包括软件对象领域中的对象类型识别、应用领域中的模型类型识别。
6.根据权利要求1所述的建模工具,其特征在于,所述元行为包提供对概念模型进行自表示的数据结构,并通过这些数据结构支持元计算,包括:
模型域,用于在应用域中对模型进行角色分类,支持对任意类型的模型元素进行建模;模型参数,描述模型的某个属性字段;语义约束,对模型某个属性字段的值进行约束;元行为类型,枚举元界面支持的元计算类型,每一种元计算类型映射了一种开发实现策略;元行为,所有元计算执行体的基类,提供执行元计算的虚接口;标识特性,描述模型元素的默认标识前缀以及标识的唯一性策略;模型资源树节点特性,该执行体对模型资源树上模型元素节点的表现形式、支持的操作类型进行定制;拖放操作特性,描述模型元素可能的拖放目的端域类型以及拖放操作的行为类型;可视化特性,挂接多个可视化条目信息,用于描述模型元素在不同视图下的图元特征;可视化条目信息,关联一个视图类型、一个图元工厂,以描述一种模型元素在某个视图下的唯一图元表现形式;图元工厂,用于封装标识、位置信息,提供创建图元的虚接口。
7.根据权利要求6所述的建模工具,其特征在于,所述模型域通过聚合模型参数,描述模型的信息结构及语义约束;模型域挂接了多个元行为执行体,分别承担不同类别的元计算任务。
8.根据权利要求6所述的建模工具,其特征在于,所述模型资源树节点对模型资源树上模型元素节点的表现形式、支持的操作类型进行定制,负责的元计算包括是否上显、获得图标资源、获得显示排序优先级、是否允许删除、是否允许修改标识、是否允许查看细节、可创建的子节点元素、拖放操作类型判断。
9.根据权利要求6所述的建模工具,其特征在于,所述可视化特性负责创建图元,当执行该元计算时,通过其中的视图域类型参数找到匹配的可视化条目,创建与视图匹配的图元。
10.一种建模工具的重构方法,包括:
步骤10)、在基界面上,对具有不同功能职责的模型元素进行抽象,形成稳定的核心概念系统;模型元素构成建模工具的基对象集;
步骤20)、在元界面上,通过模型域描述模型元素在应用域中的具体类型、信息结构以及语义约束,使得模型元素种类的扩展不受限制,且使得在高的抽象层次上实现模型信息的录入与验证;
步骤30)、一个模型元素对应绑定一个模型域,一个模型域挂接多个元行为执行体,实现基对象与元对象的关联;引入元类机制对对象类型、结构进行自述,并提供包括类型识别、动态创建、复制、序列化的基础服务;
步骤40)、通过工具重配置文件对元界面进行定制。
11.根据权利要求10的方法,其中,步骤20)还包括:通过具有不同功能职责的元行为执行体来执行各种类型的元计算,元计算的结果将作用到模型元素的标识特性、组织特性、可视化特性以及操作模式。
12.根据权利要求10的方法,其中,步骤30)还包括:模型元素的软件计算通过模型域并交由相应的元行为执行体捕获并执行;其中,基对象与元对象之间的通信采用统一的接口形式。
13.根据权利要求10的方法,其中,步骤40)还包括:重配置文件描述工具所支持的模型域以及其挂接的元行为执行体,工具启动时被加载,元界面的对象被实例化;文件中,每个模型域对象映射一个模型元素类标识,通过该标识查找模型元素的元类对象,通过该元类对象动态创建模型元素,并将其与模型域对象进行绑定。
14.根据权利要求13的方法,其中,步骤40)中,根据工具在概念模型的变化需求,抽象出由模型域、元行为执行体构成的元界面对其进行描述;元界面中的对象及对象数据通过配置进行定制,使得在不需要改动代码的情况下实现工具在概念模型上的重构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100415218A CN102103504A (zh) | 2011-02-21 | 2011-02-21 | 一种反射式建模工具及其重构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100415218A CN102103504A (zh) | 2011-02-21 | 2011-02-21 | 一种反射式建模工具及其重构方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102103504A true CN102103504A (zh) | 2011-06-22 |
Family
ID=44156298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100415218A Pending CN102103504A (zh) | 2011-02-21 | 2011-02-21 | 一种反射式建模工具及其重构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102103504A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426528A (zh) * | 2011-09-15 | 2012-04-25 | 中国船舶重工集团公司第七○七研究所 | 一种导航定位接收机内核程序在线更新方法 |
CN102436370A (zh) * | 2011-08-12 | 2012-05-02 | 北京思创银联科技股份有限公司 | 一种动态枚举的方法 |
CN102662963A (zh) * | 2012-03-08 | 2012-09-12 | 北京神州数码思特奇信息技术股份有限公司 | 一种元设施扩展方法及模块 |
CN103513976A (zh) * | 2012-06-29 | 2014-01-15 | 中兴通讯股份有限公司 | 业务流程建模方法及装置 |
CN105630472A (zh) * | 2014-11-03 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 制造执行系统客户端快速开发框架及其软件开发方法 |
CN106933137A (zh) * | 2015-12-21 | 2017-07-07 | 罗伯特·博世有限公司 | 用于保障至少一个手持工具机的使用的方法 |
CN106970971A (zh) * | 2017-03-23 | 2017-07-21 | 中国人民解放军装备学院 | 改进型中心锚链模型的描述方法 |
CN108762731A (zh) * | 2018-05-21 | 2018-11-06 | 中国电力科学研究院有限公司 | 一种通用领域模型全景可视化方法与系统 |
CN112166429A (zh) * | 2018-06-11 | 2021-01-01 | Abb瑞士股份有限公司 | 暴露的信息模型与应用的集成中具有降低复杂度的系统和方法 |
CN112445462A (zh) * | 2020-11-16 | 2021-03-05 | 北京思特奇信息技术股份有限公司 | 基于面向对象设计的人工智能建模平台和方法 |
CN112988124A (zh) * | 2021-05-10 | 2021-06-18 | 湖南高至科技有限公司 | 多视图平台无关模型系统 |
CN113508403A (zh) * | 2019-03-11 | 2021-10-15 | Abb瑞士股份有限公司 | 用于自动化系统组件与多个信息源的可互操作通信的系统和方法 |
CN116931889A (zh) * | 2023-09-18 | 2023-10-24 | 浙江工企信息技术股份有限公司 | 一种基于对象树的软件建模方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794170A (zh) * | 2005-12-29 | 2006-06-28 | 吉林大学 | 一种基于统一建模语言的电信领域建模工具及建模方法 |
US20090288068A1 (en) * | 2008-05-13 | 2009-11-19 | Facton Gmbh | Domain model concept for developing computer applications |
-
2011
- 2011-02-21 CN CN2011100415218A patent/CN102103504A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794170A (zh) * | 2005-12-29 | 2006-06-28 | 吉林大学 | 一种基于统一建模语言的电信领域建模工具及建模方法 |
US20090288068A1 (en) * | 2008-05-13 | 2009-11-19 | Facton Gmbh | Domain model concept for developing computer applications |
Non-Patent Citations (1)
Title |
---|
温玮等: "面向领域的仿真设计建模工具SIMDEMO", 《北京航空航天大学学报》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436370A (zh) * | 2011-08-12 | 2012-05-02 | 北京思创银联科技股份有限公司 | 一种动态枚举的方法 |
CN102426528A (zh) * | 2011-09-15 | 2012-04-25 | 中国船舶重工集团公司第七○七研究所 | 一种导航定位接收机内核程序在线更新方法 |
CN102662963A (zh) * | 2012-03-08 | 2012-09-12 | 北京神州数码思特奇信息技术股份有限公司 | 一种元设施扩展方法及模块 |
CN103513976A (zh) * | 2012-06-29 | 2014-01-15 | 中兴通讯股份有限公司 | 业务流程建模方法及装置 |
CN103513976B (zh) * | 2012-06-29 | 2018-06-12 | 中兴通讯股份有限公司 | 业务流程建模方法及装置 |
CN105630472B (zh) * | 2014-11-03 | 2019-12-24 | 中国科学院沈阳自动化研究所 | 制造执行系统客户端快速开发框架及其软件开发方法 |
CN105630472A (zh) * | 2014-11-03 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 制造执行系统客户端快速开发框架及其软件开发方法 |
CN106933137A (zh) * | 2015-12-21 | 2017-07-07 | 罗伯特·博世有限公司 | 用于保障至少一个手持工具机的使用的方法 |
CN106933137B (zh) * | 2015-12-21 | 2022-01-14 | 罗伯特·博世有限公司 | 用于保障至少一个手持工具机的使用的方法 |
CN106970971B (zh) * | 2017-03-23 | 2020-07-03 | 中国人民解放军装备学院 | 改进型中心锚链模型的描述方法 |
CN106970971A (zh) * | 2017-03-23 | 2017-07-21 | 中国人民解放军装备学院 | 改进型中心锚链模型的描述方法 |
CN108762731A (zh) * | 2018-05-21 | 2018-11-06 | 中国电力科学研究院有限公司 | 一种通用领域模型全景可视化方法与系统 |
CN112166429A (zh) * | 2018-06-11 | 2021-01-01 | Abb瑞士股份有限公司 | 暴露的信息模型与应用的集成中具有降低复杂度的系统和方法 |
CN113508403A (zh) * | 2019-03-11 | 2021-10-15 | Abb瑞士股份有限公司 | 用于自动化系统组件与多个信息源的可互操作通信的系统和方法 |
CN113508403B (zh) * | 2019-03-11 | 2024-05-10 | Abb瑞士股份有限公司 | 用于自动化系统组件与多个信息源的可互操作通信的系统和方法 |
CN112445462A (zh) * | 2020-11-16 | 2021-03-05 | 北京思特奇信息技术股份有限公司 | 基于面向对象设计的人工智能建模平台和方法 |
CN112988124A (zh) * | 2021-05-10 | 2021-06-18 | 湖南高至科技有限公司 | 多视图平台无关模型系统 |
CN112988124B (zh) * | 2021-05-10 | 2021-07-30 | 湖南高至科技有限公司 | 多视图平台无关模型系统 |
CN116931889A (zh) * | 2023-09-18 | 2023-10-24 | 浙江工企信息技术股份有限公司 | 一种基于对象树的软件建模方法及系统 |
CN116931889B (zh) * | 2023-09-18 | 2023-12-12 | 浙江工企信息技术股份有限公司 | 一种基于对象树的软件建模方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102103504A (zh) | 一种反射式建模工具及其重构方法 | |
EP1573524A2 (en) | Model-based composable code generation | |
Fernandes et al. | Modeling industrial embedded systems with UML | |
Wehrmeister et al. | GenERTiCA: A tool for code generation and aspects weaving | |
Volgyesi et al. | Component-based development of networked embedded applications | |
Nascimento et al. | A model-driven infrastructure for developing product line architectures using cvl | |
Gibson | Formal object oriented development of software systems using LOTOS | |
Zhu et al. | Ontology-driven integration of CAD/CAE applications: strategies and comparisons | |
Riccobene et al. | Integrating the SysML and the SystemC-UML profiles in a model-driven embedded system design flow | |
Ananieva et al. | Model-driven consistency preservation in automationml | |
Lin et al. | Digital Twin Core Conceptual Models and Services | |
Visconti et al. | Model-driven design of city spaces via bidirectional transformations | |
Alexakos et al. | Adaptive manufacturing utilizing ontology-driven multi-agent systems: Extending Pabadis' Promise approach | |
Kimour et al. | Deriving objects from use cases in real-time embedded systems | |
Subburaj et al. | A formal specification language for modeling agent systems | |
Hassane et al. | Process enactment with traceability support for nfv systems | |
Tao et al. | Model Based Methodology and Framework for Design and Management of Next-Gen IoT Systems. | |
Giret et al. | Towards a recursive agent oriented methodology for large-scale MAS | |
Celicourt et al. | An IEEE 1451.0-based platform-independent TEDS creator using open source software components | |
Bjornestad | A research programme for object-orientation | |
Utkucu et al. | A novel BIM platform paradigm for the building erformance domain | |
Adel et al. | Semantic mapping of ADLs into MDA platforms using a meta-ontology | |
VISCONTI | On model-driven design of city spaces. A bidirectional transformations approach to city spaces design and operations | |
Yacoub | Pattern-oriented analysis and design (POAD): A methodology for software development | |
Jong | Transformation from OntoUML models to the OpenAPI Specification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110622 |