orientedprogramming (AOP) is good at solving the difficulty in Object-orientedprogramming (OOP) of crosscutting concerns,and loosens the system from higher standpoints. Based on the characteristics of web applicatio...
详细信息
orientedprogramming (AOP) is good at solving the difficulty in Object-orientedprogramming (OOP) of crosscutting concerns,and loosens the system from higher standpoints. Based on the characteristics of web application system,this paper introduces the AOP idea into it,and designs a kind of multi-player architecture based on MVC,emphasizes on the analysis of crosscutting concerns in web system,including authorization,exception,logging and time *** use of the aspectJ language,we design implementations to solve these crosscutting concerns to distributed enterprise web-based systems based on J2EE platform. In the end,comparing with OOP,we make a summary of the advantage of AOP,and list some items of most practice with aspectJ[4,6,8].
Feature-orientedprogramming (FOP) decomposes complex software into features. Features are main abstractions in design and implementation. They reflect user requirements and incrementally refine one another. Although,...
详细信息
ISBN:
(纸本)9781595933751
Feature-orientedprogramming (FOP) decomposes complex software into features. Features are main abstractions in design and implementation. They reflect user requirements and incrementally refine one another. Although, features crosscut object-oriented architectures they fail to express all kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction mechanism of aspect-oriented programming (AOP). In this article we contribute a systematic evaluation and comparison of both paradigms, AOP and FOP, with focus on incremental software development. It reveals that aspects and features are not competing concepts. In fact AOP has several strengths to improve FOP in order to implement crosscutting featuresSymmetrically, the development model of FOP can aid AOP in implementing incremental designs. Consequently, we propose the architectural integration of aspects and features in order to profit from both paradigms. We introduce aspectual mixin layers (AMLs), an implementation approach that realizes this symbiosis. A subsequent evaluation and a case study reveal that AMLs improve the crosscutting modularity of features as well as aspects become well integrated into incremental development style.
aspect-oriented programming (AOP) makes up for the defects coming from the mode based on Object-orientedprogramming when it deals with the cross-cutting concerns. Model Driver Architecture (MDA) is a new way of writi...
详细信息
aspect-oriented programming (AOP) makes up for the defects coming from the mode based on Object-orientedprogramming when it deals with the cross-cutting concerns. Model Driver Architecture (MDA) is a new way of writing specifications which includes platform-independent model (PIM) and platform specific model (PSM);The MDA will make it easier to integrate applications and facilities across middleware boundaries. But in MDA, it is not consider the impact of cross-cutting concerns, separation of concern mechanisms and abstractions are needed. In this paper, we will introduce aspect in the framework of MDA with Unified Modeling Language (UML) which will improve efficiency of development and reuse of the system.
Behavioral reflection is a powerful approach for adapting the behavior of running applications. In this paper we present and motivate partial behavioral reflection, an approach to more efficient and flexible behaviora...
详细信息
ISBN:
(纸本)9781581137125
Behavioral reflection is a powerful approach for adapting the behavior of running applications. In this paper we present and motivate partial behavioral reflection, an approach to more efficient and flexible behavioral reflection. We expose the spatial and temporal dimensions of such reflection, and propose a model of partial behavioral reflection based on the notion of hooksets. In the context of Java, we describe a reflective architecture offering appropriate interfaces for static and dynamic configuration of partial behavioral reflection at various levels, as well as Reflex, an open reflective extension for Java implementing this architecture. Reflex is the first extension that fully supports partial behavioral reflection in a portable manner, and that seamlessly integrates load-time and runtime behavioral reflection. The paper shows preliminary benchmarks and examples supporting the approach. The examples, dealing with the observer pattern and asynchronous communication via transparent futures, also show the interest of partial behavioral reflection as a tool for open dynamic aspect-oriented programming.
This paper proposes and implements a rigorous method for studying the dynamic behaviour of aspectJ programs. As part of this methodology several new metrics specific to aspectJ programs are proposed and tools for coll...
详细信息
ISBN:
(纸本)9781581138313
This paper proposes and implements a rigorous method for studying the dynamic behaviour of aspectJ programs. As part of this methodology several new metrics specific to aspectJ programs are proposed and tools for collecting the relevant metrics are presented. The major tools consist of: (1) a modified version of the aspectJ compiler that tags bytecode instructions with an indication of the cause of their generation, such as a particular feature of aspectJ; and (2) a modified version of the *J dynamic metrics collection tool which is composed of a JVMPI-based trace generator and an analyzer which propagates tags and computes the proposed metrics. This dynamic propagation is essential, and thus this paper contributes not only new metrics, but also non-trivial ways of computing *** furthermore present a set of benchmarks that exercise a wide range of aspectJ's features, and the metrics that we measured on these benchmarks. The results provide guidance to aspectJ users on how to avoid efficiency pitfalls, to aspectJ implementors on promising areas for future optimization, and to tool builders on ways to understand the runtime behaviour of aspectJ.
A method based on business process execution language for Web services(BPEL4WS) is proposed to develop telecommunication services in new telecommunication environment, which can be used to cope with the difficulties a...
详细信息
A method based on business process execution language for Web services(BPEL4WS) is proposed to develop telecommunication services in new telecommunication environment, which can be used to cope with the difficulties and long-time spending in creating telecommunication services. Firstly, the shortcomings of using BPEL4WS to create telecommunication services are pointed out and then the method of AOP is used to solve the problem of the modularity and dynamic extendibility of BPEL4WS. Secondly, the system architecture and implementation are presented. At last, the results of the experiment prove that the method is feasible.
Software product lines (SPL) describe highly-variable software systems as a family of similar products that differ in terms of the features they provide. The promise of SPL engineering is to enable massive software re...
详细信息
Software product lines (SPL) describe highly-variable software systems as a family of similar products that differ in terms of the features they provide. The promise of SPL engineering is to enable massive software reuse by allowing software features to be reused across a variety of different products made for several customers. However, there are some disadvantages in the extraction of SPLs from standard applications. Most notably, approaches to the development of SPLs are not supported by the base language and use a syntax and composition techniques that require a deep understanding of the tools being used. Therefore, the same features cannot be used in a different application and developers must face a steep learning curve when developing SPLs for the first time or when switching from one approach to a different one. Ultimately, this problem is due to a lack of standards in the area of SPL engineering and in the way SPLs are extracted from variability-unaware applications. In this work, we present a framework based on LSP and dubbed
that aims at standardizing such a process by decoupling the refactoring operations made by the user from the effect they have on the source code. This way, the server for a specific SPL development approach can be used across several development environments that provide clients with customized refactoring options. Conversely, the developers can use the same client to refactor SPLs made according to different approaches without needing to learn the syntax of each approach. To showcase the applicability of the approach, we present an evaluation performed by refactoring four SPLs according to two different approaches: the results show that a minimal implementation of the
client and server applications can be used to reduce the effort of extracting an SPL up to the 93% and that it can greatly reduce or even completely hide the implementation details from the developer, depending on the chosen approach.
暂无评论