C++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提供了实现活动图的基本思路和扩展的平台,将来可以在此基础上增加其他的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

送涂图

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值