Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
An Algorithm for Subgraph Isomorphism
Journal of the ACM (JACM)
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
Distributed and Parallel Databases
AToM3: A Tool for Multi-formalism and Meta-modelling
FASE '02 Proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering
Precise Visual Specification of Design Patterns
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
UML Support for Designing Software Systems as a Composition of Design Patterns
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
TOOLS '01 Proceedings of the 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS39)
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML
Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML
A UML-Based Pattern Specification Technique
IEEE Transactions on Software Engineering
Refactoring to Patterns
Precise Modeling of Design Patterns in UML
Proceedings of the 26th International Conference on Software Engineering
Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series)
Model-Driven Design Using Business Patterns
Model-Driven Design Using Business Patterns
Designing Interfaces
Theory of Constraints and Application Conditions: From Graphs to High-Level Structures
Fundamenta Informaticae - SPECIAL ISSUE ON ICGT 2004
Visualizing Design Patterns in Their Applications and Compositions
IEEE Transactions on Software Engineering
Pattern-based design evolution using graph transformation
Journal of Visual Languages and Computing
Incremental pattern matching in the viatra model transformation system
Proceedings of the third international workshop on Graph and model transformations
On the Composition of Design Patterns
QSIC '08 Proceedings of the 2008 The Eighth International Conference on Quality Software
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
Model view management with triple graph transformation systems
ICGT'06 Proceedings of the Third international conference on Graph Transformations
Finding the pattern you need: the design pattern intent ontology
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Formalising design and interaction patterns and their relationships
Proceedings of the 1st International Workshop on Pattern-Driven Engineering of Interactive Computing Systems
Generic model transformations: write once, reuse everywhere
ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
Understanding design patterns — what is the problem?
Software—Practice & Experience
Graph transformations for evolving domain knowledge
ICGT'12 Proceedings of the 6th international conference on Graph Transformations
Hi-index | 0.00 |
Context: Patterns are used in different disciplines as a way to record expert knowledge for problem solving in specific areas. Their systematic use in Software Engineering promotes quality, standardization, reusability and maintainability of software artefacts. The full realisation of their power is however hindered by the lack of a standard formalization of the notion of pattern. Objective: Our goal is to provide a language-independent formalization of the notion of pattern, so that it allows its application to different modelling languages and tools, as well as generic methods to enable pattern discovery, instantiation, composition, and conflict analysis. Method: For this purpose, we present a new visual and formal, language-independent approach to the specification of patterns. The approach is formulated in a general way, based on graphs and category theory, and allows the specification of patterns in terms of (nested) variable submodels, constraints on their allowed variance, and inter-pattern synchronization across several diagrams (e.g. class and sequence diagrams for UML design patterns). Results: We provide a formal notion of pattern satisfaction by models and propose mechanisms to suggest model transformations so that models become consistent with the patterns. We define methods for pattern composition, and conflict analysis. We illustrate our proposal on UML design patterns, and discuss its generality and applicability on different types of patterns, e.g. workflow patterns, enterprise integration patterns and interaction patterns. Conclusion: The approach has proven to be powerful enough to formalize patterns from different domains, providing methods to analyse conflicts and dependencies that usually are expressed only in textual form. Its language independence makes it suitable for integration in meta-modelling tools and for use in Model-Driven Engineering.