CN101303649B - 建模语言图形表示法的生成方法和装置 - Google Patents
建模语言图形表示法的生成方法和装置 Download PDFInfo
- Publication number
- CN101303649B CN101303649B CN2008101153174A CN200810115317A CN101303649B CN 101303649 B CN101303649 B CN 101303649B CN 2008101153174 A CN2008101153174 A CN 2008101153174A CN 200810115317 A CN200810115317 A CN 200810115317A CN 101303649 B CN101303649 B CN 101303649B
- Authority
- CN
- China
- Prior art keywords
- symbol
- information
- handled
- modeling
- language
- 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.)
- Active
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种建模语言图形表示法的生成方法和装置,统计图形化建模语言中的图形符号中的形状出现的频率和数量信息,得到基本图元信息;对所述基本图元信息通过布局策略处理得到建模元素的图形符号信息;将所述图形符号信息和图形符号之间的基本位置关系信息,通过抽象语法桥的语法映射处理,得到建模语言的抽象语法信息,从而可以有效地为每个建模元素分别生成自己的图形符号;生成不同建模元素的图形符号之间的各种位置关系;将图形符号以及图形符号之间的位置关系映射到建模语言的抽象语法上。
Description
技术领域
本发明涉及一种建模语言表示法的生成方法和装置,尤其是一种建模语言图形表示法的生成方法和装置。
背景技术
模型驱动的体系结构(Model Driven Architecture,简称MDA)是国际对象管理组织提出的一套以模型为核心的软件开发技术和方法。当前,MDA在产业界已经得到极大的关注,并有一些产品出现。在MDA中,模型取代代码成为软件开发的核心制品,软件开发的整个过程都是以模型为指导进行的。在应用MDA进行软件开发的过程中,建模是一项非常重要的活动。建模是一项对现实世界进行抽象、建立相应模型的活动。要进行软件开发,首先要在不同的抽象层次上建立各种模型,然后通过相应的技术对模型进行各种变换和调整,直到最终产生源代码。鉴于上述情况,需要不断地生成一系列的针对特定领域的建模语言,并产生相应的建模工具。一些通用的建模语言,例如统一建模语言(Unified Modeling Language,简称UML)在一定程度上可以满足建模需求,然而,在一些领域中还存在大量无法满足的建模需求,特别是,领域不断地发展变化,所需要的建模语言随之也不断地变化。然而,生成建模语言和产生建模工具是非常复杂的工作,需要消耗大量的人力和时间。为了提升生成建模语言和产生建模工具的效率,人们提出了元建模技术。元 建模是一项生成建模语言并产生建模工具的活动,即为建模语言建模的活动。图11为现有技术中元建模流程图,如图11所示,具体可以包括如下步骤:
步骤111、利用工具中提供的元建模语言信息生成目标建模语言的抽象语法信息;
步骤112、生成目标建模语言的具体语法信息;
步骤113、描述目标语言的语义信息;
步骤114、生成相关的工具配置信息,设置一些选项信息;
步骤115、根据上述信息,利用代码生成技术或其他方式,生成目标建模工具。
其中,步骤111~113用于生成目标语言本身,步骤114~115用于生成相应的建模工具。
在元建模的过程中,生成目标建模语言的抽象语法和具体语法是非常重要的步骤。目标建模语言的抽象语法规定了这种语言的抽象结构,通常使用元类和它们之间的关系表示抽象语法。目标建模语言的具体语法规定了这种语言的具体表现形式,也称为表示法。具体语法可以是文字式的,也可以是图形化的。图形化的具体语法称为图形表示法。
近年来,图形建模语言成为发展的主流,如何在元建模过程中更好地生成图形表示法成为了一个重要的问题。生成建模语言的图形表示法不是一个简单的绘图过程。一方面,建模语言的图形表示法是一种图形化的语法,包括一定的规则和语义;另一方面,表示法和抽象语法之间存在紧密的联系,需要建立表示法和抽象语法之间的映射。在生成抽象语法时,目前已有一些可以参考的标准和规范,然而,如何生成表示法,目前没有一个统一的标准或方法。
较为常见的生成图形表示法的一种方法是使用位图。在这种方法中,元建模人员使用位图生成表示法,即为每个建模元素指定一个位图文件,用位图文件中的图片作为建模元素的图形符号信息,使用线条表示建模元素之间的关系信息。例如,The Generic Modeling Environment(简称GME)是一款较为成熟的元建模工具,可以通过导入位图来生成表示法,除此之外,还可以生成某些图形符号之间的嵌套关系。然而,发明人在本发明过程中发现,使用位图的表示法生成图形表示法存在一些不足。位图虽然可以由元建模人员创建和修改,但是位图毕竟是一种静态资源,使得建模工具无法通过这种静态资源反应更多的模型信息。例如,在GME中,建模元素的图形符号除了能够通过位图的种类反映建模元素的类型和通过在位图下方增加一行文字反映建模元素的名字之外,无法提供更多的建模信息。
生成图形表示法的另外一种方法是利用简单的绘图工具生成表示法,指的是,元建模工具中集成一个简单的绘图工具,元建模人员可以使用这个工具来手工绘制建模元素的图形符号。由于所有的图形符号都是在建模工具中绘制出来的,所以在绘制过程中可以将建模元素的某些信息绑定到图形符号上。此时,建模工具记录的不是绘图的结果,而是绘图过程,也称这种图为矢量图。在建模工具中,这些绘制过程会被重视,而那些绑定的信息会根据具体的实例被动态地显示出来。例如,MetaEdit+是一款元建模工具,它使用了一个简单的绘图工具来生成表示法。在构建表示法后,MetaEdit+导入目标建模语言的信息,把二者结合起来,使用表示法进行图形化建模。然而,发明人在本发明过程中发现,这种方案存在一些缺点,由于绘图的过程依赖个人的喜好和绘画水平,想绘制出人们惯用的图形符号需要较高的技巧,而且,这种方法不利于产生相应的建模工具。
发明内容
本发明所要解决的技术问题是:为每个建模元素分别生成自己的图形符号;生成不同建模元素的图形符号之间的各种位置关系;将图形符号以及图形符号之间的位置关系映射到建模语言的抽象语法上。
一种建模语言图形表示法的生成方法包括:
统计图形化建模语言中的图形符号中的形状出现的频率和数量信息,得到基本图元信息;
将所述基本图元信息通过布局策略处理得到建模元素的图形符号信息;所述布局策略处理包括:将多个所述基本图元按照预设方式进行组合;
将所述图形符号之间的基本位置关系信息和图形符号信息,通过抽象语法桥的语法映射处理,得到建模语言的抽象语法信息;所述抽象语法桥的语法映射处理包括:将所述图形符号之间的基本位置关系或图形符号,映射到目标语言的某个建模元素。
所述基本图元信息具体可以包括:几何图形信息,或文本对象信息,或图片对象信息。
所述布局策略处理具体包括:
容器模式布局策略处理,将一个块状基本图元作为容器,即父图元,子图元在容器中按一定顺序排列;
或者关联模式布局策略处理,将线状父图元与其他形状子图元组合在一起;
或者矢量图模式布局策略处理,将子图元按照各自的逻辑位置和尺寸分布在父图元内部,父图元按照自己的实际位置和尺寸以及子图元的逻辑位置和尺寸计算子图元的实际位置和尺寸,计算公式为:
x=px+pw×cx…(1)
y=py+ph×cy…(2)
w=pw×cw…(3)
h=ph×ch…(4)
其中,x,y是子图元的实际坐标,w,h是子图元的实际宽度和高度;px,py父图元的实际坐标,pw,ph是父图元的实际宽度和高度;cx,cy是子图元的逻辑坐标,cw,ch是子图元的逻辑宽度和高度。
所述按一定顺序排列具体包括:按从上而下排列,或者从左到右依次排列,或者依方向顺序依次排列。
所述将线状父图元与其他形状子图元组合在一起具体包括:将子图元作为线端点的修饰与线状父图元组合在一起,或者将其他形状子图元排列在线状父图元的周围。
所述布局策略处理依据各种参数计算子图元的位置和大小。
所述图形符号之间的基本位置关系信息具体包括:
嵌套位置关系,用于表示块状图形符号嵌套在另一个块状图形符号内部,内层图形符号随着外层图形符号的移动而移动,但不会随着外层图形符号的变形而变形;
或者连接位置关系,用于表示线状图形符号的附着端附着在一个块状图形符号的边界上,其一端随着块状图形符号的移动和变形而移动,另一端不变化;
或者端口附着位置关系,用于表示一个块状图形符号附着在另一个块状图形符号的边界上,而且附着的块状图形符号在被附着的块状图形符号的边界上移动,随着被附着的块状图形符号的移动和变形而移动,附着的块状图形符号的大小不随着被附着块状图形符号的大小变化而变化;
或者结点附着位置关系,用于表示块状图形符号附着在水平或者垂直的线状图形符号上,块状图形符号只能在线状图形符号上移动,线状图形符号的延展不会影响块状图形符号的大小,但会导致块状图形符号的移动;
或者线端点附着位置关系,用于表示线状图形符号的一端附着在另一个线状图形符号上,附着的线状图形符号的附着端在被附着的线状图形符号上移动。
所述抽象语法桥的语法映射处理具体包括:
元素映射处理,将源端的一个图形符号映射到目的端的目标语言的某个建模元素;
或者属性映射处理,将源端的一个图形符号映射到目的端的建模元素的某个属性值;
或者关系映射处理,将源端的图形符号之间的基本位置关系映射到目的端的建模元素之间的关系。
所述属性映射处理隶属于所述元素映射处理,限定在属性映射处理中出现的建模元素和图形符号。
一种建模语言图形表示法的生成装置,包括:
基本图元处理模块,用于统计图形化建模语言中的图形符号中的形状出现的频率和数量信息,得到基本图元信息;
布局策略处理模块,用于对所述基本图元信息通过布局策略处理得到图形符号信息;所述布局策略处理包括:将多个所述基本图元按照预设方式进行组合;
语法映射处理模块,用于根据图形符号之间的基本位置关系信息和所述图形符号信息,通过抽象语法桥的语法映射处理,得到抽象语法信息;所述抽象语法桥的语法映射处理包括:将所述图形符号之间的基本位置关系或图形符号,映射到目标语言的某个建模元素。
采用本发明描述的建模元素的图形符号更具有针对性,因为本发明使用的基本图元和布局策略都是根据真实的建模语言图形表示法生成的,因此本发明能够用于生成绝大部分的图形符号,同时使得基本图元和布局策略比较精简,方便工具的实现;进一步地,本发明中的基本位置关系包括了建模语 言中最常见的五种位置关系,能够满足复杂建模语言的需要,而其他技术目前无法支持全部的五种位置关系;再一步地,本发明的语法映射处理可以明确地表示出表示法和抽象语法之间的三种映射关系,其他技术目前也无法描述全部的映射关系;最后,本发明将建模语言的表示法描述成模型,可以更好地生成建模工具的代码。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明建模语言图形表示法的生成方法实施例的流程图;
图2A、图2B和图2C为本发明建模语言图形表示法的生成方法实施例中容器模式布局策略处理示意图;
图3A和图3B为本发明建模语言图形表示法的生成方法实施例中关联模式布局策略处理示意图;
图4为本发明建模语言图形表示法的生成方法实施例中矢量图模式布局策略处理示意图;
图5为本发明建模语言图形表示法的生成方法实施例中基本图元和布局策略的元模型结构图;
图6A、图6B、图6C、图6D和图6E为本发明建模语言图形表示法的生成方法实施例中基本位置关系示意图;
图7为本发明建模语言图形表示法的生成方法实施例中图形符号之间的基本位置关系的元模型结构图;
图8为本发明建模语言图形表示法的生成方法实施例中抽象语法桥的元模型结构图;
图9为本发明建模语言图形表示法的生成方法实施例中生成建模语言图形表示法的元模型各个部分之间的关系示意图;
图10为本发明建模语言图形表示法的生成方法装置实施例结构图;
图11为现有技术中元建模流程图。
具体实施方式
建模语言图形表示法的生成方法实施例
图1为本发明建模语言图形表示法的生成方法实施例的流程图,如图1所示,具体可以包括如下步骤:
步骤11、统计图形化建模语言中的图形符号中的形状出现的频率和数量信息,得到基本图元信息;
步骤12、对所述基本图元信息通过布局策略处理得到建模元素的图形符号信息;
步骤13、将所述图形符号信息和图形符号之间的基本位置关系信息,通过抽象语法桥的语法映射处理,得到建模语言的抽象语法信息。
采用图1所示的技术方案,首先根据图形化建模语言中的图形符号中的形状出现的频率和数量信息得到基本图元信息,然后对所述基本图元信息进行布局策略处理得到图形符号信息,将所述图形符号信息和图形符号之间的基本位置关系信息通过语法映射处理映射到抽象语法信息。
在步骤11中,基本图元是一些常见的简单图形的抽象,是构造图形符号的最基本的元素。选取基本图元需要一定的策略,如果选取的图元数量过多,会造成整个元模型的规模过于庞大,增加工具实现和用户使用的难度;如果选取的图元数量过少,则导致用户无法生成足够的图形符号。所以统计图形 化建模语言中的图形符号中的形状出现的频率和数量信息,得到基本图元信息。该基本图元信息具体可以包括:几何图形信息,或文本对象信息,或图片对象信息。
采用步骤11所述的技术方案生成的基本图元信息是根据真实的建模语言图形表示法生成的,因此,能够用于生成绝大部分的图形符号,而且基本图元比较精简,方便建模工具实现。
在步骤12中,为了构造更加复杂的建模语言的图形符号,需要将基本图元组合起来,即布局策略处理。布局策略处理反映了基本图元之间的一种组合处理,多个基本图元按照一定的方式组合起来形成复杂的图形符号,参与组合的基本图元可以分为两种:父图元和子图元。一个父图元可以和多个子图元组合在一起,父图元依据不同的布局策略确定子图元的位置和尺寸。布局策略处理具体可以包括:
容器模式布局策略处理,图2A、图2B和图2C为本发明建模语言图形表示法的生成方法实施例中容器模式布局策略处理示意图,如图2A、图2B和图2C所示,将一个块状图元作为容器,即父图元,子图元在容器中按一定顺序排列。所述按一定顺序排列具体可以包括:如图2A所示,子图元在容器中按照从上到下的顺序排列,或者如图2B所示,子图元在容器中按照从左到右的顺序排列,或者如图2C所示,子图元在容器中按照方向顺序依次排列。
或关联模式布局策略处理,图3A和图3B为本发明建模语言图形表示法的生成方法实施例中关联模式处理示意图,如图3A和图3B所示,将线状图元作为父图元,和其他形状子图元组合在一起。所述将线状父图元与其他形状子图元组合在一起具体可以包括:如图3A所示,将一个图元作为线端的修饰和线状图元组合在一起,或者如图3B所示,将其他形状图元排列在线状图 元的周围。
或矢量图模式布局策略处理,图4为本发明建模语言图形表示法的生成方法实施例中矢量图模式处理示意图,如图4所示,将子图元按照各自的逻辑位置和尺寸分布在父图元内部,父图元按照自己的实际位置和尺寸以及子图元的逻辑位置和尺寸计算子图元的实际位置和尺寸,计算公式为:
x=px+pw×cx…(1)
y=py+ph×cy…(2)
w=pw×cw…(3)
h=ph×ch…(4)
其中,x,y是子图元的实际坐标,w,h是子图元的实际宽度和高度;px,py父图元的实际坐标,pw,ph是父图元的实际宽度和高度;cx,cy是子图元的逻辑坐标,cw,ch是子图元的逻辑宽度和高度。
采用步骤12所述的技术方案,布局策略处理比较精简,方便建模工具的实现。
图5为本发明建模语言图形表示法的生成方法实施例中基本图元和布局策略的元模型,如图5所示,图中抽象类Figure(基本图元)51是基本图元的抽象父类。Figure 51下有五个子类:Polygon(多边形)512、Ellipse(椭圆形)513、Arc(弧形)514、ImageObject511(图片对象)和TextObject(文本对象)515。Polygon 512表示多边形的基本图元;Ellipse 513表示椭圆形的基本图元;Arc 514表示弧线型的基本图元;ImageObject 511表示图片对象,该元素用于表示一个外部的图片资源;TextObject 515表示文本对象,该元素用于表示图形符号中的一段文字。Polygon 512又有三个子类:Triangle(三角形)5121、Diamond(菱形)5122和Rectangle(矩形)5123。Triangle 5121表示三角形的基本图元;Di amond 5122表示菱形的基本图元; Rectangle 5123表示矩形的基本图元。其中,Rectangle 5123又有两个子类CorneredRectangle(折角矩形)51231和RoundRectangle(圆角矩形)51232。CorneredRectangle 51231表示一个折角矩形的基本图元,RoundRectangle51232表示一个圆角矩形的基本图元。Ellipse 513包含一个子类,即Circle(正圆形)5131,表示正圆形的基本图元。Arc 514也只包含一个子类,即Line(直线形)5141,表示直线形的基本图元。图中的另一个抽象类Layout(布局策略)52是所有布局策略处理的抽象父类,它包含三个子类:抽象类ContainerLayout(容器模式布局策略)521、抽象类LineLayout(关联模式布局策略)522和类VectorGraphLayout(矢量图模式布局策略)523。ContainerLayout 521用于表示容器模式下的几种布局策略处理;LineLayout522用于表示关联模式下的几种布局策略处理;VectorGraphLayout 523用于表示向量图模式的布局策略处理。ContainerLayout 521有两个子类:FlowLayout(流程布局策略)5211和BorderLayout(边界布局策略)5212。FlowLayout 5211用于表示子图元按从上而下或从左到右依次排列;BorderLayout 5212用于表示子图元依方向顺序依次排列。LineLayout 522也有两个子类:DecorationLayout(修饰布局策略)5221和RoleLayout(排列布局策略)5222。DecorationLayout 5221表示将子图元作为线端点的修饰与线状父图元组合在一起,RoleLayout 5222表示将其他子图元排列在线状父图元的周围。图6A、图6B、图6C、图6D和图6E为本发明建模语言图形表示法的生成方法实施例中基本位置关系示意图,如图6A、图6B、图6C、图6D和图6E所示,图形符号之间的基本位置关系信息具体可以包括:
嵌套位置关系,如图6A所示,用于表示块状图形符号嵌套在另一个块状图形符号内部,内层图形符号随着外层图形符号的移动而移动,但不会随着 外层图形符号的变形而变形;例如UML类图中类的表示法之间的嵌套;
或连接位置关系,如图6B所示,用于表示线状图形符号的附着端附着在一个块状图形符号的边界上,其一端随着块状图形符号的移动和变形而移动,另一端不变化;例如UML类中关系的表示法对类的附着;
或端口附着位置关系,如图6C所示,用于表示一个块状图形符号附着在另一个块状图形符号的边界上,而且附着的块状图形符号只能在被附着的块状图形符号的边界上移动,随着被附着的块状图形符号的移动和变形而移动,附着的块状图形符号的大小不随着被附着块状图形符号的大小变化而变化;例如UML中端口(port)的画法;
或结点附着位置关系,如图6D所示,用于表示块状图形符号附着在水平或者垂直的直线线状图形符号上,块状图形符号在线状图形符号上移动,线状图形符号的延展不会影响块状图形符号的大小,但会导致块状图形符号的移动;例如UML顺序图中生命线(Lifeline)和执行规约(ExecuteSpecification)的画法;
或线端点附着位置关系,如图6E所示,用于表示线状图形符号的一端附着在另一个线状图形符号上,附着的线状图形符号的附着端在被附着的线状图形符号上移动;例如UML消息和生命线的画法。
本发明图形表示法的生成方法实施例中的基本位置关系包括了建模语言中最常见的五种位置关系,能够满足复杂建模语言的需要。
图7为本发明建模语言图形表示法的生成方法实施例中图形符号之间的基本位置关系的元模型结构图,如图7所示,图中抽象类LocationRelation(位置关系)71是基本位置关系的抽象父类。LocationRelation 71下有五个子类:NestedLocation(嵌套位置关系)711、NodeAttachedLocation(结 点附着位置关系)712、ConnectionLocation(连接位置关系)713、EndAttachedLocation(线端点附着位置关系)714和PortLocation(端口附着位置关系)715。NestedLocation 711表示块状图形符号之间的嵌套的位置关系;ConnectionLocation 713表示线状图形符号附着在块状图形符号上的位置关系;PortLocation 715表示一个块状图形符号附着在另一个块状图形符号的边界上的位置关系;NodeAttachedLocation 712表示一个块状图形符号附着在一个线状图形符号上的位置关系;EndAttachedLocation 714表示一个线状图形符号的端点附着在另一个线状图形符号上的位置关系。
建模语言的表示法和普通图形的最大区别在于它本身具有特定的约束和语义,因此在生成表示法的时候必须能够指明它所对应的抽象语法。在本发明图形表示法的生成方法实施例中,使用抽象语法桥来描述这种关系,抽象语法桥的语法映射处理具体可以包括:
元素映射处理,将源端的一个图形符号映射到目的端的目标语言的某个建模元素;
或者属性映射处理,将源端的一个图形符号映射到目的端的建模元素的某个属性值;
或者关系映射处理,将源端的图形符号之间的基本位置关系映射到目的端的建模元素之间的关系。
其中,所述属性映射处理隶属于所述元素映射处理,限定在属性映射处理中出现的建模元素和图形符号。
本发明图形表示法的生成方法实施例中的语法映射处理可以明确地表示出表示法和抽象语法之间的三种映射关系。
图8为本发明建模语言图形表示法的生成方法实施例中抽象语法桥的元 模型结构图,如图8所示,图中抽象类Bridge(语法映射桥)81是所有抽象语法桥的抽象父类。Bridge 81下有三个子类:ElementMapping(元素映射)811,用于表示元素映射处理;AttributeMapping(属性映射)812,用于表示属性映射处理;RelationshipMapping(关系映射)813,用于表示关系映射处理。
图9为本发明建模语言图形表示法的生成方法实施例中生成建模语言图形表示法的元模型各个部分之间的关系示意图,如图9所示,表示布局策略的抽象类Layout 52和表示基本图元的抽象类Figure 51之间存在一个组合关系,这表示父图元使用的布局策略。Figure 51到自身存在一个组合关系,这表示图元之间的组合关系。LayoutContraint 92和Layout 52之间存在一个关联,抽象类LayoutContraint(参数限制)92表示Layout 52使用的各种参数,包括:子图元的“对齐方式”(靠左,靠右,靠上,靠下,居中),“填充方式”(不填充,横向填充,纵向填充,全部填充),“排列方向”(横向,纵向),“放置位置”(东,南,西,北,中),“首选尺寸”,“附着端点”(源端,目标端),“接近端点”(源端,中点,目标端,自定义点),“逻辑位置”,“逻辑尺寸”,Layout 52以此来计算子图元的位置和大小。抽象类LocationRelation(基本位置关系)71表示图形符号模型之间的基本位置关系,因此LocationRelation 71和Figure 51之间存在两个关联,分别表示基本位置关系的源和目标。Figure 51和LocationRelation 71都是抽象类ConcreteSyntax(具体语法)93的子类,ConcreteSyntax 93表示具体语法中的元素,抽象类AbstractSyntax(抽象语法)91表示抽象语法的元素。表示抽象语法桥的Bridge 81定义了具体语法和抽象语法之间的映射,因此Bridge81分别与ConcreteSyntax 93和AbstractSyntax 91之间存在一个关联。
本发明建模语言图形表示法的生成方法实施例将建模语言的表示法描述成模型,可以更好地生成建模工具的代码。
建模语言图形表示法的生成装置实施例
图10为本发明建模语言图形表示法的生成装置实施例结构图,如图10所示,具体可以包括基本图元处理模块101、布局策略处理模块102和语法映射处理模块103。其中,所述基本图元处理模块101,用于统计图形化建模语言中的图形符号中的形状出现的频率和数量信息,得到基本图元信息;所述布局策略处理模块102,与所述基本图元处理模块101连接,用于对所述基本图元信息通过布局策略处理得到图形符号信息;所述语法映射处理模块103,与所述布局策略处理模块102连接,用于根据所述图形符号信息和图形符号之间的基本位置关系信息,通过抽象语法桥的语法映射处理,得到抽象语法信息。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种建模语言图形表示法的生成方法,其特征在于,包括:
统计图形化建模语言中的图形符号中的形状出现的频率和数量信息,得到基本图元信息;
将所述基本图元信息通过布局策略处理得到建模元素的图形符号信息;所述布局策略处理包括:将多个所述基本图元按照预设方式进行组合;
将图形符号之间的基本位置关系信息和所述图形符号信息,通过抽象语法桥的语法映射处理,得到建模语言的抽象语法信息;所述抽象语法桥的语法映射处理包括:将所述图形符号之间的基本位置关系或图形符号,映射到目标语言的某个建模元素。
2.根据权利要求1所述的建模语言图形表示法的生成方法,其特征在于,所述基本图元信息具体包括:几何图形信息,或文本对象信息,或图片对象信息。
3.根据权利要求1所述的建模语言图形表示法的生成方法,其特征在于,所述布局策略处理具体包括:
容器模式布局策略处理,将一个块状基本图元作为容器,即父图元,子图元在容器中按一定顺序排列;
或者关联模式布局策略处理,将线状父图元与其他形状子图元组合在一起;
或者矢量图模式布局策略处理,将子图元按照各自的逻辑位置和尺寸分布在父图元内部,父图元按照自己的实际位置和尺寸以及子图元的逻辑位置和尺寸计算子图元的实际位置和尺寸,计算公式为:
x=px+pw×cx…(1)
y=py+ph×cy…(2)
w=pw×cw…(3)
h=ph×ch…(4)
其中,x,y是子图元的实际坐标,w,h是子图元的实际宽度和高度;px,py是父 图元的实际坐标,pw,ph是父图元的实际宽度和高度;cx,cy是子图元的逻辑坐标,cw,ch是子图元的逻辑宽度和高度。
4.根据权利要求3所述的建模语言图形表示法的生成方法,其特征在于,所述按一定顺序排列具体包括:按从上而下排列,或者从左到右依次排列,或者依方向顺序依次排列。
5.根据权利要求3所述的建模语言图形表示法的生成方法,其特征在于,所述将线状父图元与其他形状子图元组合在一起具体包括:将子图元作为线端点的修饰与线状父图元组合在一起,或者将其他形状子图元排列在线状父图元的周围。
6.根据权利要求3所述的建模语言图形表示法的生成方法,其特征在于,所述布局策略处理依据各种参数计算子图元的位置和大小。
7.根据权利要求1所述的建模语言图形表示法的生成方法,其特征在于,所述图形符号之间的基本位置关系信息具体包括:
嵌套位置关系,用于表示块状图形符号嵌套在另一个块状图形符号内部,内层图形符号随着外层图形符号的移动而移动,但不会随着外层图形符号的变形而变形;
或者连接位置关系,用于表示线状图形符号的附着端附着在一个块状图形符号的边界上,其一端随着块状图形符号的移动和变形而移动,另一端不变化;
或者端口附着位置关系,用于表示一个块状图形符号附着在另一个块状图形符号的边界上,而且附着的块状图形符号在被附着的块状图形符号的边界上移动,随着被附着的块状图形符号的移动和变形而移动,附着的块状图形符号的大小不随着被附着块状图形符号的大小变化而变化;
或者结点附着位置关系,用于表示块状图形符号附着在水平或者垂直的线状图形符号上,块状图形符号只能在线状图形符号上移动,线状图形符号的延展不会影响块状图形符号的大小,但会导致块状图形符号的移动;
或者线端点附着位置关系,用于表示线状图形符号的一端附着在另一个线状图形符号上,附着的线状图形符号的附着端在被附着的线状图形符号上移动。
8.根据权利要求1所述的建模语言图形表示法的生成方法,其特征在于,所述抽象语法桥的语法映射处理具体包括:
元素映射处理,将源端的一个图形符号映射到目的端的目标语言的某个建模元素;
或者属性映射处理,将源端的一个图形符号映射到目的端的建模元素的某个属性值;
或者关系映射处理,将源端的图形符号之间的基本位置关系映射到目的端的建模元素之间的关系。
9.根据权利要求8所述的建模语言图形表示法的生成方法,其特征在于,所述属性映射处理隶属于所述元素映射处理,限定在属性映射处理中出现的建模元素和图形符号。
10.一种建模语言图形表示法的生成装置,其特征在于,包括:
基本图元处理模块,用于统计图形化建模语言中的图形符号中的形状出现的频率和数量信息,得到基本图元信息;
布局策略处理模块,用于对所述基本图元信息通过布局策略处理得到图形符号信息;所述布局策略处理包括:将多个所述基本图元按照预设方式进行组合;
语法映射处理模块,用于根据图形符号之间的基本位置关系信息和所述图形符号信息,通过抽象语法桥的语法映射处理,得到抽象语法信息;所述抽象语法桥的语法映射处理包括:将所述图形符号之间的基本位置关系或图形符号,映射到目标语言的某个建模元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101153174A CN101303649B (zh) | 2008-06-20 | 2008-06-20 | 建模语言图形表示法的生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101153174A CN101303649B (zh) | 2008-06-20 | 2008-06-20 | 建模语言图形表示法的生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101303649A CN101303649A (zh) | 2008-11-12 |
CN101303649B true CN101303649B (zh) | 2011-11-16 |
Family
ID=40113566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101153174A Active CN101303649B (zh) | 2008-06-20 | 2008-06-20 | 建模语言图形表示法的生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101303649B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103903290B (zh) * | 2014-04-10 | 2016-08-17 | 国家电网公司 | 一种基于坐标跳跃的图形排列组合的方法 |
CN104217306A (zh) * | 2014-09-23 | 2014-12-17 | 中国南方电网有限责任公司 | 一种基于结构化的全业务流程计算机建模方法 |
CN114138396B (zh) * | 2021-12-08 | 2023-03-24 | 中国建筑西南设计研究院有限公司 | 一种高效联动的数字化图形引擎实现方法及存储介质 |
-
2008
- 2008-06-20 CN CN2008101153174A patent/CN101303649B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101303649A (zh) | 2008-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239044B (zh) | 一种图形用户界面动态生成方法 | |
CN106898047B (zh) | 倾斜模型和多元模型动态融合的自适应网络可视化方法 | |
CN103873277B (zh) | 一种分层的网络拓扑可视化方法及系统 | |
US20180052593A1 (en) | Providing visual selection of map data for a digital map | |
CN103208225B (zh) | 一种瓦片地图制作方法及系统 | |
CN103984720B (zh) | 基于OpenGL的瓦片地图创建方法及装置 | |
CN104536743A (zh) | 基于安卓操作系统的地图标绘方法及系统 | |
CN107016170A (zh) | 一种基于WebGL的LED灯具三维定制仿真方法 | |
CN101751682B (zh) | 一种通用地图的制备方法 | |
JP2004506280A (ja) | イメージおよびイメージ遷移の表示 | |
JP2010504560A (ja) | デジタル地図上にグラフィック・オブジェクトを表示する方法およびシステム | |
CN102385515A (zh) | 一种基于Android系统的GO图像动画引擎 | |
CN101303649B (zh) | 建模语言图形表示法的生成方法和装置 | |
CN104391991B (zh) | 一种从AutoCAD数据到GIS空间数据的转换方法 | |
CN102004974B (zh) | 流程展现方法和装置 | |
CN103617247B (zh) | 用于cad系统的吸附式智能信息标注方法和装置 | |
KR101767230B1 (ko) | 플랜트 엔지니어링에 대한 3d cad 모델링 데이터의 통합관리 방법 | |
CN110764757B (zh) | 一种基于html5的交互式图形绘制引擎 | |
CN107248190A (zh) | 一种三维游戏引擎的场景图设计方法及系统 | |
CN108961406A (zh) | 地理信息可视化方法、装置及用户终端 | |
CN113744417B (zh) | 一种复杂节点模型的尺寸标注方法 | |
CN105867930A (zh) | 一种函数调用关系的显示方法、装置及终端 | |
CN109086515A (zh) | 基于svg的智能变电站ssd中一次设备绘图信息的建模方法 | |
CN103729878A (zh) | 一种基于wpf的三维图形实现方法及三维文字实现方法 | |
CN105740543A (zh) | 基于qml图形化的电力系统建模方法及建模系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |