共查询到20条相似文献,搜索用时 31 毫秒
1.
面向方面的程序设计的研究与应用 总被引:4,自引:1,他引:3
从一个图元编辑器的例子开始,以图元的更新需求为例,分析了现有程序设计方法的不足及现有的其他解决方案,如设计模式的缺陷等,引出了面向方面的编程方法,提出一个典型AOP实现的三层架构模型。 相似文献
2.
目前无论在学术界还是工业界,很多人士简单地将面向方面程序设计理解为模块化横切关注点,狭隘地认为面向方面程序设计构建在面向对象程序设计之上,是面向对象程序设计的扩展、有效的补充等.回顾了面向方面程序设计的定义,分析了面向方面程序设计区别于其它程序设计方法的本质特征,并形式化了定义中的量化语句与方面,给出了量化语句与方面的... 相似文献
3.
目前无论在学术界还是工业界,很多人士简单地将面向方面程序设计理解为模块化横切关注点,狭隘地认为面向方面程序设计构建在面向对象程序设计之上,是面向对象程序设计的扩展、有效的补充等。回顾了面向方面程序设计的定义,分析了面向方面程序设计区别于其它程序设计方法的本质特征,并形式化了定义中的量化语句与方面,给出了量化语句与方面的语义。重申了面向方面程序设计的本质特性是Quantification与()bliviousncss,模块化横切关注点只是其带来的一个好处。同时指出了面向方面程序设计是一种新型的程序设计范式,独立于面向对象等其它程序设计方法。并且,基于此定义,给出了面向方面程序设计语言需满足的最小条件集,并比较了主流的面向方面程序设计语言,探讨了这些语言在面向方面程序设计理念上的差异。 相似文献
4.
面向方面的软件工程指南 总被引:1,自引:0,他引:1
面向方面的软件开发(AOSD)技术的目标,是在整个软件生命周期中提供系统化标识、模块化以及组合横切关注点。随着AOSD技术的成熟,需要一个指南来支持良好工程化的面向方面系统的开发。该文综述了现有面向方面软件工程的各种方法,分析了在需求分析、设计和编程实现阶段对方面进行考虑的方法,并提出了比较这些方法的准则。文章为面向方面的实际应用选择专门的方法(方法组)提供了指南。 相似文献
5.
面向方面的编程的研究与实现 总被引:15,自引:1,他引:14
面向方面的编程(AOP)是一种新的编程技术,它弥补了面向对象的编程(OOP)在跨越模块行为上的不足。 AOP 引进了Aspect,它将影响多个类的行为封装到一个可重用模块中,它允许程序员对横切关注点进行模块化,从而消除了OOP引起的代码混乱和分散问题,增强了系统的可维护性和代码的重用性。首先进行了AOP与OOP的比较,给出了AOP的原理和AOP的JBoss实现,最后介绍AOP在设计模式中的应用,并说明了使用它所带来的设计益处以及在应用AOP中应注意的问题。 相似文献
7.
介绍了软件开发中横切关系带来的问题,以及这些问题的当前解决方法和这些方法的缺点。进而介绍AOP的编程方式及其模块化横切关注点的实现,最后总结了AOP的好处并对其在软件开发的前景进行了展望。 相似文献
8.
容错是保障软件可靠性的重要手段。该目标是利用对软件系统静态分析的信息,生成具有容错能力的方面文件来增强软件系统的容错能力。首先利用抽象语法树的分析工具,来获得一些有用信息,比如异常类型和抛出异常的方法。然后通过模板生成工具生成相应的恢复代码,利用面向方面机制,将代码动态编织入系统中。最后做一个案例证明方法在实现容错增强方面的可行性。 相似文献
9.
作为面向对象程序设计语言后继的新一代编程语言,面向方面程序设计语言早先主要应用于软件设计领域。基于AspecC++和SystemC,本文提出了一种新的在系统层次构建硬件模块原型的方法。该方法可以用于硬件系统的快速设计空间搜索。本文以一个32位加法器的例子显示了该方法的有效性。 相似文献
10.
软件架构的描述和设计决定了软件的质量和生命。作为方面的横切关注点横跨在多个架构组件中,影响了模块间的内聚性和耦合度,从而降低了软件的可重用性,增加了维护的难度。目前提出的许多架构描述方法均未能对存在的横切关注点进行恰当的描述和定位,所以在软件的架构描述方法中引入了方面的概念机制来解决这些问题。基于IEEE 14712000中提出的架构描述概念模型,引入用例视图提出了一种新的面向方面的架构描述概念模型。该模型能够在架构描述中精确地描述和处理横切关注点即增加方面这一抽象层,从而提高软件系统的维护性、重用性和 相似文献
11.
12.
Nikolaj S. Bjørner Anca Browne Michael A. Colón Bernd Finkbeiner Zohar Manna Henny B. Sipma Tomás E. Uribe 《Formal Methods in System Design》2000,16(3):227-270
We review a number of formal verification techniques supported by STeP, the Stanford Temporal Prover, describing how the tool can be used to verify properties of several versions of the Bakery Mutual exclusion algorithm for mutual exclusion. We verify the classic two-process algorithm and simple variants, as well as an atomic parameterized version. The methods used include deductive verification rules, verification diagrams, automatic invariant generation, and finite-state model checking and abstraction. 相似文献
13.
We present an extension of classical tableau-based model checking procedures to the case of infinite-state systems, using deductive methods in an incremental construction of the behavior graph. Logical formulas are used to represent infinite sets of states in an abstraction of this graph, which is repeatedly refined in the search for a counterexample computation, ruling out large portions of the graph before they are expanded to the state-level. This can lead to large savings, even in the case of finite-state systems. Only local conditions need to be checked at each step, and previously proven properties can be used to further constrain the search. Although the resulting method is not always automatic, it provides a flexible, general and complete framework that can integrate a diverse number of other verification tools. 相似文献
14.
现有的形式化验证方法除了在模型层面对系统进行验证以外,越来越倾向于直接针对系统的实际代码和具体运行.运行时验证技术验证的对象是具体程序,它试图把形式化验证技术部署到程序的实际运行过程中.然而在把形式化技术部署到实际运行过程中会出现一系列在模型层面验证通常不会出现的问题,对这些问题中的冲突现象进行了研究,定义了运行时验证技术中存在的两种冲突,并给出了相应的检测算法.最后,对这些算法进行了实现和实例研究,结果表明了该方法的有用性. 相似文献
15.
We present a runtime verification framework for Java programs. Properties can be specified in Linear-time Temporal Logic (LTL) over AspectJ pointcuts. These properties are checked during program-execution by an automaton-based approach where transitions are triggered through aspects. No Java source code is necessary since AspectJ works on the bytecode level, thus even allowing instrumentation of third-party applications. As an example, we discuss safety properties and lock-order reversal. 相似文献
16.
基于J2EE的权限管理框架实现 总被引:2,自引:0,他引:2
在基于角色的访问控制RBAC模型中,通过角色将用户和权限相联系,极大地降低了授权管理的复杂性,是一种灵活有效的安全措施。本文提出了一个适用于J2EE领域的RBAC权限管理框架。通过使用软件设计模式和面向方面的编程方法,将通用的权限管理放在框架内实现,而将特殊易变的权限管理以面向方面编程的方法实现,实现了强有力的可扩展性
和易维护性。 相似文献
和易维护性。 相似文献
17.
对于女性用品设计,应能够反映出女性日常无数细微意向所造成的多样性心理需求。不能像以前那样,单从情感设计研究专家诺曼的结论性观点出发,轻易地加以类型化,或者无端的予以分析。在考虑为女性设计用品的时候,应该真正体察女性的潜在心理需求,通过产品的情感演绎,更好的为女性服务。 相似文献
18.
针对自愈软件系统功能层与自愈层交织带来的设计复杂性问题,提出系统横向模型驱动设计思想,给出一种以故障模型为中心的系统设计与实现方法。该方法能够将系统功能层与自愈层隔离,使它们的设计与实现相对独立,根据系统特点在不同阶段通过故障模型加以耦合,这种松耦合方式有利于降低系统整体设计的复杂性,提高可配置性、可重用性以及可维护性。通过一个具有自愈特性的捷联惯性导航系统仿真软件的设计与实现,验证了该设计思想与方法的可行性和有效性。 相似文献
19.
Verification of Temporal Properties 总被引:1,自引:0,他引:1
20.
随着面向对象软件开发技术的不断发展以及软件规模的不断扩大,系统地分析和设计变得日益复杂。软件开发过程中很难利用现有的编程技术(如面向对象编程、面向过程编程)对横切系统多个模块的关注点进行鉴别、理解和模块化。为解决面向对象开发方法中的耦合性较高、可重用性较低和代码分散等问题,将面向方面的编程思想引人到系统分析和设计阶段,提出了一种面向方面的信息系统建模方法。 相似文献