Refactoring is a technique for restructuring program code to improve its quality. This work adapts refactoring to the layer of design models of reactive systems by using a formal notion of behavior equivalence. Therefore the modeling language AutoFocus is exemplary used. We define a notion of equivalence of interface behavior under time abstraction. The suitability of time synchronous and time asynchronous semantics for applying refactoring is examined. We define the property of time robustness of time synchronous models, that eases the realization of refactoring. Based on this property we construct a semantics that extensively supports model refactoring. A catalog of refactorings of AutoFocus System Structure Diagrams and State Transition Diagrams are defined including an evidence of behavior preservation. These refactorings enable vast architectural changes of existing software systems. Finally we integrate the model refactoring technique into a model based iterative development process. «

Refactoring is a technique for restructuring program code to improve its quality. This work adapts refactoring to the layer of design models of reactive systems by using a formal notion of behavior equivalence. Therefore the modeling language AutoFocus is exemplary used. We define a notion of equivalence of interface behavior under time abstraction. The suitability of time synchronous and time asynchronous semantics for applying refactoring is examined. We define the property of time robustness... »