Aspect Oriented Programming
155 Followers
Recent papers in Aspect Oriented Programming
Code instrumentation is a mechanism that allows modules of programs to be completely rewritten at runtime. With the advent of virtual machines, this type of functionality is becoming more interesting because it allows the ...
Software understanding (for documentation, maintenance or evolution) is one of the longest-standing problems in Computer Science. The use of "high-level" programming paradigms and object-oriented languages helps, but fundamentally remains... more
Aspect-Orientated approach was created to solve scattering and tangling issues generated by the implementation of crosscutting requirements in programming. This approach has been proposed in many research areas regarding the entire... more
Threshold of software metrics can be used as indicators to identify possible anomalies in software. Aspect-Oriented (AO) Programming is a new programming paradigm that solved the crosscutting problem by decomposes the crosscutting concern... more
Usage data logged from user interactions can be extremely valuable for evaluating software usability. However, instrumenting software to collect usage data is a time-intensive task that often requires technical expertise as well as an... more
Almost a year ago, Microsoft has introduced the .NET architecture as a new component-based programming environment, which allows for easy integration of classical distributed programming techniques with Web computing. .NETdefines a type... more
C++ retains the ANSI C preprocessor, although its limitations have been widely recognised. The authors describe FOG, a meta-compiler for a super-set of C++, that provides replacement preprocessing and introduces static meta-programming,... more
We are investigating one of the claims of C++ object applications and its lack of garbage collectors. Therefore, an object memory management in C++ legacy systems can be automatically developed and integrated more easily than other kinds... more
Almost a year ago, Microsoft has introduced the .NET architecture as a new component-based programming environment, which allows for easy integration of classical distributed programming techniques with Web computing. .NETdefines a type... more
The object-oriented software suffers from code tangling and code scattering problems leading to weak code reusability and difficult application evolution. New approaches supporting an advanced separation of concerns (ASoC) are proposed to... more
We present an overview of JTL (the Java Tools Language, pronounced "Gee-tel"), a novel language for querying JAVA [8] programs. JTL was designed to serve the development of source code software tools for JAVA, and as a small language to... more
Metamodelling is an activity that is getting much more attention by the research community. One of the main causes of this recent interest is being an important piece for the different approaches for Model-Driven Development (MDD). In... more
The field of Artificial Immune Systems (AIS) is becoming more popular and AIS-based works spanning from theoretical modeling and simulation to wide variety of applications. In particular, some of the references are of synthetic approaches... more
Aspect-oriented programming (AOP) has been successfully applied to application code thanks to techniques such as Java bytecode instrumentation. Unfortunately, with current technology, such as AspectJ, aspects cannot be woven into standard... more
In this paper, we present the design and the implementation of the dataflow pointcut in AspectJ compiler ajc 1.5.0. Some security concerns are sensitive to flow of information in a program execution. The dataflow pointcut has been... more
Software connectors play an important role in distributed system. In recent years, software developers have been facing more challenges of connectors which are used to connect distributed components. Design of connectors in an existing... more
Access controls are difficult to implement and evidently deficient under certain conditions. Traditional controls offer no protection for unclassified information, such as a telephone list of employees that is unrestricted, yet available... more
This paper discusses the representation and implementation of the Observer design pattern using aspect-oriented techniques. *
Some security concerns are sensitive to flow of information in a program execution. The dataflow pointcut has been proposed by Masuhara and Kawauchi in order to easily implement such security concerns in aspect-oriented programming (AOP)... more
This paper describes and assesses the experiences gained using aspect-oriented programming as supported by the AspectJ language. Aspect-oriented programming is intended to support the modularisation in the design of concerns that are... more
Aspect-oriented programming languages provide their own join point description language or mechanism for specifying join points during the execution of a program where additional code needs to be executed. However, until now such join... more
This paper presents a novel programming model for explicitly separating parallelization and middlewarespecific concerns in Bag-of-Tasks (BoT) grid applications. The model uses Java threads for application decomposition, and... more
This chapter identifies evolution-related issues and challenges in aspectoriented programming. It can serve as a guideline for adopters of aspect technology to get a better idea of the evolution issues they may confront sooner or later,... more
The Java Modeling Language (JML) is a behavioral interface specification language (BISL) designed for Java. It was developed to improve functional software correctness of Java applications. However, the JML compiler explores the... more
Most of the object-oriented cohesion metrics proposed in the literature define static cohesion at class level. Measurement of object-level dynamic cohesion however gives better insight into the behavioural aspects of the system. In this... more
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... more
An aspect observes the execution of a base program; when certain actions occur, the aspect runs some extra code of its own. In the AspectJ language, the observations that an aspect can make are confined to the current action: it is not... more
In order to bridge the gap between conceptual modeling and aspect oriented programming, many researchers have proposed extensions of the UML towards graphical notations for aspects. However, notations without an underlying formal... more
This paper describes our recent work on MATISSE, a framework for MATLAB to C compilation. We focus on the new optimizations and transformations, as well as on OpenCL generation. MATISSE is controlled with LARA, an aspect-oriented... more
Metrics measurement for cost estimation in modeldriven engineering (MDE) is complex because of number of different artifacts that can potentially be generated. The complexity arises as auto-generated code, manually added code, and noncode... more
Design patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, object-oriented (OO) abstractions are often not able... more
Whereas it is generally acknowledged that code tangling reduces the quality of software and that aspect-oriented programming (AOP) is a means of addressing this problem, there is | as yet | no clear denition or characterisation of AOP.... more
Aspect-oriented programming modularizes crosscutting concerns into aspects with the advice invoked at the specified points of program execution. Aspects can be used in a harmful way that invalidates desired properties and even destroys... more
Almost a year ago, Microsoft has introduced the .NET architecture as a new component-based programming environment, which allows for easy integration of classical distributed programming techniques with Web computing. .NET defines a type... more
The application of aspect-oriented programming (AOP) to the embedded operating system domain is still a very controversial topic, as this area demands high performance and small memory footprint. However, recent studies quantifying... more
Context: Data-flow testing approaches have been used for procedural and object-oriented programs, and shown to be effective in detecting faults. However, few such approaches have been evaluated for aspectoriented programs. In such... more
Aspect-oriented programming (AOP), now practically a consolidated academic discipline, has yet to build more solid industrial foundations, especially in the realms of the .NET platform. It's believed that this situation is caused by the... more
One of the fundamental motivations for employing exception handling in the development of robust applications is to lexically separate error handling code so that it can be independently reused and modified. It is usually assumed that the... more
Program slicing is a decomposition technique which has many applications in various software engineering activities such as program debugging, testing, maintenance etc. Aspect-oriented programming (AOP) is a new programming paradigm that... more