Improving software quality: an insider's guide to TQM
Improving software quality: an insider's guide to TQM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Handbook of graph grammars and computing by graph transformation: volume I. foundations
Handbook of graph grammars and computing by graph transformation: volume I. foundations
Application of graph transformation to visual languages
Handbook of graph grammars and computing by graph transformation
Object-oriented design patterns recovery
Journal of Systems and Software
Automated software evolution towards design patterns
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Describing Software Architecture Styles Using Graph Grammars
IEEE Transactions on Software Engineering
Formalising Behaviour Preserving Program Transformations
ICGT '02 Proceedings of the First International Conference on Graph Transformation
A Formal Semantics of UML Statecharts by Model Transition Systems
ICGT '02 Proceedings of the First International Conference on Graph Transformation
Software Development Based on Software Pattern Evolution
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Design Pattern Recovery by Visual Language Parsing
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Design Pattern Mining Enhanced by Machine Learning
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
A Model Transformation Approach for Design Pattern Evolutions
ECBS '06 Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems
Spatial graph grammars for graphical user interfaces
ACM Transactions on Computer-Human Interaction (TOCHI)
Graph Grammar Induction on Structural Data for Visual Programming
ICTAI '06 Proceedings of the 18th IEEE International Conference on Tools with Artificial Intelligence
Design Pattern Detection Using Similarity Scoring
IEEE Transactions on Software Engineering
Design Pattern Evolution and Verification Using Graph Transformation
HICSS '07 Proceedings of the 40th Annual Hawaii International Conference on System Sciences
Service Architecture Design for E-Businesses: A Pattern-Based Approach
EC-Web '08 Proceedings of the 9th international conference on E-Commerce and Web Technologies
Formal Foundation for Pattern-Based Modelling
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
A Pattern Mining Approach Using QVT
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
Information and Software Technology
A graph-based aspect interference detection approach for UML-based aspect-oriented models
Transactions on aspect-oriented software development VII
A graph-based aspect interference detection approach for UML-based aspect-oriented models
Transactions on aspect-oriented software development VII
Graph transformations for evolving domain knowledge
ICGT'12 Proceedings of the 6th international conference on Graph Transformations
Hi-index | 0.00 |
In recent years, design patterns gain more interest in software engineering communities for both software development and maintenance. As a template to solve a certain recurring problem, a design pattern documents successful experiences of software experts and gradually becomes the design guidelines of software development. Applying design patterns correctly can improve the efficiency of software design in terms of reusability and enhance maintainability during reverse engineering. Software can be evolved when developers modify their initial designs as requirements change. For instance, a developer may add/delete a set of design elements, such as classes and methods. Modifications on software artifacts can introduce conflicts and inconsistencies in the previously applied design patterns, which are difficult to find and time-consuming to correct. This paper presents a graph-transformation approach to pattern level design validation and evolution. Based on a well founded formalism, we validate a given design by a graph grammar parser and automatically evolve the design at pattern level using a graph-transformation system. Rules for potential pattern evolutions are predefined. The graph-transformation approach preserves the integrity and consistency of design patterns in the system when designs change. A prototype system is built and a case study on the Strategy pattern demonstrates the feasibility of pattern-based design validation and evolution using graph transformation techniques.