• DocumentCode
    3153981
  • Title

    A two-phase process for software architecture improvement

  • Author

    Krikhaar, René ; Postma, Andre ; Sellink, Alex ; Stroucken, Marc ; Verhoef, Chris

  • Author_Institution
    Philips Res. Lab., Eindhoven, Netherlands
  • fYear
    1999
  • fDate
    1999
  • Firstpage
    371
  • Lastpage
    380
  • Abstract
    Software architecture is important for large systems in which it is the main means for among other things, controlling complexity. Current ideas on software architectures were not available more than ten years ago. Software developed at that time has been deteriorating from an architectural point of view over the years, as a result of adaptations made in the software because of changing system requirements. Parts of the old software are nevertheless still being used in new product lines. To make changes in that software, like adding features, it is imperative to first adapt the software to accommodate those changes. Architecture improvement of existing software is therefore becoming more and more important. The paper describes a two-phase process for software architecture improvement, which is the synthesis of two research areas: the architecture visualisation and analysis area of Philips Research, and the transformation engines and renovation factories area of the University of Amsterdam. Software architecture transformation plays an important role, and is to our knowledge a new research topic. Phase one of the process is based on Relation Partition Algebra (RPA). By lifting the information to higher levels of abstraction and calculating metrics over the system, all kinds of quality aspects can be investigated. Phase two is based on formal transformation techniques on abstract syntax trees. The software architecture improvement process allows for a fast feedback loop on results, without the need to deal with the complete software and without any interference with the normal development process
  • Keywords
    algebra; formal specification; program visualisation; software architecture; software metrics; software process improvement; Relation Partition Algebra; abstract syntax trees; architecture visualisation; changing system requirements; complexity control; fast feedback loop; formal transformation techniques; large systems; normal development process; product lines; quality aspects; renovation factories area; software architecture improvement; software architecture improvement process; software architecture transformation; transformation engines; two-phase process; Computer architecture; Consumer electronics; Control systems; Engines; Feedback loop; Laboratories; Production facilities; Software architecture; Software maintenance; Visualization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 1999. (ICSM '99) Proceedings. IEEE International Conference on
  • Conference_Location
    Oxford
  • ISSN
    1063-6773
  • Print_ISBN
    0-7695-0016-1
  • Type

    conf

  • DOI
    10.1109/ICSM.1999.792635
  • Filename
    792635