Applying Aspect-Orient Programming Concepts to a Component-Based Programming Model

  • Authors:
  • Thomas Eidson;Jack Dongarra;Victor Eijkhout

  • Affiliations:
  • -;-;-

  • Venue:
  • IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The execution environments For scientific applications have evolved significantly overthe years. Vector and parallel architectures have provided significantly faster computations. Cluster computers have reduced the cost of high-performance architectures. However, the software development environments have not keep pace. Object-oriented and component-based languages have not been widely adopted. Distributed computing on local area networks and Grids is only being used by a most number of applications.Clearly, there is a need for development environments that support the efficient creationof applications that use modern execution systems. This has been the goal of a continuingresearch effort over the last several years. The previous focus has been on using component-based ideas to develop a programming model and associated framework to support such a development approach. In this paper, two additional concepts are added tothe base approach. Aspect-oriented concepts are applied to support the reduction of intertwined code related to different programming concerns; mixing I/O with a numerical computation is one example. Particularly in large applications, intertwining code can lead to applications that are difficult to modify and to manage. The second concept being added is the use of behavioral metadata. When coupling smaller pieces of code (or components) to make a larger composite application, one needs to determine the suitability of the internal behavior of component as well as the compatibility of its interfaces. The objective is to integrate some of this information into the component and design a framework assist the programmer in making these decisions.