Maintenance of object-oriented systems during structural evolution
Theory and Practice of Object Systems
A refactoring tool for Smalltalk
Theory and Practice of Object Systems - Special issue object-oriented software evolution and re-engineering
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Design Patterns Application in UML
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Informal Formality? The Object Constraint Language and Its Application in the UML Metamodel
«UML» '98 Selected papers from the First International Workshop on The Unified Modeling Language «UML»'98: Beyond the Notation
A Methodology for the Automated Introduction of Design Patterns
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Practical analysis for refactoring
Practical analysis for refactoring
Using UML Action Semantics for model execution and transformation
Information Systems - The 13th international conference on advanced information systems engineering (CAiSE*01)
Consistency-Preserving Model Evolution through Transformations
UML '02 Proceedings of the 5th International Conference on The Unified Modeling Language
Formalising Behaviour Preserving Program Transformations
ICGT '02 Proceedings of the First International Conference on Graph Transformation
IEEE Software
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Declarative techniques for model-driven business process integration
IBM Systems Journal
Formal refactorings for object models
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Model refactorings through rule-based inconsistency resolution
Proceedings of the 2006 ACM symposium on Applied computing
An approach to refactoring of executable UML models
Proceedings of the 2006 ACM symposium on Applied computing
Practical refactoring of executable UML models
Nordic Journal of Computing
Towards proving preservation of behaviour of refactoring of UML models
SAICSIT '05 Proceedings of the 2005 annual research conference of the South African institute of computer scientists and information technologists on IT research in developing countries
Feature-based survey of model transformation approaches
IBM Systems Journal - Model-driven software development
Optimizing data structures at the modeling level in embedded multimedia
Journal of Systems Architecture: the EUROMICRO Journal
A Static Semantics for Alloy and its Impact in Refactorings
Electronic Notes in Theoretical Computer Science (ENTCS)
Modelchecking Correctness of Refactorings - Some Experiments
Electronic Notes in Theoretical Computer Science (ENTCS)
Transformation techniques for OCL constraints
Science of Computer Programming
Transformation techniques for OCL constraints
Science of Computer Programming
Formal definition of measures for UML statechart diagrams using OCL
Proceedings of the 2008 ACM symposium on Applied computing
Alloy as a Refactoring Checker?
Electronic Notes in Theoretical Computer Science (ENTCS)
Refactoring Process Models in Large Process Repositories
CAiSE '08 Proceedings of the 20th international conference on Advanced Information Systems Engineering
Specifying Domain-Specific Refactorings for AndroMDA Based on Graph Transformation
Applications of Graph Transformations with Industrial Relevance
A Collection Operator for Graph Transformation
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Composite refactoring using fine-grained transformations
Proceedings of the 2009 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists
An Example Is Worth a Thousand Words: Composite Operation Modeling By-Example
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Termination of High-Level Replacement Units with Application to Model Transformation
Electronic Notes in Theoretical Computer Science (ENTCS)
Refactoring merging environment supported by graph transformations
SE '08 Proceedings of the IASTED International Conference on Software Engineering
Two techniques for UML model transformations
International Journal of Computers and Applications
High-level replacement units and their termination properties
Journal of Visual Languages and Computing
Program refactoring, program synthesis, and model-driven development
CC'07 Proceedings of the 16th international conference on Compiler construction
A graphical approach to prove the semantic preservation of UML/OCL refactoring rules
PSI'06 Proceedings of the 6th international Andrei Ershov memorial conference on Perspectives of systems informatics
Towards an integrated quality assessment and improvement approach for UML models
SDL'09 Proceedings of the 14th international SDL conference on Design for motes and mobiles
NGITS'09 Proceedings of the 7th international conference on Next generation information technologies and systems
Automated model transformations based on STRIPS planning
Proceedings of the 6th International Workshop on Enterprise & Organizational Modeling and Simulation
Evolution of XML schemas and documents from stereotyped UML class models: A traceable approach
Information and Software Technology
Identifying Extract Class refactoring opportunities using structural and semantic cohesion measures
Journal of Systems and Software
Survey paper: Refactoring large process model repositories
Computers in Industry
Specification and verification of model-driven data migration
MEDI'11 Proceedings of the First international conference on Model and data engineering
Constraint-based model refactoring
Proceedings of the 14th international conference on Model driven engineering languages and systems
Supporting design model refactoring for improving class responsibility assignment
Proceedings of the 14th international conference on Model driven engineering languages and systems
Model transformations? transformation models!
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Building abstractions in class models: formal concept analysis in a model-driven approach
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Computing refactorings of behavior models
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
On the use of graph transformations for model refactoring
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Model transformations incorporating multiple views
AMAST'06 Proceedings of the 11th international conference on Algebraic Methodology and Software Technology
Modularity and composition in propositional statecharts
Diagrams'06 Proceedings of the 4th international conference on Diagrammatic Representation and Inference
Transformation laws for UML-RT
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Refinement and consistency in component models with multiple views
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
Model refactoring within a sequencer
BICA'12 Proceedings of the 5th WSEAS congress on Applied Computing conference, and Proceedings of the 1st international conference on Biologically Inspired Computation
Combining related products into product lines
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
An approach to test-driven development of conceptual schemas
Data & Knowledge Engineering
Integration of smells and refactorings within the Eclipse modeling framework
Proceedings of the Fifth Workshop on Refactoring Tools
Systematic evolution of WebML models by coupled transformations
ICWE'12 Proceedings of the 12th international conference on Web Engineering
Viewpoint co-evolution through coarse-grained changes and coupled transformations
TOOLS'12 Proceedings of the 50th international conference on Objects, Models, Components, Patterns
An introduction to model versioning
SFM'12 Proceedings of the 12th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: formal methods for model-driven engineering
Metamodel adaptation and model co-adaptation
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
A posteriori operation detection in evolving software models
Journal of Systems and Software
Management of Correctness Problems in UML Class Diagrams Towards a Pattern-Based Approach
International Journal of Information System Modeling and Design
A collection operator for graph transformation
Software and Systems Modeling (SoSyM)
A tool environment for quality assurance based on the Eclipse Modeling Framework
Automated Software Engineering
Proceedings of the 15th annual conference on Genetic and evolutionary computation
Finite satisfiability of UML class diagrams with constrained class hierarchy
ACM Transactions on Software Engineering and Methodology (TOSEM) - In memoriam, fault detection and localization, formal methods, modeling and design
Reusable abstractions for modeling languages
Information Systems
Hi-index | 0.00 |
Software developers spend most of their time modifying and maintaining existing products. This is because systems, and consequently their design, are in perpetual evolution before they die. Nevertheless, dealing with this evolution is a complex task. Before evolving a system, structural modifications are often required. The goal of this kind of modification is to make certain elements more extensible, permitting the addition of new features. However, designers are seldom able to evaluate the impact, on the whole model, of a single modification. That is, they cannot precisely verify if a change modifies the behavior of the modeled system. A possible solution for this problem is to provide designers with a set of basic transformations, which can ensure behavior preservation. These transformations, also known as refactorings, can then be used, step by step, to improve the design of the system. In this paper we present a set of refactorings and explain how they can be designed so as to preserve the behavior of a UML model. Some of these refactorings are illustrated with examples.