Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Patterns in Java, volume 2
Proceedings of the 20th international conference on Software engineering
Java enterprise design patterns
Java enterprise design patterns
Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems
Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems
Design pattern modelling and instantiation using DPML
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Patterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture
Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML
Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
Precise Visual Specification of Design Patterns
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Correct Composition of Design Components
Proceedings of the Workshop on Object-Oriented Technology
A Formal Approach to Architectural Design Patterns
FME '96 Proceedings of the Third International Symposium of Formal Methods Europe on Industrial Benefit and Advances in Formal Methods
Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies
Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
A UML-Based Pattern Specification Technique
IEEE Transactions on Software Engineering
Applied J2ee Security Patterns: Architectural Patterns & Best Practices
Applied J2ee Security Patterns: Architectural Patterns & Best Practices
Design Patterns for Distributed Real-Time Systems (Real-Time Systems Series)
Design Patterns for Distributed Real-Time Systems (Real-Time Systems Series)
Security Patterns: Integrating Security and Systems Engineering
Security Patterns: Integrating Security and Systems Engineering
Automatic verification of design patterns in Java
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Inference of Design Pattern Instances in UML models via Logic Programming
ICECCS '06 Proceedings of the 11th IEEE International Conference on Engineering of Complex Computer Systems
Reverse Engineering of Design Patterns from Java Source Code
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing
Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing
Pattern Oriented Software Architecture: On Patterns and Pattern Languages (Wiley Software Patterns Series)
An approach to evaluating structural pattern conformance of UML models
Proceedings of the 2007 ACM symposium on Applied computing
Using SCL to Specify and Check Design Intent in Source Code
IEEE Transactions on Software Engineering
Visualizing Design Patterns in Their Applications and Compositions
IEEE Transactions on Software Engineering
Composing pattern-based components and verifying correctness
Journal of Systems and Software
Formalising Design Patterns in Predicate Logic
SEFM '07 Proceedings of the Fifth IEEE International Conference on Software Engineering and Formal Methods
The design navigator: charting java programs
Companion of the 30th international conference on Software engineering
Evaluating pattern conformance of UML models: a divide-and-conquer approach and case studies
Software Quality Control
On the Composition of Design Patterns
QSIC '08 Proceedings of the 2008 The Eighth International Conference on Quality Software
Specifying Behavioural Features of Design Patterns in First Order Logic
COMPSAC '08 Proceedings of the 2008 32nd Annual IEEE International Computer Software and Applications Conference
Patterns for Fault Tolerant Software
Patterns for Fault Tolerant Software
Tool Support for Design Pattern Recognition at Model Level
COMPSAC '09 Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference - Volume 01
Formal specification of the variants and behavioural features of design patterns
Journal of Systems and Software
Automated verification of security pattern compositions
Information and Software Technology
On the Theoretical Foundation of Meta-Modelling in Graphically Extended BNF and First Order Logic
TASE '10 Proceedings of the 2010 4th IEEE International Symposium on Theoretical Aspects of Software Engineering
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
On Instantiation and Integration Commutability of Design Pattern
The Computer Journal
An institution theory of formal meta-modelling in graphically extended BNF
Frontiers of Computer Science in China
1FACS'96 Proceedings of the 1st BCS-FACS conference on Northern Formal Methods
Hi-index | 0.00 |
In a pattern-oriented software design process, design decisions are made by selecting and instantiating appropriate patterns, and composing them together. In our previous work, we enabled these decisions to be formalized by defining a set of operators on patterns with which instantiations and compositions can be represented. In this article, we investigate the algebraic properties of these operators. We provide and prove a complete set of algebraic laws so that equivalence between pattern expressions can be proven. Furthermore, we define an always-terminating normalization of pattern expression to a canonical form which is unique modulo equivalence in first-order logic. By a case study, the pattern-oriented design of an extensible request-handling framework, we demonstrate two practical applications of the algebraic framework. First, we can prove the correctness of a finished design with respect to the design decisions made and the formal specification of the patterns. Second, we can even derive the design from these components.