Ruby 语言 思想驱动生活

April 4, 2007

Telelogic Tau3.0使用感受

Filed under: 技术 — liubin @ 23:12

上个月有机会用了一下Telelogic 的Tau3.0,说一下感觉。

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格式的报告。

No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.

Powered by WordPress