Aspect-oriented Approach to Metamodel Abstraction

keywords: Program comprehension, software adaptation, metalevel architecture, metaprogramming, aspect-oriented programming
A software system maintenance represents an important part of software system's lifetime. The most common reasons to change a software system are bug fixes and adding of a new functionality. Software maintenance itself is a difficult and complex process. Before applying a change, it is important to understand the software system's source code as well as the application domain. This paper presents our innovative approach to improve software system comprehension in order to simplify its maintenance. Instead of analyzing all the program code, our approach focuses on parts which are built using predefined well known software libraries. The knowledge of both -- the libraries and the way they are used in software systems -- allows us to identify certain concepts of the software system. This information is used to create metamodels of these concepts. The metamodel is created at a higher level of abstraction than the level of concept implementation.
mathematics subject classification 2000: 68N15, 68N20
reference: Vol. 31, 2012, No. 5, pp. 983–1002