EAST-ADL
型号:MetaEdit+
价格:电话咨询
产地:芬兰
MetaEdit+ 介绍
MetaEdit+是一个特定领域建模(DSM)[1]环境,它可以直接进行建模语言设计,包括概念、规则、符号等,并以元模型的方式储存在MetaEdit库中,MetaEdit+使得公司能够从根本上提高开发效率。
简单来说,通过从模型中直接产生全部代码,MetaEdit+为你提供了一个从根本上改善生产率和质量的手段。第一步,你使用MetaEdit+的Workbench设计建模语言;第二步,其他开发人员使用你设计好的语言在MetaEdit+的Modeler中建模。如图1所示。
MetaEdit+ 的Workbench是一个构建属于你自己的建模语言的工具,包括概念,规则,符号语言和生成器,并且无需编写一行代码。语言定义存储在MetaEdit+的知识库中。通常针对特定领域的专业或专家级开发者,你需要一个Workbench的使用许可。
MetaEdit+ 的Modeler追随给定的建模语言定义,并自动提供完整的建模工具功能支持,包括框图编辑器,浏览器,生成器,多用户支持等。你的整个团队可以立即开始编辑设计图形图, 根据你的需要,矩阵或表视图之间切换。你可以浏览与过滤器的设计,应用组件,你的模型链接到其他设计,并检查你的模型与各种预定义的或用户定义的报告。对于使用你设计好的建模工具的产品开发人员来说,每个人需要一个使用许可。
MetaEdit+的特点有:
(1)支持基于GOPPRR[2]模型可视化地建立领域元模型,具有元模型的数据仓库(Repository);MetaEdit+支持基于GOPPRR模型可视化地建立特定领域的元模型。MetaEdit+可以直接进行建模语言的设计,包括概念、规则、符号等,并以元模型的方式储存在MetaEdit库中。MetaEdit+的核心是对象存储库,它包含了MetaEdit+所有信息,包括语言定义、图、矩阵、对象,属性,甚至字体选择等等,用户可以直接使用元模型库中的对象。
因此,对系统设计进行修改,MetaEdit+会自动反映,以保证信息的一致的。同样,报告和代码生成直接基于信息存储在存储库中。
(2)提供模型编辑器(Modeler)支持基于建立的领域元模型支持图形化领域模型的建立;MetaEdit +提供完整的建模工具支持建立特定领域的元模型。你的整个团队可以根据你的需要,立即开始编辑设计图形图, 矩阵或表视图之间切换。你可以浏览设计过滤器,应用组件,你的模型链接到其他设计,并与各种预定义或用户定义的报告,检查你的模型。你可以发布设计领域专用的建模语言web或文字处理软件, 或者为你的产品生成完整代码。
图1 建模语言设计与使用
(3)MetaEdit+支持检查模型的一致性,分析模型,联系,创建数据字典,产生文档,生成代码,或配置信息和模型导出到其他程序,比如模拟器、版本管理、外部连接器等先进的脚本命令允许你打印不同格式的设计,处理一些输出文件,调用外部程序和访问你的操作系统的全部功能命令。工具支持本地电脑资源管理,同时软件可与其他软件进行集成,对各种数据、视图、流程图等进行资源管理。
进一步解释MetaEdit+的组件使用功能或概念如下:
1.启动MetaEdit+的Workbench,准备构建你自己的(特定领域)建模工具。如图1所示。
1.1.定义特定领域概念
语言的开发由定义你的建模语言概念开始。依据你所在的领域,概念由需要产生的输出,由使用的产品组件,由产品的架构,由产品线的特性,等等,而来。之后MetaEdit+自动将你的领域概念变成建模语言,提供领域概念和规则给本领域相关的开发人员。实际应用表明,在模型中使用特定领域概念可以10倍提高生产率,让你使用专属建模语言的实践具有非常高的性价比。
图2 在Workbench中定义概念和在设计中使用概念
利用MetaEdit+的元模型开发工具开发DSM语言即方便又快速。工具完成了最艰苦的工作,而你则可以集中精力设计符合你所在领域的模型语言上。通过填充表格或利用图形定义,你建立起你所在特定领域语言的概念及其与它们相关的属性和规则。
1.2.选择规则
你的领域里包含了重多关于概念如何被识别和如何彼此连接的规则。基于GOPPRR的元模型建模语言,MetaEdit+从你可以挑选的规则里辨别它们。之后,甚至在开发人员还在使用你的语言的时候,你也可以改变规则。MetaEdit+自动为使用MetaEdit+的开发人员更新模型和发布领域规则。
图3 挑选规则
MetaEdit+在模型内部和模型之间识别规则。对于一个模型语言你可以定义它的概念是如何与其它概念联系的,以及每个实例之间可以有多少联系。比如你可以定义,一个“初始状态”实例可以只有一个触发链接,以及这个实例必须发送同样的通知事件到最少2个地方。这个类型的规则会强迫所有使用MetaEdit+的开发人员为“初始状态”建立正确的定义。
不同的建模语言可以与规则的爆炸,分解以及各种规模的可重用的建模概念集成在一起。比如,一个爆炸规则可以说领域概念“产品特性”可以有一个或多个说明它的行为的状态图。(Different modeling languages can be integrated with rules of explosions, decompositions and reusable modeling concepts of various sizes.)
1.3.画符号
领域语言的概念,它们的连接和配套的规则都是用符号来表示的。你仅仅需要画符号,之后它们完整的图形表现就自动有了。
使用Symbol Editor可以方便的勾画图形表示,它包括你熟悉的标准图形程序里的形状和工具。你可以选择不同的形状,颜色,线条宽度,字体风格,文字环绕,对齐,导入图形文件等。图形元素可以符号元素可以是有条件的属性值,并可以显示由产生器计算出的值,允许动态的图形行为。常用的符号或符号的部分可以存储在符号库中供再利用。
图4 画符号
1.4.制作产生器
捕捉你领域的模型可以有不同的用途。对于MetaEdit+来说,你可以制作检查模型一致性的报告,生成度量指标,分析模型链接,创立数据字典,产生文档,生成代码,或者给其他程序,如仿真器,版本管理,外部求解器等,使用的配置信息和外部模型。高级脚本命令允许你以各种格式打印设计,操作输出到多个文件,调用外部程序,并全权获取你的操作系统命令。
MetaEdit+的Generator Editor可以定制报告和自定义报表。使用Generator Editor,你可以选择以什么格式输出你所编写的设计数据的哪些部分。这个定义的报表之后就可以根据此格式,在你的各种设计模型中使用来生成用户自己的报告。产生器也可以被Generator Debugger测试和调试。
Make generators Run them on your designs
图5 制作产生器
1.5.开始使用你的语言
MetaEdit+即刻把你的领域语言和生成器交付给你团队中的开发人员。创建的开发工具支持你的建模语言,按你想要的方式生成你的代码,并遵循你的标准生成文件。它与你现有的应用程序开发环境集成:读取配置数据,引用组件库,启动模拟器和运行外部解算器。你的其他工具可以访问MetaEdit+设计模型,并将它与其他环境集成在一起。MetaEdit+不是一个轻巧的绘图工具:它是一个纯正的多用户、多项目的建模环境,可在所有主要平台上运行。
即使开发人员正在使用你的语言,你也可以对它进行更改。MetaEdit+会阻止你对语言做出灾难性的改变,并立即更新现有的模型,单不会破坏性地来反映变化。语言的交付和模型更新对于使用MetaEdit+的开发人员而言是隐形的。
图6 使用你自己的建模语言
下一步,看看MetaEdit+完整的建模工具功能
2.MetaEdit+ Modeler——支持你的建模语言
MetaEdit+为多用户、多项目提供完整的建模工具功能支持,并可在所有主要平台上运行。它会从库中检索自动遵循在MetaEdit+ Workbench中定义的建模语言。参见图1。
MetaEdit+为你的语言提供完整的建模工具支持。你的整个团队可以立即开始使用图形,矩阵或图表编辑你的设计,根据您的需要在视图间切换。您可以利用过滤器浏览你的设计,运用组件,将您的模型与其他设计链接,并用各种预定义的或用户定义的报告检查您的模型。你可以用你的特定领域建模语言,以网页或字处理器,或以生成产品完整代码的形式,发布你的设计。你可以拥有你想要的工具,因为是你负责的。
2.1.Diagram Editor——使用框图进行可视化建模
Diagram Editor是一个用于创建、管理和维护框图设计信息的工具,其框图的高级特性像有在多重图中重用元素,复制粘贴选项,和模型重构和替换工具。它支持图形可视化建模和通过爆炸、分解和可重用的组件连接多个图形。您可以重用您的设计,在不同阶段和层次链接设计模型,以及导出到其他,像Web浏览器、图像浏览者和文本编辑器,等工具中去。
图7 使用框图进行可视化建模
图表编辑器支持多种设计动作:
对元模型建模编辑时检查建模操作
复制和粘贴
粘贴特殊选项
管理模型层次结构和其他相互关联的图表
元素可以在多个图表(以及矩阵和表格)中重用
可以使用选择工具浏览、选择和重用元素
使用Replace工具重构模型
矩阵和表格可视为图表(反之亦然)
所有设计信息都可以通过鼠标点击从属性对话框和属性表中访问
可以使用预定义的报告检查模型,也可以生成自己的检查报告
可以将设计与文档生成一起发布到web或文字处理器中
可以使用预定义的特定于域的生成器生成代码
通过有关建模技术、其组件、报告和其他技术链接的帮助文本支持建模
图表编辑器具有查看和格式化图表的所有功能:
从工具栏中选择创建的对象和关系
符号的缩放大小
显示重叠和透明的符号
设置网格并使用对齐网格
自动布局
缩放图
将图表导出到剪贴板、PNG、GIF和PICT文件
将图表打印到多页
超文本功能的在线帮助
2.2.矩阵编辑器
利用矩阵进行可视化建模
矩阵编辑器将设计信息作利用矩阵处理,矩阵的两个轴包含对象,矩阵中的单元格显示它们的关系。它提供了矩阵操作的所有功能,例如对角化、排序、子系统分解、各种查看选项以及标准对象和关系的创建和编辑。
矩阵编辑器支持多种设计动作:
根据元模型在编辑时检查建模操作
矩阵可以对角化和排序
轴和单元中的矩阵和元素可以被分解或分解成其他图
所有设计信息都可以通过鼠标点击从属性对话框中访问
复制和粘贴
粘贴特殊选项
元素可以在多个矩阵(以及图表和表格)中重用
可以使用选择工具浏览、选择和重用元素
使用Replace工具重构模型
图表可以看作矩阵(反之亦然)
可以使用预定义的报告检查模型,也可以生成自己的检查报告
可以将设计与文档生成一起发布到web或文字处理器中
可以使用预定义的特定于域的生成器生成代码
通过有关建模技术、其组件、报告和其他技术链接的帮助文本支持建模
矩阵编辑器具有查看和格式化矩阵的功能:
查看和隐藏矩阵中的元素
自动化矩阵格式
支持不同字体
在矩阵中显示和隐藏符号或文本规范
将矩阵导出为ASCII(将矩阵粘贴到电子表格中的标签分开)和HTML
打印矩阵
在线超文本工具帮助
2.3.表格编辑器
表格,表单和文本建模
表格编辑器是一个工具,用于根据设计信息提供表格或基于表格的视图。它为您提供了一种以紧凑形式查看对象的简单方法,对于早期开发状态下的数据输入尤其实用。
表格编辑器支持多种设计活动:
可以使用组件选择工具浏览、选择和重用组件
可以使用信息工具检查和导航设计信息之间的连接
图表和矩阵中的对象可以视为表格
表中列出的对象可以使用不同的选项进行排序
表中的对象可以分解或分解为其他图形
所有设计信息都可以通过鼠标点击从属性对话框中访问
可以使用预定义报告或自己的检查报告检查模型
设计可与网页或文字处理器的文档生成一起发布
代码可以从设计中生成到C++、SimalTalk、Java、CORBA IDL、Delphi、SQL和其他用户定义语言中
语言支持提供有关建模技术、其组件、报告和其他技术链接的帮助
表编辑器具有查看和格式化表的功能:
查看和隐藏选定列
自动列宽设置
支持不同字体
将表格导出为ASCII(将表格粘贴到电子表格中的标签分开)和HTML
打印表格
图形和超文本功能的在线帮助
2.4.浏览器
MetaEdit+为查看和编辑存储库内容提供了几种浏览器。类型浏览器既可用于处理建模语言,也可用于处理图形及其元素。图形浏览器为您提供了基于层次结构的图形视图:您可以在基于分解或爆炸的层次结构之间进行选择,并访问每个图形的设计元素。元模型浏览器显示建模技术及其包含的语言组件。
使用浏览器你可以:
创建和管理项目
查看来自不同项目的设计或语言信息(元模型)
根据语言类型浏览图形和设计信息
使用过滤器浏览图形和设计信息
在编辑器中打开图形
使用信息工具检查和导航图形和设计元素
运行和创建用于检查、记录和生成代码的报告
访问所有设计信息的属性对话框
参考文献:
[1]、特定域建模(Domain-specific modeling,DSM),是一种设计和开发系统(如电脑软件)的软件工程方法学。它系统使用图形化特定域语言(DSL),表现系统的各个方面。DSM的语言倾向于支持比通用建模语言更高级别的抽象,因此需要较少的努力和更少的底层细节来描述特定系统。
特定域建模(DSM)往往还包括代码生成的想法:直接从DSM模型自动创建可执行源代码。摆脱手工创建和维护源代码,意味着DSM可以显著提高开发人员的工作效率。与手工编码相比,自动生成的代码比较可靠、生成的程序可减少缺陷从而提高质量。
DSM不同于1980年代的CASE工具生成代码尝试或90年代的UML工具。两者的代码生成器和建模语言都是由工具供应商建立。工具供应商建立DSM语言和生成器是有可能的,并且在一个组织内出现DSM是比较正常的情况。一个或几个专家开发者创造了建模语言和生成器,其他开发者使用它们。
由某一组织来建立建模语言和生成器,可以使它们严格符合其确切的域和需要。由于可以使用熟悉的术语和概念,也减少了开发者学习建模语言所需的时间。最后,由于只有一个组织的需求需要考虑,因此建模语言响应领域的变化是比较容易的。
DSM语言通常可以涵盖特定领域的一系列抽象。例如,手机DSM语言可以让用户指定用户界面的高级抽象,以及存储数据的低级抽象,如电话号码或设置。同样,金融服务DSM语言可以允许用户指定客户的高级抽象,以及实现股票和债券交易算法的低级抽象。
[2]、GOPPRR:是单词Graph Object Property Port Role Relationship的缩写。每种类型都称为元类型。GOPPRR元类型可以描述如下:
Graph 图:对象、关系、角色和它们的绑定的集合,用于显示关系通过哪些角色连接哪些对象。图还维护有关其元素分解的图的信息。
Objects 对象:是一个元素,它可以独立放置在图形中。对象的例子比如电子表的按钮、状态和属于电子表应用或类的操作,以及属于UML类图的对象。对象的所有实例都支持重用功能,即现有的对象可以通过使用Add现有函数在其他图形中重用。
Property 属性:是与其他类型(如名称、标识符或说明)关联的描述或限定特征。
Port 端口:是角色可以连接到的对象的特定部分的可选规范。通常,角色直接连接到对象,并且连接的语义由角色类型提供。如果希望给定的角色类型能够连接到具有不同语义的对象上的不同位置,可以将端口添加到对象的符号。例如,放大器对象可能有一个用于模拟输入的端口、一个用于数字输入的端口和一个模拟输出端口。连接到每个角色的角色将具有不同的语义。端口是为对象类型定义的,并且所有实例都共享这些端口。
Relationship 关系:是两个或多个对象之间的显式连接。关系通过角色附加到对象。Role 角色:指定对象如何参与关系,它们指定转换任一端的对象如何参与关系。同样,在继承关系中有两种角色:祖先和后代。
版权所有© yeerichtek.北京怡然瑞丰科技有限公司
地址:北京市昌平区回龙观镇北京骏一人工智能产业园一层1021室