首页> 外文OA文献 >On the design of aspect-oriented composition models for software evolution
【2h】

On the design of aspect-oriented composition models for software evolution

机译:面向方面的软件进化组合模型设计

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Aspect-oriented programming is an emerging approach in software development,udwhich provides new possibilities for separation of concerns. Aspectorientedudlanguages offer abstractions for the implementation of concernsudwhose modularization cannot be achieved by using traditional programmingudlanguages. Such concerns are generally termed as crosscutting concerns. It isudgenerally agreed that separating the right concerns from each other enhancesudsoftware quality factors such as reusability and adaptability. The separatedudconcerns in software must be composed together so that software behavesudaccording to its requirements in a coherent way. We refer to language mechanismsudthat separate and compose concerns as 'composition mechanisms'. Thisudthesis evaluates the software composition mechanisms of current aspectorientedudlanguages from the perspective of software quality factors such asudevolvability, comprehensibility, predictability and adaptability. Based on thisudstudy, the thesis proposes novel extensions to current aspect-orientedudlanguages so that programs written in these languages exhibit better quality.udA considerable number of aspect-oriented languages has been introduced forudmodularizing crosscutting concerns. Naturally, these languages share a numberudof common concepts and have distinctive features as well. For this reason, weudpropose a reference model that aims to capture the common and distinctiveudconcepts of aspect-oriented languages. This reference model provides a basisudto understand the important characteristics of the state-of-the-art AOPudlanguages and helps us to compare the AOP languages with each other.udFurthermore, it exposes the issues that have to be considered when a newudaspect-oriented language needs to be developed.udIn this thesis, we analyse the four main aspect-oriented concepts of the referenceudmodel, namely join point, pointcut, advice and aspect, and identify problemsudrelated to their use in various AOP languages. Based on this analysis, weudpropose extensions of the existing concepts and/or design new ones to addressudthe identified problems.udIn current aspect-oriented languages, pointcuts select join points of a programudbased on lexical information such as explicit names of program elements.udHowever, this reduces the adaptability of software, since it involves too muchudinformation that is hard-coded, and often implementation-specific. We claimudthat this problem can be reduced by referring to program elements through theirudsemantic properties. A semantic property describes for example the behaviorudof a program element or its intended meaning. We formulate requirements forudthe proper application of semantic properties in aspect-oriented programming.udWe discuss how to use semantic properties for the superimposition of aspects,udand how to apply superimposition to bind semantic properties to programudelements. To achieve this, we propose language constructs that support semanticudcomposition: the ability to compose aspects with the elements of the baseudprogram that satisfy certain semantic properties.udThe current advice-pointcut binding constructs of AOP languages maintainudexplicit dependencies to advices and aspects. This results in weaving specificationsudthat are less evolvable and need more maintenance during the developmentudof a system. We show that this issue can be addressed by providing associativeudaccess to advices and aspects instead of using explicit dependencies inudthe weaving specification. To this aim, we propose to use a designating (query)udlanguage in advice-pointcut bindings that allows for referring aspect/advicesudthrough their (syntactic and semantic) properties. We also present how semanticudproperties can be applied to provide reusable (adaptable) aspect abstractions.udAspect-oriented languages provide means to superimpose aspectual behavior –udin terms of advices - on a given set of join points. It is possible that not just audsingle, but several advices need to execute at the same join point. Such "shared"udjoin points may give rise to issues such as determining the exact executionudorder and the other possible dependencies among the aspects. We present auddetailed analysis of the problem, and identify a set of requirements upon mechanismsudfor composing aspects at shared join points. To address the identifiedudissues, we propose a general and declarative model for defining constraintsudupon the possible compositions of aspects at a shared join point. By using anudextended notion of join points, we show how concrete aspect-orientedudprogramming languages can adopt the proposed model.udThe thesis also presents how the proposed extensions and new constructs areudadopted by the aspect-oriented language Compose*. To evaluate the proposedudconstructs, we provide qualitative analyses with respect to various softwareudengineering properties, such as evolvability, modularity, predictability andudadaptability.
机译:面向方面的编程是软件开发中的一种新兴方法,它为分离关注点提供了新的可能性。面向方面的 udlanguages为关注的实现提供了抽象其模块化无法通过使用传统编程 udlanguages来实现。此类关注点通常被称为横切关注点。预算上同意,将正确的关注点彼此分离会增强 udsoft软件的质量因素,例如可重用性和适应性。必须将软件中的 udconcerns组合在一起,以便软件以连贯的方式根据其要求行事。我们将能够将关注点分离并组成的语言机制称为“组成机制”。本论文从可进化性,可理解性,可预测性和适应性等软件质量因素的角度评估了当前面向方面语言的软件组成机制。基于这项研究,本文提出了对当前面向方面的 udlanguages的新颖扩展,从而使用这些语言编写的程序表现出更好的质量。 ud引入了大量的面向方面的语言来 crossmodulation横切关注点。自然地,这些语言共享许多通用概念,并且也具有鲜明的特征。因此,我们建议参考模型旨在捕获面向方面的语言的常见和独特概念。该参考模型为了解最新的AOP的重要特征提供了基础 ud 语言,并帮助我们将AOP语言彼此进行比较。 ud此外,它还揭示了在AOP语言中必须考虑的问题。 ud在本文中,我们分析了参考 udmodel的四个主要的面向方面的概念,即连接点,切入点,建议和方面,并确定了与它们在使用中有关的问题。各种AOP语言。基于此分析,我们 ud建议对现有概念进行扩展和/或设计新概念以解决 ud已识别的问题。 ud在当前的面向方面的语言中,切入点根据诸如显式名称之类的词法信息来选择程序的连接点 ud ud,但是,这会降低软件的适应性,因为它涉及太多的 udin信息,这些信息是硬编码的,并且通常是特定于实现的。我们声称 ud可以通过通过 udsemantic属性引用程序元素来减少此问题。语义属性描述了例如程序元素的行为 ud或其预期含义。我们为在面向方面的编程中正确应用语义属性提出了要求。 ud我们讨论了如何使用语义属性来进行方面的叠加, ud以及如何应用叠加将语义属性绑定到程序元素。为了实现这一点,我们提出了支持语义 udcomposition的语言构造:具有与满足某些语义属性的base udprogram元素组成方面的能力。 udAOP语言的当前advice-pointcut绑定构造保持了 udexplicit对通知的依赖性和方面。这将导致织造规范 ud的发展性降低,并且在系统开发过程中需要更多维护。我们表明,可以通过提供对建议和方面的关联 udaccess而不是在织入规范中使用显式依赖项来解决此问题。为此,我们建议在建议切入点绑定中使用指定的(查询) udlanguage,以允许通过其(语法和语义)属性来引用方面/建议 ud。我们还将介绍如何应用语义 udproperties来提供可重用(适应性)方面抽象。 ud面向方面的语言提供了在给定的一组连接点上叠加方面行为的方法。可能不仅需要 udingle,还需要在同一连接点执行多个建议。这样的“共享” udjoin点可能引起诸如确定各个方面之间的确切执行 udorder和其他可能的依赖关系的问题。我们对问题进行了详细的分析,并确定了在共享联接点上组成方面的一组机制要求。为了解决已识别的问题,我们提出了一个通用的声明性模型来定义约束 udup on共享连接点上方面的可能组合。通过使用扩展的连接点概念,我们展示了具体的面向方面的 udprogramming语言如何可以采用建议的模型。 ud本文还介绍了面向方面的语言Compose *如何采用建议的扩展和新构造。为了评估建议的 udconstructs,我们针对各种软件 udengineering特性(例如,可进化性)进行定性分析,模块化,可预测性和适应性。

著录项

  • 作者

    Nagy István;

  • 作者单位
  • 年度 2006
  • 总页数
  • 原文格式 PDF
  • 正文语种 {"code":"en","name":"English","id":9}
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号