软件工程论文

您当前的位置:学术堂 > 计算机论文 > 软件工程论文 >

软件设计模式论文范文7篇(12)

来源:学术堂 作者:李老师
发布于:2017-07-04 共28168字
  在设计模式精确建模方面,角色(Role)[24,26,27]的概念已经被广泛地应用于设计模式建模中,很多形式化描述技术[28-30]都是使用形式化逻辑来描述模式角色之间的关系和交互。Keller 和 Schauer[26]提出在设计层使用设计组件进行软件组合的方法。该研究通过使用 UML 包图描述对设计模式进行组件化描述。但是该研究并没有给出通过设计组件进行结构组合的过程。Riehle[31]提出使用角色图进行设计模式的组合。通过利用角色图对设计模式进行建模,实现对象到角色的分配以及利用对象图,创建角色关系矩阵。通过分析角色关系矩阵完成组合设计模式的角色图。孙军梅和缪淮扣[32]提出了基于角色的设计模式形式建模及演化,将类、类属性、类之间的关系等看作角色。该研究采用形式建模语言 Object-Z 进行建模,并用定理证明器以验证演化模型前后的一致性。这些研究通常使用专用的模式描述语言,很难与现有的 UML工具结合。
  
  一些研究选择扩展 UML 元模型[29,33,34]来描述模式,为设计模式出现的不同角色定义新的元模型对象,并使用 OCL 约束这些角色。类的操作和属性可以使一个角色赋值比 UML 协作的方法更具有表现力。但是这些方法使用了自定义的元模型,而大部分现有的 UML 工具目前还不能处理用户定义的元模型,这使得这些技术较难获得广泛的应用。目前,设计模式的形式化描述的热点集中在利用已有的 UML 扩展机制(UML Profile)对设计模式进行描述。文献[10]介绍了一种新的描述设计模式组合的方法,使用 UML 扩展功能-标签值,来标注实例化的模式信息,如:模式名、模式方法和属性等。该方法能明确地标注模式实例化信息,有很好的可追溯性,但业务逻辑和模式逻辑没有分离,不利于模式的实例化。何成万[24]提出一种基于角色的设计模式建模和实现方法,利用 UML 扩充机制,给出了模式中的角色和业务模型之间绑定关系的构造型和语义,从而分离业务模型和模式模型,以解决模式的重叠和可追溯性问题。但是该研究不支持以模式为单位的整体建模,也未涉及到基于设计模式的演化和组合问题。
  
  在设计模式的自动模型转换方面,Alencar 等[35]最早使用 Prolog 来获取设计模式的结构化演化过程,并将其定义成 Prolog 规则。Wang 等[36]提出一个面向设计模式的模型转换方法。该转换框架包括一系列原子映射和模式映射,能产生基于 XSLT的模型转换代码。Judson 等[37]提出一种基于模型转换和重构方法的设计模式,利用 UML 元模型来特征化源模型和目标模型,该转换模式可用于约束在模型层定义的转换,也可以检查转换的一致性。为了在软件系统设计模型里能够自动地应用设计模式,张天等[33]在 MDA 的框架下将设计模式作为完整的开发单元来使用。通过扩展MOF 的方式定义了模式单元元模型以及相应的建模支撑机制。针对单元设计模式模型到 EJB 的转换,使用了基于 QVT 标准的描述,以支持单元的设计模式(PIM)到 EJB-PSM 的模型转换,其目前的转换规则还不支持设计模式的演化和组合。Dong 等[38]提出了一种基于 UML 语言的图形化的设计模式描述方法,该方法支持多个设计模式协同应用描述。其后续工作[10]提出了基于 predicate 的设计模式演化描述机制,并在此基础上支持基于 OMG 标准化组织提出的 MOFQuery/View/Transformation(QVT)语言[39]的设计模式的演化。该研究着重提供设计模式内部的重配置性,缺乏对于多设计模式组合使用的支持。
  
  包和桂[40]提出了基于 UML 元模型扩展的可视化设计模式描述语言,以支持设计模式的演化机制。用户的对设计模式的配置被转换为演化模型,并使用基于 QVT 以实现设计模式的模型转换,可以和大部分 UML 工具兼容,并被集成到Visual Paradigm UML(VP-UML)[41]建模工具中。但是该工作对设计模式的组合描述方法还有待加强,也没有被应用到较为复杂的自适应软件开发过程中。
  
  4 自适应软件未来发展展望。
  
  综合上述三个方面的研究可以看出,自适应软件框架预定义了一组设计模式来支持自适应软件开发,但是存在严重依赖系统框架支持,较难根据具体环境需求重构的问题;现有的基于设计模式的自适应软件研究仍局限于对自适应系统的设计模式的总结和归纳,缺乏对设计模式的精确描述,限制了设计模式的组合使用;当前形式化的设计模式的理论研究对于设计模式的实例化配置,组合描述的能力较为缺乏,设计模式的自组合研究仍局限于某些特定的设计模式的组合使用。由于这些局限性,尽管已经存在大量的自适应软件相关的设计模式,这些模式还较难像软件构件一样用来构造自适应软件。
  
  设计模式组合理论研究以及在自适应软件系统的应用,对于加强自适应软件设计的重用性,扩展自适应软件设计的理论研究,提升自适应软件开发的工程化标准有着重要的意义。为了更好地对设计模式的形式化描述、模式组合描述语言和模式组合转换引擎三方面进行研究,这里给出一个设计框架模型,如图 1 所示。由图 1 可以看出设计自适应软件需要解决以下关键问题:
  
    
  (1)需要更加精确地形式化描述设计模式,利用面向对象建模语言 UML 元模型进行抽象设计,设计模式角色模型,变体描述以及组合接口,这是模式组合的前提。
  
  (2)在对设计模式组合的过程中,重点要解决模式内部配置问题,协调模式组合关系以及解决角色重映射的描述,并将该描述转换为供模型转换引擎识别的演化模型是模式组合的难点。
  
  (3)设计模式演化和组合部分模型。主要解决描述用户提供的各种模式组合问题,以便于利用UML 进行组合。
  
  (4)定义转换规则,主要解决领域内相关或无关的模型转换,用来描述模型转换过程。在模式组合过程中,模式模型及用户输入模型元素将发生相应的变化改变(元素合并、增加、改变),需要结合设计模式定义,用户输入模型,以及自适应软件领域相关知识,设计相关的模型转换规则。
  
  针对这些研究难点问题,设计模式描述语言,支持对设计模式进行形式化和模块化描述;设计模式的组合语言,提供设计模式的配置和组合描述支持;设计模式组合策略,结合自适应软件领域知识,设计模式组合转换规则,支持基于设计模式的模式自动演化;设计模式组合引擎,提供高效的、可靠的基于设计模式组合的自适应软件开发模式。基于此领域的此项研究或将成为今后的一个重要热点问题。
  
  参考文献:
  
  [1]Oreizy P,Gorlick M M,Taylor R N,et al. An architecture-based approach to self-adaptive software [J]. IEEE Intelligent Systems & TheirApplications,1999,14(3):54-62.  
  [2]Paspallis N. Middleware -Based Development of Context -Aware Applications with Reusable Components [D],PhD Thesis,University ofCyprus,2009.  
  [3]Rouvoy R,Barone P,Ding Y,et al. MUSIC:Middleware Support for Self-Adaptation in Ubiquitous and Service-Oriented Environments [M].Proceedings of the Software Engineering for Self-Adaptive Systems. 2009:164-182.  
  [4]Gui N,De Florio V,Sun H,et al. Toward architecture-based context-aware deployment and adaptation [J]. Journal of Systems and Software,2011,84(2):185-197.  
  [5]Weyns D,Malek S,Andersson J. FORMS:A formal reference model for self-adaptation[C]. Proceedings of the 7th international conferenceon Autonomic computing,Washington,DC,USA,ACM,2010:205-214.  
  [6]Moser O,Rosenberg F,Dustdar S. Domain-Specific Service Selection for Composite Services [J]. Software Engineering,IEEE Transactionson,2012,38(4):828-843.  
  [7]Gamma E. Design patterns:elements of reusable object-oriented software[M]. Reading,Mass.;Wokingham:Addison-Wesley,1995.  
相关内容推荐
相关标签:软件设计模式论文
返回:软件工程论文