Evolution of Software via Adaptive Programming

Abstract

Adaptive Programming (AP) is a technology that improves the separation of traversal-related concerns by separating the concerns of where-to-go, what-to-do and when-to-do. The three concerns can be understood using the terminology of Aspect-Oriented Programming (AOP): pointcuts, advice and introductions. The concern what-to-do can be implemented as an advice and concern when-to-do as a pointcut. The concern where-to-go specifies a set of introductions that implement a set of traversal methods. AP supports easy re-modularization of generic behavior that is formulated in terms of a generic class graph and traversal specifications (where-to-go concern) with respect to the class graph. Binding the generic behavior to a specific class graph involves updating the class graph and changing the traversal specifications, if needed. This high-level approach to re-modularization makes AP a useful tool to support software evolution.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 01, 2002
Accession Number
ADA408399

Entities

People

  • Karl Lieberherr

Organizations

  • Northeastern University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Air Force Research Laboratories
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Engineering
  • Information Systems
  • Language
  • Object Oriented Programming
  • Personal Information Managers
  • Programming Languages
  • Software Design
  • Software Development
  • Specifications
  • Standards

Fields of Study

  • Computer science

Readers

  • Graph Algorithms and Convex Optimization.
  • Marine Ecotoxicology
  • Software Engineering.