This paper presents an aspect-oriented framework where scientific components and aspects are first-order entities (components) which interaction is established by means of what they have called aspect connectors.
Abstract:
Aspect-oriented programming enables developers to capture in separated aspect modules concerns that are spread over different components in a system. This paper is an attempt to apply this paradigm to high performance computing. Besides achieving the usual advantages of improved modularity, more reusable code that is easier to develop and maintain, we pursue to improve efficiency by means of dynamic changes of aspects at runtime. We present an aspect-oriented framework where scientific components and aspects are first-order entities (components) which interaction is established by means of what we have called aspect connectors. As an example, we focus on the communication aspect, which encapsulates the communication scheme among the set of components that set up a system. The expressiveness and suitability of the approach are shown by means of an application example.
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
TL;DR: A model for aspect-oriented reengineering requirements is proposed and the aspect-based technical approach using UML support extension mechanism to reach the 'new improved source code architecture system' is explored.
TL;DR: The objective is to allow researchers and users to create their HPC programs in a more efficient way, with greater reliance on their functionality and achieving a reduction of time, effort and cost in the processes of development and maintenance.
TL;DR: This case study on the use of a high-level, aspect-oriented programming technology for the modelling of the communication and interaction scheme that affects the set of components of a parallel scientific application aims to improve the efficiency by means of dynamic changes of aspects at runtime.
TL;DR: This paper has discussed regarding the house bookkeeping software design and development using a three-dimensional data set through Aspect-Oriented Approach (AOA), and introduced the notion of logical quantifiers to express an infinite series of table names among a three dimensional data set.
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.
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
TL;DR: AspectJ provides support for modular implementation of a range of crosscutting concerns, and simple extensions to existing Java development environments make it possible to browse the crosscutting structure of aspects in the same kind of way as one browses the inheritance structure of classes.
TL;DR: This book introduces a new approach to the design and implementation of software systems which will help users of large scale parallel systems coordinate many concurrent activities toward a single goal and proposes a selection of independent algorithmic skeletons which describes the structure of a particular style of algorithm.
Q1. What are the contributions in "An aspect oriented framework for scientific component development" ?
This paper is an attempt to apply this paradigm to High Performance Computing. Besides achieving the usual advantages of improved modularity, more reusable code that is easier to develop and maintain, the authors pursue to improve efficiency by means of dynamic changes of aspects at runtime. The authors present an Aspect-Oriented Framework where Scientific Components and Aspects are first-order entities ( components ) which interaction is established by means of what they have called Aspect Connectors.
Q2. What are the future works in "An aspect oriented framework for scientific component development" ?
As future work, the authors are interested in studying the possibilities of approaching their proposal to a standard for highperformance computing community.
Q3. What is the use of the aspect connector library?
this library is also used as the runtime support for implementing the get data and put data primitives governing the interaction among SCs.
Q4. What is the interaction between Scientific Components and Aspect Components?
The interaction among Scientific Components, which are in charge of computational tasks, and Aspect Components, used to capture the crosscutting concerns, is controlled by means of Aspect Connectors, which are based on advice and joint points mechanism.
Q5. What is the use of a tool called aspect weaver?
In AOP it is needed a tool called aspect weaver in order to insert code fragments (advice) that are derived from the aspect code to wherever they are needed.
Q6. What is the common way that SCs interact each other?
SCs interact each other following a ”data flow” style by means of a typical put data/get data scheme based on the SBASCO approach.