Wikipedia's refactoring definition:
"In software engineering, "refactoring" source code means improving it without changing its overall results. The process could be informally referred to as "cleaning up" or "taking out the garbage". Refactoring neither fixes bugs nor adds new functionality, though it might precede either activity. Rather, it improves the understandability of the code, changes its internal structure and design, and removes dead code.
These changes are intended to make the code easier to comprehend, more maintainable, and more amenable to change. Refactoring is usually motivated by the difficulty of adding new functionality to a program or fixing a bug in it."
ABSE is highly refactorable. Because you can refactor at the Atom level, you are refactoring at a higher level than just code. You'll find out that most code refactoring operations can also be done at the Atom level.
Refactoring operations in ABSE range from a simple Atom move up to an entirely new Atom Library.
For instance, transferring some code into another method may just involve moving the affected algorithm Atoms into the new method Atom. |
Refactoring Architecture
ABSE metamodels can evolve with your skill, giving you an easy, smooth evolution path towards full Model-Driven Software Development and Domain-Specific Modeling.

You can start doing just some text transformation, grow up by refactoring metamodels into common patterns. You can continue right up to Software Product Lines. |