C++开发实战:UML Interpreter(1)-1加1等于2

在写介绍UML/EA的文章的时候,要不断的理解UML规范。随着理解的深入,感觉到模型提供的信息,应该是可以满足直接执行的要求的。比如下面的活动图:



有没有可能让上面的活动图直接执行呢?为了达成这个小目标,作者编了一段程序。姑且就叫它UML Interpreter吧。


使用方法大致如下:


首先根据UML图搭建C++对象构造,例如上面的活动图翻译成C++程序,就是下面这样。



代 码中出现的 InitialNode,ValueSpecificationAction,AddVariableValueAction,ActivityFinalNode,ControlFlow,ObjectFlow 等UML中的元素,本公众号中都有过介绍。如果有必要可以回头看看以前的文章。


上述代码执行后,得到下面的结果:



这里只是计算了1+1,在第10行也得到了正确的的结果:2.


当然,真正应用时并不需要输入代码构建UML模型,解析UML规范中的XMI文件就可以了。


在EA中输出XMI文件的方法如下:


【Project Browser】中选择对应package,然后打开上下问菜单选择【Import/Export】-【Export package to XMI file...】项目即可输出XMI文件。


上面的文件中包含我们需要的所有信息。


虽然目前只是计算了一个1+1=2,但是也可以计算2+2,如果你愿意再花几个小时的话,它也可以实现四则运算。但更加重要的是UML Interpreter提供了实现活动图的基本思路和扩展的平台,将来可以在此基础上增加其他的功能。


同时作者坚信:


只有真正去实现UML,才能更好的理解UML。


UMLInterpreter源代码可以从下面链接下载:

http://www.geocities.jp/weiguo_xue/20170507.zip


以上就是今天的文章,欢迎点赞,关注并推荐给您的朋友! 更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部