We can distinguish between two kinds of refactoring:
-
ProgramRefactoring deals with the refactoring of source code (i.e., programs). It is a specific kind of
ProgramTransformation that preserves the external behaviour of the program.
-
ModelRefactoring deals with the refactoring of models (e.g. design models). In a certain sense,
ModelRefactoring encompasses
ProgramRefactoring, at least for those who take the view that a program is nothing but a special kind of (very detailed) model.
ModelRefactoring is a special kind of
ModelTransformation, namely a model transformation that preserves the behaviour of the model, however behaviour is defined.
--
TomMens - 04 Oct 2004
Revision: r1.1 - 04 Oct 2004 - 13:32 - TomMens