模型驱动的构件代码生成工具的研究与实现

模型驱动的构件代码生成工具的研究与实现

ID:28686503

大小:2.35 MB

页数:53页

时间:2018-12-12

模型驱动的构件代码生成工具的研究与实现_第1页
模型驱动的构件代码生成工具的研究与实现_第2页
模型驱动的构件代码生成工具的研究与实现_第3页
模型驱动的构件代码生成工具的研究与实现_第4页
模型驱动的构件代码生成工具的研究与实现_第5页
资源描述:

《模型驱动的构件代码生成工具的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、上海交通大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:王函哲日期:2008年1月8日上海交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅

2、和借阅。本人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在年解密后适用本授权书。本学位论文属于不保密□。√(请在以上方框内打“√”)学位论文作者签名:王函哲指导教师签名:沈备军日期:2008年1月8日日期:2008年1月8日上海交通大学工学硕士学位论文第一章绪论第一章绪论1.1面向对象到构件技术在软件工程发展中,软件开发关注的抽象层级一直在提升。在八十年代出现了面向对象的方法中,把数据库和操作封装在一起成为对象,并用对象来

3、为描述客观信息。与此相关,这些对象间的关系也通过继承、父类、子类、多重继承、方法的重载、限制以及接口等表述。正如从结构化到面向对象一样,在软件系统的规模变大,结构变复杂今天。构件技术成为面向对象技术的有力的后继者,把抽象层级从对象提高到和业务相对的构件上。文献[1]中把构件定义为“一个非平凡的、几乎独立的、可替换的系统组成部分,它在定义完善的体系结构环境中实现某一清晰的功能”。OMG组织在将构件定义为:“构件是一个物理的、可替换的系统组成部分,它封装了实现体并对外提供了对一组接口的实现方法。”[2]由于构件具有上

4、述优势,在企业系统解决方案中采用构件技术可以为企业用户带来如下一些好处:1)采用构件技术可以快速、平滑地增加新的功能。新的构件和原有的构件可以方便地集成在一起。2)采用构件技术使企业系统解决方案可以灵活地、动态地重新配置,将一个构件替换为升级的新版本不必考虑其他构件的适配。3)采用构件技术允许对给定的任务采用不同的提供商提供的软件。实现一个解决方案时能够自由选择。4)采用构件技术可以灵活地将针对特殊需求特别设计的构件与整个系统集成使用,实现企业系统的不同要求。5)采用构件技术进一步方便了扩展系统功能,因为企业用户

5、可以使用定制的构件的接口来实现特殊构件。在企业业务系统的构件技术中,已有许多影响巨大的成果:公共对象请求中 介结构(COBRA)、COM和DCOM、EJB。这些技术都在软件实践中解决了部分 问题的同时,存在下述问题:它们都是基于经典的客户机/服务器模型,其在自主 性、灵活性、主动性等网络环境的适应性方面有一定欠缺。同时,它们过早地确定构件连接机制,且连接机制与功能代码编译在一起,当加入新的连接信息时,需改写源码、重新编译,从而造成构件连接机制不灵活,使得它们不适合分布式环境下构件动态配置的要求。对于这些构件技术的

6、缺陷,OASIS在IBM、Oracle、SAP和BEA等厂商提 出的规范基础上,发布了SCA(ServiceComponentService)[3]规范集合。定义 了如何创建构件并把这些组件组合成完整的程序。SCA中的构件可以用JAVA或第1页上海交通大学工学硕士学位论文第一章绪论者任何其他使用SCA定义的编程模型的编程语言实现,也可以采用其他技术,比 如BPEL(BusinessProcessExecutionLanguage)或者Spring框架实现。不管使用那 种技术,SCA都定义了如何把这些构件拼装成完整

7、的系统。1.1代码为核心到模型驱动在软件开发中,无论是面向过程还是面向对象,代码始终是第一产物。模型 一直作为一种辅助工具,用于在文档中表述软件的抽象设计。为了降低软件的复杂性和维护成本,出现各种技术和框架。在单一技术或者框架内,这样做无疑降 低了代码的复杂性,无论设计或者实现都遵循用一种统一的模式。然后,复杂的软件系统往往不能由单一的技术解决,在一个系统中使用多种技术却带来了额外 的技术复杂性。这样一来,往往不但没有降低软件的复杂度,反而使复杂度上升。 技术上的复杂性对软件开发人员提出了更高的要求。应对日益提高

8、的技术复杂性带来的困难,OMG在2001年提出模型驱动架构 (ModelDrivenArchitecture,MDA)[4]。其核心思想是抽象出与实现技术无关、 完整描述业务功能的核心平台无关模型(PIM,PlatformIndependentModel),然 后针对不同实现技术制定多个转换规则,通过这些转换规则及辅助工具将PIM 转换成与具体实现技术相关的平台相关模型(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。