论文部分内容阅读
随着面向对象软件开发技术的不断发展以及软件规模的不断扩大,使得系统的分析和设计变得日益复杂。软件开发中的许多关注点往往横切系统的多个模块,利用现有的编程技术(如面向过程编程、面向对象编程),很难对这些横切关注点进行鉴别、理解和模块化。
面向方面开发技术的出现很好的解决了横切关注点,使得原本分离在多个模块中的横切关注点能够以切面这种模块化的结构优雅地进行处理。虽然RUP(Rational Unified Process)之父Ivar Jacobson认为,AOP(Aspect OrientedProgramming)将成为编程方法学的下一个里程碑,但目前AOP还没有得到像OOP一样的广泛应用。在软件开发的早期阶段运用面向方面的思想进行系统分析和设计,可以更好的降低面向方面软件开发的风险和成本,充分发挥AOP的优点,提高软件产品的质量。AOM是在设计阶段通过可视化的模型对现实简化达到理解复杂系统的目的,从而控制软件开发的复杂度和风险,并从一个更高的抽象层次探索AOP的本质,提供一种设计、表达方面和其与其他部件横穿关系的普遍适用的方法。目前面向方面软件开发AOSD相应的语言和框架的支持已经日趋成熟,但是缺乏统一的设计标准和建模工具的支持,面向方面建模AOM(Aspect Oriented Modelingl)成为AOSD发展的一个瓶颈。
本文阐述了AOP的产生和发展现状以及AOM对.AOSD(Aspect OrientedSoftware Development)的重要意义,并深入剖析了AOP核心思想,探讨了UML语言的可扩展性。在综合论述了当前AOM的研究现状以及扩展UML对AOM进行支持的可行性之后,根据面向方面软件开发的基本概念,通过扩展UML元模型,在综合已有研究成果的基础上,设计出了一个不基于任何具体AOP语言的UML,建模的普适性特征文件Aspect-Profile。在此基础上,通过研究AspectJ语言的语法特殊结构,对普适性的特征文件进行扩充,用于支持AspectJ系统建模。分别为AspcctJ语言中的切面,切入点和通知等结构单元设计了UMI,的构造型和相应的语义及约束。最后利用Rational Rose的REI可扩展接口对此特征文件进行了支持,对一个实例进行建模,并通过编写Rose Scripting语言程序实现了这种建模方案的自动代码生成功能。
本文的研究是一种从概括抽象到具体的思路,意图为当前面向方面软件开发的瓶颈作出有益的探索。