High-level Transformations to Support Framework-Based Software Development

Abstract In this paper, we show how elaborate support for framework-based software development can be provided based on explicit documentation of the hot spots of object-oriented application frameworks. This support ranges from automatically verifying whether appropriate design constraints are preserved, over providing high-level transformations that guide a developer when instantiating applications from a framework, to supporting software upgrades based on these transformations. The hot spots are documented by means of design patterns, and we use metapatterns as an abstraction to define the associated design constraints and high-level transformations.

[1]  Tom Mens,et al.  A formal foundation for object-oriented software evolution , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[2]  Roel Wuyts,et al.  A Logic Meta-Programming Approach to Support the Co-Evolution of Object-Oriented Design and Implementation , 2001 .

[3]  Tom Mens,et al.  A declarative evolution framework for object-oriented design patterns , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[4]  Ralph E. Johnson,et al.  Patterns Generate Architectures , 1994, ECOOP.

[5]  Pierre Deransart,et al.  Prolog - the standard: reference manual , 1996 .

[6]  Greg Butler,et al.  Documenting Frameworks to Assist Application Developers , 1997 .

[7]  M.N. Sastry,et al.  Structure and interpretation of computer programs , 1986, Proceedings of the IEEE.

[8]  Tom Tourwé,et al.  Automated Support for Framework-Based Software Evolution , 2003 .

[9]  Tom Mens,et al.  A State-of-the-Art Survey on Software Merging , 2002, IEEE Trans. Software Eng..

[10]  Douglas C. Schmidt,et al.  Object-oriented application frameworks , 1997, CACM.

[11]  Jan Bosch,et al.  Design erosion: problems and causes , 2002, J. Syst. Softw..

[12]  Ralph Johnson Documenting frameworks using patterns , 1992, OOPSLA 1992.

[13]  Oscar Nierstrasz,et al.  The Effect of Object-Oriented Frameworks on Developer Productivity , 1996, Computer.

[14]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[15]  Marc Rettig,et al.  Nobody reads documentation , 1991, CACM.

[16]  Jan Bosch,et al.  Design Erosion: Problems & Causes , 2001 .

[17]  Kris De Volder,et al.  Type-Oriented Logic Meta Programming , 1998 .

[18]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.