问题:如何将一个通用的模块定义为一个可复用的模型资源,避免反复建模
|
提问者: Sean. 胡端刚
单 位:华为技术有限公司 Huawei Technologies Co., Ltd.
问题描述:
我们在进行硬件建模的过程中,对EA的应用又遇到两个问题
1、如何将一个通用的模块定义为一个模型?
例如下图,这个模块是一个很通用的公共模块(CBB),我们不希望每次设计分析的时候都去重新分析和绘制一次,希望可以把它做成一个类似与Tools工具栏里面的模型,可以随时调用,这个不知道是否有办法。
我摸索下EA的帮助,发现将Package导出和导入可以重用,但是实际上还是将原有的内容复制了一份,感觉有些累赘;也尝试了将已有的设计Paste Element(s) as Link,这个方法还可以,但是只能在同一个文档内重用,不知道是否有更好的方法,比如说跨文档的Link?
2、在1的基础上更进一步,可重用但是内部有些许差异的模块如何通过EA来表述?
如上图所示,公用模块1(CBB1)和公用模块2(CBB2)实际上设计绝大部分是一样的,仅内部有些许的实现上的差异,CBB1中使用了Res,CBB2使用了Cap。我们希望硬件引用模块图的时候,应用的模块名称都叫CBB,这个不知道如何实现模型。
这个应用方式其实和软件的虚函数差不多,class Base有一个V1的虚函数,class Imp1和Imp2都继承自Base,但是都有自己的V1实现方式。
软件的实现方式我也上网查了一下,好像没有看到模型建立的相关方法,一般都是通过下图所示的关系(箭头)来描述,这个方式来描述硬件的模型看起来不太直观和形象,因为软件在做继承的时候,可能不需要关心其他的Function具体实现了什么功能,只要参数和返回符合要求就可以,但是硬件在分析模块的时候还是需要注意其他模块图的实现。
|
解 答:
Dermot(Sparx公司)提供方法, 俎涛(火龙果)翻译、实验并成稿
|
有2个方法可以解决:
1)作为一个自定义的模式,复用模式资源。
2)使用SysML的类和部件(parts)。
方法1)模式的操作方法:
1. 打开要作为模式的设计图,在菜单选择 Diagram | Advanced | Save Diagram as UML Pattern,把模式保存为一个xml文件.
2. 按下Alt + 6 打开资源窗口, 在UML Patterns 项目下,右键菜单选择 Import UML Pattern,选择刚才导出的模式文件导入.
3. 导入后就可以在模式资源树上拖动模式到图上,就像在工具栏上拖动图标一样.
模式提供一组元素的复用,但是他们不允许继承.
方法2)SysML的操作方法:
附件是一个step by step的SysML示例文件.
2种方法都是有用的,但是使用SysML的方法应该更合适。
|
|
相关工具: |
http://tool.uml.com.cn/ToolsEA/introduce.asp |
相关课程: |
基于UML和EA进行系统分析设计与建模 |
基于SysML和EA进行系统设计与建模 |
相关咨询: |
http://consult.uml.com.cn/uml.asp |
|
阅读 3643
75
|
|
|
|
|