论文部分内容阅读
面向侧面软件开发(AOSD)作为一种新的软件开发方法,旨在通过封装系统中的横切关注点,提升系统的模块化设计程度。系统的可信性作为系统的非功能需求,是评估系统的重要指标,其设计与实现贯穿软件系统的整个生命周期。可信属性作为系统可信性的具体体现,是系统中典型的横切关注点,它们在软件系统中的各个模块中随处可见,与系统主功能交织在一起,严重影响了系统的模块化程度,从而为系统的分析、验证、扩展以及维护带来了严峻的挑战,这种挑战随着系统的日益庞大和复杂而愈发明显。本课题从可信属性属于系统横切关注点的事实出发,将面向侧面机制引入系统体系结构描述当中,旨在运用侧面机制在体系架构层描述系统可信属性,从而实现对可信保证机制的全局设计和验证,即在系统生命周期的最开始阶段给系统提供可靠的可信性保障设计。为了在系统体系结构描述中引入侧面机制,本课题设计了ARM元模型。ARM是在体系架构层表示侧面机制的通用元模型,它独立于体系结构的基础描述语言,同时支持侧面元素的自动编织,即将侧面元素织入到基础体系架构当中,从而保持对基础体系结构描述语言的兼容性;其次为了支持体系结构的动态演化,本课题提出EBGG图文法,该图文法旨在用图的形式描述系统侧面结构,从而支持侧面元素的动态演化,保持系统侧面结构与基础体系结构的一致性。最后,我们将ARM元模型和EBGG图文法用于Breeze/ADL的扩展,得到Aspect Breeze面向侧面的体系结构描述语言。该语言使用Breeze/ADL描述基础体系结构,即系统主功能逻辑,运用ARM元模型描述系统侧面机制,同时运用EBGG图文法支持整个系统的动态演化,保持侧面结构与基础系统体系结构演化的同步性。此外Aspect Breeze还支持侧面机制的自动编织,保持Aspect Breeze对于Breeze/ADL语言的兼容性,并根据可信属性的分类定义了一组可信属性的侧面组件模板,集成到相应的设计工具中,方便用户在系统设计时,进行可信属性的描述。本论文的主要贡献有以下几个方面:1.将面向侧面机制引入系统体系结构描述当中,提出将系统的可信属性作为侧面组件融于系统的结构设计,旨在将系统的可信保障机制的设计和验证提升到系统的架构层次。2.提出ARM元模型,该模型是侧面机制在系统结构描述中的通用表达形式。3.为支持侧面机制在体系架构层的动态演化,基于BGG图文法我们提出EBGG图文法。通过图的形式描述系统结构,从而运用图文法的推演算法实现系统的动态演化。4.将EBGG图文法和ARM元模型运用在Breeze/ADL中,定义Aspect Breeze面向侧面的体系结构描述语言并实现相应的设计工具。