Towards a more piece-ful world

  • Authors:
  • Peri Tarr

  • Affiliations:
  • IBM Thomas J. Watson Research Center, Yorktown Heights, NY

  • Venue:
  • Proceedings of the 2nd international conference on Generative programming and component engineering
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We envision a world in which we can develop, synthesize, adapt, integrate, and evolve software based on high-quality, perpetually flexible pieces. New pieces may be produced by generation, adaptation of existing pieces, or integration of pieces, and this process of "pieceware" engineering continues-statically or dynamically-until a piece with the desired capabilities and properties is synthesized. The pieces themselves may comprise fragments of requirements, models, architectures, patterns, designs, code, tests, and/or any other relevant software artifacts. Many technologies are critical to achieving pieceware engineering; some have been developed in this community and elsewhere, and others are still required.Despite the progress in this field, we have encountered two major problems along the way towards realizing the pieceware vision. First, what paradigms, technologies, and methodologies are required to enable full-lifecycle pieceware engineering? Second, how do we provide the necessary tool support?Our inability to address the second problem has seriously compromised our ability to address the first. The development of tools to realize different pieceware engineering approaches represents a huge investment of time and effort. This is largely because each one must be built from scratch or from low-level abstractions. Consequently, the tools themselves represent isolated point solutions, and rarely have any ability to interoperate or be integrated. This has impeded the development and validation of full-lifecycle pieceware engineering paradigms, technologies, and methodologies.The Concern Manipulation Environment (CME) represents the first effort to define an open, extensible set of components and abstractions to promote the rapid development and integration of tools that support pieceware engineering. The initial focus is on tools for aspect-oriented software development (AOSD), an emerging technology area that is key to pieceware engineering. This talk describes the pieceware engineering vision, the major issues to be addressed, and the technologies required to achieve it. It then discusses how the CME helps to address many of these issues-illustrated by the use of the CME to enable the evolution of a real-world system-and how it can be leveraged by researchers and developers to produce, experiment with, validate, and integrate new pieceware techologies and paradigms. Finally, we identify some of the key challenges remaining to achieve the vision of pieceware engineering.