Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
A denotational semantics of inheritance and its correctness
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Connections: the geometric bridge between art and science
Connections: the geometric bridge between art and science
Advanced C++ programming styles and idioms
Advanced C++ programming styles and idioms
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern: half-object + protocol (HOPP)
Pattern languages of program design
A pattern language for improving the capacity of reactive systems
Pattern languages of program design 2
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
C++ primer (3rd ed.)
Multi-paradigm design for C++
C++ Report
Precise specification and automatic application of design patterns
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Metaphor and metonymy in object-oriented design patterns
ACSC '02 Proceedings of the twenty-fifth Australasian conference on Computer science - Volume 4
Symmetry in class and type hierarchy
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Sequences as a basis for pattern language composition
Science of Computer Programming - Special issue on new software composition concepts
Ercatons and organic programming: say good-bye to planned economy
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Characterizing the dynamics of symmetry breaking in genetic programming
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Pattern categories: a mathematical approach for organizing design patterns
CRPIT '02 Proceedings of the 2002 conference on Pattern languages of programs - Volume 13
Systematic pattern selection using pattern language grammars and design space analysis
Software—Practice & Experience
Patterns, symmetry, and symmetry breaking
Communications of the ACM - Urban sensing: out of the woods
Generalising Unitary Time Evolution
QI '09 Proceedings of the 3rd International Symposium on Quantum Interaction
Hi-index | 0.00 |
Patterns have a longstanding identity in the scientific community as results of a phenomenon called symmetry breaking. This article proposes a formalism for software patterns through connections from software patterns to symmetry and symmetry breaking. Specifically, we show (1) the ties from Alexander's work to symmetry and symmetry-breaking foundations; (2) many programming languages provide constructs that support symmetry; (3) software patterns are the results of symmetry breaking, compensating for design shortfalls in programming languages. The proposed pattern formalism may be useful as a foundation for pattern taxonomies, and to differentiate patterns as a design discipline from heuristics, rules, and arbitrary micro-architectures.