TMiner (Berzal, Cubero, & Jimenez, 2009) is a component-based data mining framework that has been designed to support the whole KDD process and facilitate the implementation of complex data mining scenarios. This ...
详细信息
TMiner (Berzal, Cubero, & Jimenez, 2009) is a component-based data mining framework that has been designed to support the whole KDD process and facilitate the implementation of complex data mining scenarios. This paper shows how aspect-oriented programming techniques support some tasks whose implementation using conventional object-orientedprogramming would be extremely time-consuming and error-prone. In particular, we have successfully employed aspects in TMiner to evaluate and monitor the I/O performance of alternative data mining techniques. Without having to modify the source code of the system under analysis, aspects provide an unintrusive mechanism to perform this kind of performance analysis. In fact, aspects let us probe a system implementation so that we can identify potential bottlenecks, detect redundant computations, and characterize system behavior + lessons learned during the development of TMiner. (C) 2010 Elsevier Ltd. All rights reserved.
We describe JastAdd, a Java-based system for compiler construction. JastAdd is centered around an object-oriented representation of the abstract syntax tree where reference variables can be used to link together diffe...
详细信息
We describe JastAdd, a Java-based system for compiler construction. JastAdd is centered around an object-oriented representation of the abstract syntax tree where reference variables can be used to link together different parts of the tree. JastAdd supports the combination of declarative techniques (using Reference Attributed Grammars) and imperative techniques (using ordinary Java code) in implementing the compiler. The behavior can be modularized into different aspects, e.g. name analysis, type checking, code generation, etc., that are woven together into classes using aspect-oriented programming techniques, providing a safer and more powerful alternative to the Visitor pattern. The JastAdd system is independent of the underlying parsing technology and supports any noncircular dependencies between computations, thereby allowing general multi-pass compilation. The attribute evaluator (optimal recursive evaluation) is implemented very conveniently using Java classes, interfaces, and virtual methods. (C) 2002 Elsevier Science B.V. All rights reserved.
The aim of this study is to provide a generic implementation strategy for honeytokens deployed within a database management system that leverages the aspect-oriented paradigm to contain the insider threat. This approa...
详细信息
The aim of this study is to provide a generic implementation strategy for honeytokens deployed within a database management system that leverages the aspect-oriented paradigm to contain the insider threat. This approach is tested by developing a proof-of-concept prototype in an aspect-oriented language, namely aspectJ. This study also reflects on design and implementation challenges involved in the deployment of honeytokens to contain the insider threat. Consequently, aspect-orientation is proposed as a means to resolve some of these challenges.
In this paper, we present an aspect-oriented approach for the systematic security hardening of source code. It aims at allowing developers to perform software security hardening by providing an abstraction over the ac...
详细信息
In this paper, we present an aspect-oriented approach for the systematic security hardening of source code. It aims at allowing developers to perform software security hardening by providing an abstraction over the actions required to improve the security of the program. This is done by giving them the capabilities to specify high-level security hardening plans that leverage a priori defined security hardening patterns. These patterns describe the required steps and actions to harden security code, including detailed information on how and where to inject the security code. We show the viability and relevance of our approach by: (1) elaborating security hardening patterns and plans to common security hardening practices, (2) realizing these patterns by implementing them into aspect-oriented languages, (3) applying them to secure applications, (4) testing the hardened applications. Furthermore, we discuss, in this paper, our insights on the appropriateness, strengths and limitations of the aspect-oriented paradigm for security hardening. (C) 2008 Elsevier Ltd. All rights reserved.
This paper reports our experience using aspectJ, a general-purpose aspect-oriented extension to Java, to implement distribution and persistence concerns in a Web-based information system. This system was originally im...
详细信息
This paper reports our experience using aspectJ, a general-purpose aspect-oriented extension to Java, to implement distribution and persistence concerns in a Web-based information system. This system was originally implemented in Java and restructured with aspectJ. Our main contribution is to show that aspectJ is useful for implementing several persistence and distribution concerns in the considered application, but also in similar applications. We have also identified interferences between the implemented aspects and a few drawbacks in the language, so we suggest some minor language modifications that could significantly improve similar implementations. Despite those problems, we argue that the aspectJ implementation is superior to the pure Java implementation. Some of the aspects implemented in our experiment are abstract and constitute a simple aspect framework. The other aspects are application specific but we suggest that different implementations might follow the same aspect patterns. The framework and the patterns allow us to propose architecture-specific guidelines that provide practical advice for both restructuring and implementing certain kinds of persistent and distributed applications with aspectJ. Copyright (c) 2006 John Wiley & Sons, Ltd.
Adaptive Web systems (AWS) are Web-based systems that can adapt their features such as, presentation, content, and structure, based on users' behaviour and preferences, device capabilities, and environment attribu...
详细信息
Adaptive Web systems (AWS) are Web-based systems that can adapt their features such as, presentation, content, and structure, based on users' behaviour and preferences, device capabilities, and environment attributes. A framework was developed in our research group to provide the necessary components and protocols for the development of adaptive Web systems;however, there were several issues and shortcomings (e.g. low productivity, lack of verification mechanisms, etc.) in using the framework that inspired the development of a domain-specific language for the framework. This paper focuses on the proposal, design, and implementation of AWL, the Adaptive Web Language, which is used to develop adaptive Web systems within our framework. Not only does AWL address the existing issues in the framework, but it also offers mechanisms to increase software quality attributes, especially, reusability. An example application named PENS (a personalized e-News system) is explained and implemented in AWL. AWL has been designed based on the analysis of the adaptive Web domain, having taken into account the principles of reuse-based software engineering (product-lines), domain-specific languages, and aspect-oriented programming. Specially, a novel design decision, inspired by aspect-oriented programming paradigm, allows separate specification of presentation features in an application from its adaptation features. The AWL's design decisions and their benefits are explained. (c) 2007 Elsevier Inc. All rights reserved.
Ajax allows JavaScript programmers to create interactive, collaborative, and user-centered Web applications, known as Web 2.0 Applications. These Web applications behave as distributed systems because processors are u...
详细信息
Ajax allows JavaScript programmers to create interactive, collaborative, and user-centered Web applications, known as Web 2.0 Applications. These Web applications behave as distributed systems because processors are user machines that are used to send and receive messages between one another. Unsurprisingly, these applications have to address the same causality issues present in distributed systems like the need (a) to control the causality between messages sent and responses received and (b) to react to distributed causal relations. JavaScript programmers overcome these issues using rudimentary and alternative techniques that largely ignore the distributed computing theory. In addition, these techniques are not very flexible and need to intrusively modify these Web applications. In this paper, we study how causality issues affect these applications and present WeCa, a practical library that allows for modular and flexible control over these causality issues in Web applications. In contrast to current proposals, WeCa is based on (stateful) aspects, message ordering strategies, and vector clocks. We illustrate WeCa in action with several practical examples from the realm of Web applications. In addition, we evaluate our proposal with a third-party application and its performance. (C) 2012 Elsevier B.V. All rights reserved.
This paper focuses on the effects of three thermal drying methods (microwave-, oven- and sun-drying) and one nonthermal drying method (freeze-drying) on the AOP of leaves of Vitex negundo and Vitex trifolia, which are...
详细信息
This paper focuses on the effects of three thermal drying methods (microwave-, oven- and sun-drying) and one nonthermal drying method (freeze-drying) on the AOP of leaves of Vitex negundo and Vitex trifolia, which are consumed traditionally as herbal tea. Microwave-drying and freeze-drying were found to be able to maintain the AOP of the leaves but oven-drying and sun-drying resulted in deterioration of AOP. Microwave-drying has the advantage of short drying time and low water activity. AOP of Vitex herbal tea leaves that are microwave-dried and freeze-dried were not affected by storage up to 30 days.
aspect-oriented programming (AOP) is a promising technology that supports separation of crosscutting concerns (i.e., functionality that tends to be tangled with, and scattered through the rest of the system). In AOP, ...
详细信息
aspect-oriented programming (AOP) is a promising technology that supports separation of crosscutting concerns (i.e., functionality that tends to be tangled with, and scattered through the rest of the system). In AOP, a method-like construct named advice is applied to join points in the system through a special construct named pointcut. This mechanism supports the modularization of crosscutting behavior;however, since the added interactions are not explicit in the source code, it is hard to ensure their correctness. To tackle this problem, this paper presents a rigorous coverage analysis approach to ensure exercising the logic of each advice - statements, branches, and def-use pairs - at each affected join point. To make this analysis possible, a structural model based on Java bytecode - called PointCut-based Del-Use Graph (PCDU) - is proposed, along with three integration testing criteria. Theoretical, empirical, and exploratory studies involving 12 aspect-oriented programs and several fault examples present evidence of the feasibility and effectiveness of the proposed approach. (C) 2010 Elsevier Inc. All rights reserved.
Modern applications aim to provide attractive, efficient and adaptive user interfaces (UIs). The UI code developed in conventional design approaches brings numerous of difficulties exacerbating the development and mai...
详细信息
Modern applications aim to provide attractive, efficient and adaptive user interfaces (UIs). The UI code developed in conventional design approaches brings numerous of difficulties exacerbating the development and maintenance efforts resulting in limited separation of concerns. The limitation comes from multiple cross-cuts of tangled concerns, e.g. data representation tangled with layout, security, business rules, localization, etc. This results in high information restatement, code duplication, and tedious maintenance. This paper introduces an approach that separates UI concerns bringing a single focal point for particular concern definitions improving readability and maintenance. The approach performs concern tangling at runtime through a weaver considering the contextual information influencing the result. This enables UI context-awareness, while significantly reduces the development and maintenance efforts. Furthermore, we apply this approach into a distributed environment, which allows us to construct the same UI on various platforms and devices involving a single concerns description streamed from the server.
暂无评论