EA问答:如何复用模块建模

2014-11-21 火龙果
问题:如何将一个通用的模块定义为一个可复用的模型资源,避免反复建模

提问者: 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

阅读 663 50
最新活动计划
[北京] 大型互联网架构设计高级实践
[北京] 互联网时代的产品经理 1-16
[北京] 多层次集成配置管理 1-19
[北京] 软件架构设计案例与实践
[北京] UML与面向对象分析设计
[北京] Java编程基础与网页开发基础
[上海] 基于OpenStack构建云 1-18
[上海] 互联网产品思维 1-15
[上海] 大型互联网架构设计高级实践
[深圳] HTML5开发框架PhoneGap开发
[深圳] 基于UML和EA系统分析设计(特惠)
 
火龙果微信号 uml_net_cn

每天新内容
欢迎订阅


挨踢也要爱生活