电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

UML模型到代码的转换

5页
  • 卖家[上传人]:m****
  • 文档编号:482891438
  • 上传时间:2023-05-16
  • 文档格式:DOC
  • 文档大小:166.50KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、UML模型到代码的转换Sean2003/09/041 概述UML在软件系统中的建模能力和在业界的认可程度是不用怀疑的。我们可以看到,越来越多的软件项目采用UML作为项目的分析设计的表述手段。然而,UML模型作为系统的模型描述最终是要变为各种可以编译运行的代码的。从UML模型到代码的过程,在过去是通过人工来进行翻译的。而现在,这个模型到代码的转换过程都是通过软件工具自动化的完成的。因为在UML的设计之初,就考虑到了模型到代码转化的自动化的问题,所以UML模型本身就是适合自动化过程的。如今,已经有很多UML工具实现了UML模型到代码的转化过程,如Rose, Together,Argo等等。这里给出了一个通用的模型到代码的转换方法,可以实现对UML模型到代码转化的定制。可定制的意义在于,可以为UML模型提供到不同编程语言的代码转换引擎。通常工具提供的有c/c+, Java等常用语言的转换模块。这里以实时嵌入式系统应用的SystemC为例,来定制自己的UML到代码的转换工具。当然可以利用这个转换引擎,实现UML模型到各种语言的转换。定制化的UML模型到代码的转换工具的意义,不但是可以生成自己的

      2、编程语言源码,而且这个转换模块还可以作为UML模型到其它模型描述形式的转换桥梁,比如UML模型的报表,模型审计等。如下图。图表 1 模型转换引擎所处的位置2 转换实现2.1 工具的选择作为UML模型的描述标准有OMG标准化组织的XMI。各种UML建模开发工具也都支持从UML内部元模型到XMI的转换工作。比如Rose通过插件的形式支持XMI格式的输出,Together也支持XMI格式的数据,Argo本身就是以XMI的格式为模型的保存格式的。XMI是一种XML的描述形式,虽然XML形式的表述在JDOM等XML解析器的支持下已经提供了方便的可编程性,但是由于JDOM等XML解析器只是通用的XML处理软件包,对于XMI的处理是有一定的差距的,在编程上比较麻烦。为此俄国人做了一个XMI的java版本的处理软件包,为UML的模型处理提供了方便。在sourceforge上也可以看到基于这个开发包的XMI生成代码的开源项目。利用XMI是一个好的未来方向,但是现有的阶段各个UML开发工具对XMI的格式显现各有不同,比如togeher导出的XMI文档到Rose中以后模型描述会有所不同。这样就阻碍了实用性。

      3、当然随着XMI的发展和各个工具厂商的支持,从XMI来处理模型的方式是一个完美的解决。如果可以作到XMI的标准化,那么代码转换引擎就可以真正做到与UML绘制工具的无关性。先有阶段选择Together作为UML的绘制工具,通过Together的开放API来操作Together中的UML模型,最为模型转换的数据元。由于Together的API是java语言的接口,所以转换引擎选用Java作为开发语言,这样可以更好的与Together实现无缝的集成。模型到代码的转换完全可以通过手工编码的方式来完成这个转换的工作。为了提高转换模块的灵活性和通用性。有几种技术方案可以选择。一个是jsp技术,一个是模板技术。这两中方式都是动态文本文件的产生技术,他们各有个的优势。从方便性上来说更倾向模板的方式。因为jsp要有jsp/servlet的执行容器才可以工作。这里选择Apache的Velocity模板引擎。2.2 模块实现2.2.1 UML模型的获得Together为我们提供了开放API,可以用来操作整个Together的开发环境包括其中的模型。以下是开放API的开发包:负责处理与Together开发环境有

      4、观的API负责处理与UML模型有关的API 负责处理与代码编辑器有关的API通过正三方面的API开发包,可以完成对Together的全面控制,当然包括模型。Together自己也是通过相同的模块插件方式来实现功能扩张的。下面是代码实现。图表 2 获得UML模型代码样例2.2.2 SystemC模板编写详细的Velocity可以参考Velocity的开发手册。Velocity为动态生成文本文件提供了一个工作引擎。在Velocity模板中可以访问传入模板的java对象。这个转换模块就是接受模型对象scModle把模型数据传递给Velocity,再通过Velocity引擎把模型展开为SystemC代码。下面是SystemC的模板代码实例。图表 3 SystemC模板2.2.3 集成利用Together的开放API把SystemC代码转换模块集成到Together的开发环境。成为Together中的一个服务插件。图表 4把转换模块集成到Together环境2.2.4 转换模块模型转换模块模型如下图。Uml2SysC是转换引擎工作类,负责提取模型,收集模型数据,生成ScModule对象表现的模型数据,在把ScModule对象传递给Velocity模板引擎。图表 5 转换模块模型3 总结通过这个UML到代码的转换引擎,成功的实现了把Together中的UML模型转换为SystemC的工作。通过这个转换模块的工作原理,可以实现各种UML模型的自动化的转换工作。可以提供各种通用工具没有提供的编程语言转换能力,可以提供自定义UML模板的转换工作,等等与UML模型到其它表现形式的自动转换工作。参考文献Velocity网站Together网站XMI标准网站SystemC网站

      《UML模型到代码的转换》由会员m****分享,可在线阅读,更多相关《UML模型到代码的转换》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.