ACM Home Page
Please provide us with feedback. Feedback
Co-evolving application code and design models by exploiting meta-data
Full text PdfPdf (315 KB)
Source Symposium on Applied Computing archive
Proceedings of the 2007 ACM symposium on Applied computing table of contents
Seoul, Korea
SESSION: Programming for separation of concerns table of contents
Pages: 1275 - 1279  
Year of Publication: 2007
ISBN:1-59593-480-4
Authors
Walter Cazzola  Università degli Studi di Milano
Sonia Pini  Università degli Studi di Genova
Ahmed Ghoneim  Otto-von-Guericke-Universität Magdeburg
Gunter Saake  Otto-von-Guericke-Universität Magdeburg
Sponsor
SIGAPP: ACM Special Interest Group on Applied Computing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 36,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1244002.1244278
What is a DOI?

ABSTRACT

Evolvability and adaptability are intrinsic properties of today's software applications. Unfortunately, the urgency of evolving/adapting a system often drives the developer to directly modify the application code neglecting to update its design models. Even, most of the development environments support the code refactoring without supporting the refactoring of the design information.

Refactoring, evolution and in general every change to the code should be reflected into the design models, so that these models consistently represent the application and can be used as documentation in the successive maintenance steps. The code evolution should not evolve only the application code but also its design models. Unfortunately, to co-evolve the application code and its design is a hard job to be carried out automatically, since there is an evident and notorious gap between these two representations.

We propose a new approach to code evolution (in particular to code refactoring) that supports the automatic co-evolution of the design models. The approach relies on a set of predefined metadata that the developer should use to annotate the application code and to highlight the refactoring performed on the code. Then, these meta-data are retrieved through reflection and used to automatically and coherently update the application design models.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
W. Cazzola, A. Cisternino, and D. Colombo. Freely Annotating C#. Journal of Object Technology, 4(10):31--48, Dec. 2005.
 
2
W. Cazzola, A. Ghoneim, and G. Saake. Viewpoint for Maintaining UML Models against Application Changes. In Proc. of ICSOFT 2006, pages 263--268, Sétubal, Portugal, Sept. 2006. Springer.
 
3
W. Cazzola, S. Pini, and M. Ancona. The Role of Design Information in Software Evolution. In Proc. of RAM-SE'05, pp. 59--70, Glasgow, Scotland, July 2005.
 
4
T. D'Hondt, K. De Volder, K. Mens, and R. Wuyts. Co-Evolution of Object-Oriented Software Design and Implementation. In Proc. of ISSACT 2000, pp. 207--224, Twente, The Netherlands, Jan. 2000. Kluwer.
 
5
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading, Massachusetts, June 1999.
 
6
 
7
 
8
K. Mens, A. Kellens, F. Pluquet, and R. Wuyts. Co-evolving Code and Design Using Intensional Views - A Case Study. Journal of Computer Languages, Systems and Structures, 32(2):140--156, July/Oct. 2006.
 
9
M. Torchiano, F. Ricca, and P. Tonella. A Comparative Study on the Re-Documentation of Existing Software: Code Annotations vs. Drawing Editors. In Proc. of ISESE'05, pp. 277--286, Noosa Heads, Australia, Nov. 2005.


Collaborative Colleagues:
Walter Cazzola: colleagues
Sonia Pini: colleagues
Ahmed Ghoneim: colleagues
Gunter Saake: colleagues