Relationship-based change propagation: A case study

  • Authors:
  • Marsha Chechik;Winnie Lai;Shiva Nejati;Jordi Cabot;Zinovy Diskin;Steve Easterbrook;Mehrdad Sabetzadeh;Rick Salay

  • Affiliations:
  • Department of Computer Science, University of Toronto, ON, Canada;Department of Computer Science, University of Toronto, ON, Canada;Department of Computer Science, University of Toronto, ON, Canada;Department of Computer Science, University of Toronto, ON, Canada;Department of Computer Science, University of Toronto, ON, Canada;Department of Computer Science, University of Toronto, ON, Canada;Department of Computer Science, University of Toronto, ON, Canada;Department of Computer Science, University of Toronto, ON, Canada

  • Venue:
  • MISE '09 Proceedings of the 2009 ICSE Workshop on Modeling in Software Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software development is an evolutionary process. Requirements of a system are often incomplete or inconsistent, and hence need to be extended or modified over time. Customers may demand new services or goals that often lead to changes in the design and implementation of the system. These changes are typically very expensive. Even if only local modifications are needed, manually applying them is time-consuming and and error-prone. Thus, it is essential to assist users in propagating changes across requirements, design, and implementation artifacts. In this paper, we take a model-based approach and provide an automated algorithm for propagating changes between requirements and design models. The key feature of our work is explicating relationships between models at the requirements and design levels. We provide conditions for checking validity of these relationships both syntactically and semantically. We show how our algorithm utilizes the relationships between models at different levels to localize the regions that should be modified. We use the IBM Trade 6 case study to demonstrate our approach.