Patterns as Signs

Object-oriented design patterns have been one of the most important and successful ideas in software design over the last ten years, and have been well adopted both in industry and academia. A number of open research problems remain regarding patterns, however, including the differences between patterns, variant forms of common patterns, the naming of patterns, the organisation of collections of patterns, and the relationships between patterns. We provide a semiotic account of design patterns, treating a pattern as a sign comprised of the programmers' intent and its realisation in the program. Considering patterns as signs can address many of these common questions regarding design patterns, to assist both programmers using patterns and authors writing them.

[1]  James O. Coplien,et al.  Symmetry in class and type hierarchy , 2002 .

[2]  Finn Borum,et al.  Divergence and Convergence of Organisational Forms: An Analysis of the Structuring of the Danish IT Field , 1992, Scand. J. Inf. Syst..

[3]  Dirk Riehle A Role-Based Design Pattern Catalog of Atomic and Composite Patterns Structured by Pattern Purpose , 1997 .

[4]  Peter Bøgh Andersen,et al.  Tangible objects: connecting informational and physical space , 2002 .

[5]  Richard P. Gabriel,et al.  Patterns of Software: Tales from the Software Community , 1996 .

[6]  Ronald K. Stamper,et al.  A Theory of Computer Semiotics , 1992 .

[7]  John Crupi,et al.  Core J2EE Patterns: Best Practices and Design Strategies , 2001 .

[8]  Trygve Reenskaug,et al.  Working with objects - the OOram software engineering method , 1995 .

[9]  F. D. Saussure,et al.  Cours de linguistique générale[Saussure, 1922] , 1922 .

[10]  John Vlissides,et al.  Pattern hatching: design patterns applied , 1998 .

[11]  Norman L. Kerth,et al.  Using Patterns To Improve Our Architectural Vision , 1997, IEEE Softw..

[12]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[13]  Stuart Kent,et al.  Precise Visual Specification of Design Patterns , 1998, ECOOP.

[14]  Linda Rising,et al.  The Pattern Almanac 2000 , 2000 .

[15]  Umberto Eco,et al.  Kant and the Platypus , 1999 .

[16]  Peter Bøgh Andersen Vector Spaces as the Basic Component of Interactive Systems: Towards a Computer Semiotics , 1992, Hypermedia.

[17]  Gerard G. Meszaros,et al.  A pattern language for pattern writing , 1997 .

[18]  Amnon H. Eden,et al.  Precise specification and automatic application of design patterns , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[19]  U. Eco A Theory of Semiotics , 1977 .

[20]  Jiri Soukup Taming C++: Pattern Classes and Persistence for Large Projects , 1994 .

[21]  James O. Coplien,et al.  Pattern languages of program design , 1995 .

[22]  Dirk Riehle Composite design patterns , 1997, OOPSLA '97.

[23]  Paul Cobley,et al.  The Routledge companion to semiotics and linguistics , 2001 .

[24]  Andy Bulka Design pattern automation , 2003 .

[25]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[26]  Dirk Riehle,et al.  Pattern Languages of Program Design 3 , 1997 .

[27]  Amnon H Eden A VISUAL FORMALISM FOR OBJECT-ORIENTED ARCHITECTURE , 2002 .

[28]  James Coplien,et al.  Idioms And Patterns As Architectural Literature , 1997, IEEE Softw..

[29]  Dirk Riehle,et al.  Understanding and Using Patterns in Software Development , 1996, Theory Pract. Object Syst..

[30]  James O. Coplien,et al.  Symmetry and Symmetry Breaking in Software Patterns , 2000 .

[31]  Dirk Riehle,et al.  The Role Object Pattern , 1997 .

[32]  Alan F. Blackwell,et al.  Cognitive Questions in Software Visualisation , 1997 .

[33]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[34]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .

[35]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[36]  Douglas C. Schmidt,et al.  Software patterns , 1996, CACM.

[37]  J. Goguen An introduction to algebraic semiotics, with application to user interface design , 1999 .

[38]  James O. Coplien,et al.  A generative development-process pattern language , 1995 .

[39]  Thomas Kühne,et al.  A functional pattern system for object-oriented design , 1999 .

[40]  Tommi Mikkonen,et al.  Formalizing design patterns , 1998, Proceedings of the 20th International Conference on Software Engineering.

[41]  Roy H. Campbell,et al.  Monitoring compliance of a software system with its high-level design models , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[42]  Linda Rising,et al.  The Pattern Almanac , 2000 .

[43]  James O. Coplien A Pattern Language for Writers’ Workshops , 1997 .

[44]  James Noble,et al.  Classifying relationships between object-oriented design patterns , 1998, Proceedings 1998 Australian Software Engineering Conference (Cat. No.98EX233).

[45]  Jean-Marc Jézéquel,et al.  Design Patterns Application in UML , 2000, ECOOP.

[46]  Ellen Agerbo,et al.  How to preserve the benefits of design patterns , 1998, OOPSLA '98.

[47]  Antony Easthope,et al.  A Critical and Cultural Theory Reader , 1992 .

[48]  James Coplien,et al.  Symmetry Breaking in Software Patterns , 2000, GCSE.

[49]  Walter Zimmer,et al.  Relationships between design patterns , 1995 .

[50]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[51]  Walter F. Tichy A catalogue of general-purpose software design patterns , 1997, Proceedings of TOOLS USA 97. International Conference on Technology of Object Oriented Systems and Languages.

[52]  Marco Meijers,et al.  Tool Support for Object-Oriented Patterns , 1997, ECOOP.

[53]  Christopher Alexander The Origins of Pattern Theory: The Future of the Theory, and the Generation of a Living World , 1999, IEEE Softw..

[54]  F. D. Saussure Cours de linguistique générale , 1924 .

[55]  Joseph Gil,et al.  Design Patterns and Language Design , 1998, Computer.

[56]  Jim Coplien C++ Idioms , 1998, EuroPLoP.

[57]  Joost Visser Visitor combination and traversal control , 2001, OOPSLA '01.

[58]  Richard Appignanesi,et al.  Semiotics for beginners , 1997 .

[59]  Peter Bøgh Andersen Computer Semiotics , 1992, Scand. J. Inf. Syst..

[60]  David Notkin,et al.  Component-Oriented Programming in ArchJava , 2001 .

[61]  John M. Vlissides,et al.  Automatic Code Generation from Design Patterns , 1996, IBM Syst. J..

[62]  Bent Bruun Kristensen,et al.  Architecture=abstractions over software , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32.

[63]  Bobby Woolf,et al.  Null object , 1997 .

[64]  John Grundy,et al.  Design pattern modelling and instantiation using DPML , 2002 .

[65]  Alistair Cockburn,et al.  Surviving object-oriented projects: a manager's guide , 1998 .

[66]  Jiri Soukup Taming C Plus Plus: Pattern Classes and Persistence for Large Projects , 1994 .

[67]  David H. Lorenz Tiling design patterns—a case study using the interpreter pattern , 1997, OOPSLA '97.

[68]  Doug Lea,et al.  Christopher Alexander: an introduction for object-oriented designers , 1998, SOEN.