scispace - formally typeset
Open AccessProceedings Article

DSAW - A Dynamic and Static Aspect Weaving Platform

TLDR
DSAW is an aspectoriented system that supports both dynamic and static weaving homogeneously over the .Net platform, and an aspect can be used to adapt an application both statically and dynamically, without needing to modify its source code.
Abstract
Aspect Oriented Software Development is an effective realization of the Separation of Concerns principle. A key issue of this paradigm is the moment when components and aspects are weaved together, composing the final application. Static weaving tools perform application composition prior to its execution. This approach reduces dynamic aspectation of running applications. In response to this limitation, dynamic weaving aspect tools perform application composition at runtime. The main benefit of dynamic weaving is runtime adaptability; its main drawback is runtime performance. Existing research has identified the suitability of hybrid approaches, obtaining the benefits of both methods in the same platform. Applying static weaving where possible and dynamic weaving when needed provides a balance between runtime performance and dynamic adaptability. This paper presents DSAW, an aspectoriented system that supports both dynamic and static weaving homogeneously over the .Net platform. An aspect can be used to adapt an application both statically and dynamically, without needing to modify its source code. Moreover, DSAW is language and platform neutral, and source code of neither components nor aspects is required.

read more

Citations
More filters
Journal ArticleDOI

Applying dynamic separation of aspects to distributed systems security: A case study

TL;DR: In this article, the authors proposed the use of dynamic aspect-oriented software development (AOSD) to implement security mechanisms in distributed systems, which can be applied when a distributed system is running, without requiring its execution to be stopped or interrupted.
Journal ArticleDOI

Efficient support of dynamic inheritance for class- and prototype-based languages

TL;DR: This paper formalizes dynamic inheritance for both class- and prototype-based languages, and implements it as an extension of an efficient virtual machine that performs JIT compilation that supports both dynamically and statically typed languages.
Journal ArticleDOI

Aspect-Oriented Programming to Improve Modularity of Object-Oriented Applications

TL;DR: To show how aspect-oriented programming can be used as a suitable mechanism to improve the modularity of object-oriented applications, this divulgative article presents the implementation of a typical design pattern following both the object- and aspect- oriented paradigms.

A performance cost evaluation of aspect weaving

TL;DR: Three different scenarios of security issues in distributed systems were developed in both the aspect-oriented and object-oriented paradigms in order to evaluate the cost introduced by static and dynamic aspect weavers.

Applying Dynamic Separation of Aspects to Distributed Systems Security

TL;DR: Using the dynamic and static aspect weaving AOSD platform, the authors have implemented solutions for two common security problems in distributed systems: access control and data flow and encryption of transmissions.
References
More filters
Book

Design Patterns: Elements of Reusable Object-Oriented Software

TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
Journal ArticleDOI

Aspect-oriented programming

TL;DR: This work proposes to use aspect-orientation to automate the calculation of statistics for database optimization and shows how nicely the update functionality can be modularized in an aspect and how easy it is to specify the exact places and the time when statistics updates should be performed to speed up complex queries.
Journal ArticleDOI

On the criteria to be used in decomposing systems into modules

TL;DR: In this paper, the authors discuss modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time, and the effectiveness of modularization is dependent upon the criteria used in dividing the system into modules.
Proceedings ArticleDOI

Aspect-Oriented Programming

Journal ArticleDOI

Architectural support for quality of service for CORBA objects

TL;DR: The architecture, Quality of Service for CORBA Objects (QuO), is described, which is developed to overcome limitations and integrate their solution by providing QoS abstractions to CORBA objects.