• DocumentCode
    1129515
  • Title

    Build-level components

  • Author

    De Jonge, Merijn

  • Author_Institution
    Philips Res. Lab., Eindhoven, Netherlands
  • Volume
    31
  • Issue
    7
  • fYear
    2005
  • fDate
    7/1/2005 12:00:00 AM
  • Firstpage
    588
  • Lastpage
    600
  • Abstract
    Reuse between software systems is often not optimal. An important reason is that while at the functional level well-known modularization principles are applied for structuring functionality in modules, this is not the case at the build level for structuring files in directories. This leads to a situation where files are entangled in directory hierarchies and build processes, making it hard to extract functionality and to make functionality suitable for reuse. Consequently, software may not come available for reuse at all, or only in rather large chunks of functionality, which may lead to extra software dependencies. In this paper, we propose to improve this situation by applying component-based software engineering (CBSE) principles to the build level. We discuss how existing software systems break CBSE principles, we introduce the notion of build-level components, and we define rules for developing such components. To make our techniques feasible, we define a reengineering process for semiautomatically transforming existing software systems into build-level components. Our techniques are demonstrated in two case studies where we decouple the source tree of Graphviz into 46 build-level components and analyze the source tree of Mozilla.
  • Keywords
    object-oriented programming; software reusability; systems re-engineering; Graphviz source tree; Mozilla source tree; build-level components; component-based software engineering; reengineering process; software component; software construction; software engineering; software system reusability; Assembly systems; Component architectures; Debugging; Functional programming; Software engineering; Software systems; Tree graphs; Index Terms- CBSE; build level.; software component; software construction; software engineering; software reuse; source tree composition;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2005.77
  • Filename
    1492373