startuml动态模型工具_UML建模三个工具: StarUML ,Telelogic TAU 和 Rose

UML建模软件目前用的主要有3种:

商业版本:Telelogic TAU 和 Rational Rose

开源版本:StarUML

Telelogic TAU与Rational Rose的功能很强,但是需要买License。

StarUML就是希望能提供和TAU/Rose一样功能的开源版本。

目前使用起来还是不错的。

能熟练使用其中一个是软件设计人员的基本功。

1 先看Telelogic TAU:

telelogic tau

Telelogic Tau SDL Suite主要用于协议的设计、描述、验证及实现,支持图形化的SDL编辑、在线仿真和验证、代码自动生成、MSC(消息顺序图)编辑及测试用例(test case)自动生成等。SDL Suite由以下几部分组成:

SDL Editor SDL编辑器,支持图形化的SDL编辑,同时提供一个在线检查的分析器,可以立即标出编辑中的静态语法和语义错误。

SDL Simulator SDL仿真器,支持在开发环境下进行SDL系统的仿真运行,仿真结果可自动生成MSC。仿真器还可以自动穷举搜索SDL系统的所有路径,保证系统的每一个状态都是可达的。

SDL Validator SDL验证器,结合MSC验证系统行为是否与需求描述一致。

SDL Translator 代码自动生成器,支持三种代码生成:第一种是无限制的C代码生成器,支持一般的C和C++代码生成;第二种是优化的C代码生成器,支持小型嵌入式系统的优化代码生成,能满足这种系统对代码效率、最小内存和高性能的要求;第三种是CHILL代码生成器。由于在仿真和验证阶段使用的代码与最后生成的代码是相同的,这就保证了测试系统与实际运行系统的一致。

MSC Editor MSC编辑器,支持图形化的MSC编辑。

SDL Suite还支持与实际目标环境的集成。它包含一个运行库,提供SDL系统与环境打交道的源代码,支持多种操作系统,开发者可以在单任务、多任务和分布式系统之间进行选择。自动生成的代码加上指定操作系统的运行库源代码,经过合适的C编译器编译连接,即可在实际环境中运行。

Telelogic Tau TTCN Suite可以作为通信协议的测试集生成工具,支持协议一致性测试。 TTCN Suite提供给测试工程师强大的TTCN编辑器、句法分析器和编译器,可将测试方案转化为C代码,在测试设备上运行。

Telelogic Tau还提供了从SDL系统设计和MSC直接生成TTCN测试集的功能。

Telelogic Tau3.0是Telelogic的支持uml2.0的建模工具,同时提供了模型验证(Model Verifier),代码生成(code generator)。这是个欧洲公司,据说已经有14年的业内经验了。那个时候uml的版本还是负的2.0吧。

1.Uml建模

比较容易使用。

最重要的是,它对模型的要求比较严格。比如序列图中的对象或者消息,必须是已经定义的。否则会出错的。这样严格应该是为了代码生成和模型验证吧。

Tau3.0有一种特殊的图,叫做text图,一般来说是一个类的方法的实现。在text 图里面有一个action symbol,就是一个类似输入框的东西,在里面可以写代码。但是代码不是要用tau的语言来写的,不是c,也不是java。在状态机图中,也可以画action symbol。另外。还有一个图形元素叫做text symbol,也可以写代码。

为了及早检查出错误,tau有自动和手动check功能。跟ide里类似,比如函数名没定义,变量没定义等等。手动检查,可以在要检查的元素上按右键选择,或者使用快捷键f8。

好像没有timing图支持。

2.模型验证

这个应该是很多工具不具备的。

就是在uml模型上执行。要想进行模型验证和代码生成,至少需要类图和状态机图。序列图活动图,和用例图不被使用,其他图根据需要有可能被使用。需要的图和代码生成一样。

说是验证,实际上就是把模型生成可执行代码,执行。在uml模型上,能看到执行的过程等。基本的debug机能都有,step in ,step out 等,还有break point ,代码覆盖率统计的。比较不错,第一次看到时惊奇了一把。

3.代码生成

能生成c,c++,java代码。并且能编译成可执行文件。

还能生成telelogic的面向嵌入式系统的agile c。

这次我做的是生成agile c和c代码。

基本上生成的代码不可读,不可调试,里面很多宏定义,在uml建模时候的变量名,生成之后也变得乱七八糟的了。

我们设计主要集中在业务领域,通过signal和外部联系。当然内部也有signal通信了。

主函数是uml kernel提供的,不停的去检测外部环境进来的signal。默认的性能比较差,什么都不干cpu就在95%以上。

4.其他

其它也提供了一些不错的东西,比如TestingProfile,启用了这个插件,就能建立各种test case 了。而且test case 是基于序列图和状态图的,基本也不用编码,只需要画图。一组test case 建立在test context之中,这个context执行后,会生成一个xml格式的报告。

2 下面看看Rational Rose:

Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值