Program restructuring as an aid to software maintenance
Program restructuring as an aid to software maintenance
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Artificial Intelligence: A Modern Approach
Artificial Intelligence: A Modern Approach
Refactoring for generalization using type constraints
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
A rigorous approach for proving model refactorings
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Fixing Inconsistencies in UML Design Models
ICSE '07 Proceedings of the 29th international conference on Software Engineering
UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Supporting automatic model inconsistency fixing
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
From Public to Private to Absent: Refactoring Java Programs under Constrained Accessibility
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
MiniZinc: towards a standard CP modelling language
CP'07 Proceedings of the 13th international conference on Principles and practice of constraint programming
Role-based generic model refactoring
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
A refactoring constraint language and its application to eiffel
Proceedings of the 25th European conference on Object-oriented programming
A Search-Based OCL Constraint Solver for Model-Based Test Data Generation
QSIC '11 Proceedings of the 2011 11th International Conference on Quality Software
Refactoring using type constraints
SAS'07 Proceedings of the 14th international conference on Static Analysis
Hi-index | 0.00 |
The UML standard specifies well-formedness rules as constraints on UML models. To be correct, refactoring of a model must take these constraints into account and check that they are still satisfied after a refactoring has been performed -- if not, the refactoring must be refused. With constraint-based refactoring, constraint checking is replaced by constraint solving, lifting the role of constraints from permitting or denying a tentative refactoring to computing additional model changes required for the refactoring to be executable. Thus, to the degree that the semantics of a modelling language is specified using constraints, refactorings based on these constraints are guaranteed to be meaning preserving. To enable the reuse of pre-existing constraints for refactoring, we present a mapping from well-formedness rules as provided by the UML standard to constraint rules as required by constraint-based refactoring. Using these mappings, models can be refactored at no extra cost; if refactorings fail, the lack of meaning preservation points us to how the constraint-based semantic specifications of the modelling language can be improved.