|
ABSTRACT
The evolution of a software framework may invalidate existing plugins - modules that used one of its previous versions. To preserve binary compatibility (i.e., plugins will link and run with a new framework release without recompilation), we automatically create an adaptation layer that translates between plugins and the framework. The creation of these adapters is guided by information about syntactic framework changes (refactorings). For each supported refactoring we formally define a comeback - a refactoring used to construct adapters. For an ordered set of refactorings that occured between two framework versions, the backward execution of the corresponding comebacks yields the adaptation layer.
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
|
Comarch homepage. http://www.comarch.com.
|
| |
2
|
ComeBack! homepage. http://comeback.sf.net.
|
| |
3
|
CORBA homepage. http://www.corba.org.
|
| |
4
|
Eclipse homepage. http://www.eclipse.org.
|
| |
5
|
Fujaba homepage. http://www.fujaba.de.
|
| |
6
|
Microsoft COM homepage. http://www.microsoft.com/Com/default.mspx.
|
| |
7
|
Microsoft.NET homepage. http://www.microsoft.com/net.
|
 |
8
|
Ittai Balaban , Frank Tip , Robert Fuhrer, Refactoring support for class library migration, Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
| |
9
|
S. Becker, A. Brogi, I. Gorton, S. Overhage, A. Romanovsky, and M. Tivoli. Towards an engineering approach to component adaptation. Technical Report 939, University of Newcastle upon Tyne, School of Computing Science, Jan 2006.
|
 |
10
|
Paul L. Bergstein, Object-preserving class transformations, Conference proceedings on Object-oriented programming systems, languages, and applications, p.299-313, October 06-11, 1991, Phoenix, Arizona, United States
|
| |
11
|
J. Camara, C. Canal, J. Cubo, and J. Murillo. An aspect-oriented adaptation framework for dynamic component evolution. In 3rd ECOOP Workshop on Reflection, AOP and Meta-Data for Software Evolution, pages 59--71, 2006.
|
| |
12
|
|
| |
13
|
|
| |
14
|
J. des Rivières. Evolving Java-based APIs. http://wiki.eclipse.org/Evolving_Java-based_APIs, 2001.
|
| |
15
|
|
 |
16
|
|
 |
17
|
Ira R. Forman , Michael H. Conner , Scott H. Danforth , Larry K. Raper, Release-to-release binary compatibility in SOM, Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, p.426-438, October 15-19, 1995, Austin, Texas, United States
|
| |
18
|
|
| |
19
|
|
| |
20
|
|
 |
21
|
|
 |
22
|
|
| |
23
|
B. Hoffmann, D. Janssens, and N. V. Eetvelde. Cloning and expanding graph transformation rules for refactoring. In Electronic Notes in Theoretical Computer Science, pages 53--67, 2006.
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
|
| |
28
|
|
| |
29
|
K. J. Lieberherr, W. L. Hursch, and C. Xiao. Object-extending class transformations. Formal Aspects of Computing, 6(4):391--416, 1994.
|
| |
30
|
|
| |
31
|
F. McGurren and D. Conroy. X-adapt: An architecture for dynamic systems. In Workshop on Component-Oriented Programming, ECOOP, Malaga, Spain, pages 56--70, 2002.
|
| |
32
|
|
| |
33
|
|
| |
34
|
D. Riehle. Framework Design: A Role Modeling Approach. PhD thesis, Swiss Federal Institute of Technology Zurich, Universitaet Hamburg, 2000.
|
| |
35
|
|
| |
36
|
S. Roock and A. Havenstein. Refactoring tags for automatic refactoring of framework dependent applications. In XP'02: Proceedings of Extreme Programming Conference, pages 182--185, 2002.
|
| |
37
|
|
| |
38
|
R. M. Smullyan. First-Order Logic. Dover Publications, New York, USA, 1968.
|
CITED BY 4
|
|
|
|
|
|
|
|
|
|
|
Ilie Şavga , Michael Rudolf , Sebastian Götz , Uwe Aßmann, Practical refactoring-based framework upgrade, Proceedings of the 7th international conference on Generative programming and component engineering, October 19-23, 2008, Nashville, TN, USA
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.13
Reusable Software
Subjects:
Reusable libraries
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.7
Distribution, Maintenance, and Enhancement
Subjects:
Restructuring, reverse engineering, and reengineering
General Terms:
Design,
Experimentation,
Languages
Keywords:
component-based systems,
frameworks,
refactoring,
software adaptation,
software evolution
|