Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Relationships between design patterns
Pattern languages of program design
backus normal form vs. Backus Naur form
Communications of the ACM
Executable UML: A Foundation for Model-Driven Architectures
Executable UML: A Foundation for Model-Driven Architectures
Patterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture
FORM: A feature-oriented reuse method with domain-specific reference architectures
Annals of Software Engineering
Classifying Relationships between Object-Oriented Design Patterns
ASWEC '98 Proceedings of the Australian Software Engineering Conference
Declarative Reasoning about the Structure of Object-Oriented Systems
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
The Pragmatics of Model-Driven Development
IEEE Software
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)
Verification and Validation for Quality of UML 2.0 Models
Verification and Validation for Quality of UML 2.0 Models
Modeling architectural patterns using architectural primitives
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Model-Driven Development: Its Essence and Opportunities
ISORC '06 Proceedings of the Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing
Pattern Oriented Software Architecture: On Patterns and Pattern Languages (Wiley Software Patterns Series)
Design Pattern Detection Using Similarity Scoring
IEEE Transactions on Software Engineering
Fixing Inconsistencies in UML Design Models
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Systematic pattern selection using pattern language grammars and design space analysis
Software—Practice & Experience
A Pattern Language Verifier for Web-Based Enterprise Applications
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Tool Support for Pattern Selection and Use
Electronic Notes in Theoretical Computer Science (ENTCS)
Describing Pattern Languages for Checking Design Models
APSEC '09 Proceedings of the 2009 16th Asia-Pacific Software Engineering Conference
On verifying the use of a pattern language in model driven design
On verifying the use of a pattern language in model driven design
Model driven engineering: an emerging technical space
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Hi-index | 0.07 |
This paper addresses the problem of verifying the application of a Pattern Language in a design that is built based upon the patterns of the language in a model-driven approach. We propose a process named Pattern Language Verifier (PLV) which consists of four phases, working on a design model, to (1) verify the structure of every single pattern, (2) verify the relationships between the detected patterns, (3) verify the semantic aspects of the patterns, and (4) report the problems and help the designer fix them. Building a PLV for a given Pattern Language, requires the structural, syntactic, and semantic rules of the language to be precisely defined using the presented formalism. For the case study, a group of enterprise architectural patterns is selected as the Pattern Language. The structural, syntactic, and semantic rules of the language are defined using the proposed formalism. A PLV is designed and implemented as an integration into an open source modeling tool. The tool is then utilized in designing a sample web application. The usefulness of the tool is represented by walkthrough scenarios that show finding the mistakes in the model and helping the designer repair the detected problems.