## Resistance is Futile; Formal Linguistic Observations on Design Patterns (1997)

Citations: | 5 - 0 self |

### BibTeX

@TECHREPORT{Boas97resistanceis,

author = {Peter Van Emde Boas},

title = {Resistance is Futile; Formal Linguistic Observations on Design Patterns},

institution = {},

year = {1997}

}

### OpenURL

### Abstract

Inspection of the current literature on Design Patterns shows that the Prime Directive for this community is Pragmatics. It hardly matters what patterns are, or how Patterns are represented formally or syntactically. What does matter is their role in enhancing the reuse of good solutions to recurring problems. In this article I want to show that minimal assumptions about the pragmatic use of Patterns suffice to show that Design Patterns form just another formal language, which can be shown to be at least Recursively enumerable. Whether the language is Recursive depends on further conditions on the actual relation which is assumed to hold between a pattern and its possible invocations. There are no a priori reasons enforcing that this should be an easily decidable relation; quite to the contrary: a little amount of linguistic expressivity suffices for showing that this relation is likely to be complex. Without restrictions on the linguistic tools allowed for expressing design patterns t...

### Citations

11006 |
Computers and Intractability: A Guide to the Theory of NP-Completeness
- GAREY, JOHNSON
- 1990
(Show Context)
Citation Context ...P-hard, since our example requires only minimal assumptions on the expressive power for our language. This however shouldn't be taken too serious; NP-hardness is something we encounter wherever we go =-=[12]-=-. 6 The Best of Both Worlds Having arrived at the last section of this paper I return to the question what we, researchers in fundamental computer science, can say about the linguistic status of Desig... |

2454 |
The design and analysis of computer algorithms
- Aho, Hopcroft, et al.
- 1974
(Show Context)
Citation Context ...f books The Art of Computer Programming [19] in 1968, he represented the algorithms he was analyzing in the assembly code of an idealized machine called MIX. Six years later, in the standard textbook =-=[1] by Aho, H-=-opcroft and Ullman algorithms are represented at a higher level using the "skeleton" language known by the name of Pidgin Algol . Experience shows that this pseudo higher level language suff... |

1696 | An introduction to Kolmogorov complexity and its applications, 2nd edition
- Li, Vitanyi
- 1997
(Show Context)
Citation Context ...-function, R(t) being the largest number computed by some terminating tstate Turing Machine working on an initially empty input. It is known that R(t) grows faster than every total recursive function =-=[23, 25]-=-, which shows by our characterization result in section 4 that Patrn will become non-recursive. It is unlikely that the pattern community is interested in these degenerate patterns, but the message re... |

1444 |
Reducibility among combinatorial problems
- Karp
- 1972
(Show Context)
Citation Context ...ductions. This implies that P = NP iff X 2 P . These characteristic sets are known by the name NP-complete problems; they frequently are encountered in the area of combinatorial optimization problems =-=[7, 16, 21, 12, 15]-=-. Similar issues arise when considering space instead of time, and when considering borderlines higher up in the complexity hierarchy. There exists a hierarchy of fundamental complexity classes for wh... |

1178 |
On computable numbers, with an application to the Entscheidungsproblem
- Turing
- 1937
(Show Context)
Citation Context ...aves many details unspecified. A more precise formalization determines the specific machine model on which your computation theory is based. It is nowadays a tradition to use the Turing Machine model =-=[27]-=-. Here the program p is a finite list of quadruples, and the configuration c is a finite string over some alphabet. A legal transition is obtained by substitution of a substring consisting of no more ... |

693 |
Introduction to Metamathematics
- Kleene
- 1952
(Show Context)
Citation Context ...g complex expressions, also can be seen to be specific instances of the abstract framework. For further details and a discussion of the relative merits of the various models I refer to the literature =-=[9, 14, 18, 22, 26, 28]. Inspection of the -=-literature will also eliminate the implicit circularity in the definitions as given in this paper: when referring to structures in the formalization being "easy" or "local" I am in... |

561 |
A The Timeless Way of Building
- Alexander
- 1979
(Show Context)
Citation Context ...orwards by Christopher Alexander in Architecture. Patterns describe those elements in our constructed environment which make this environment livable; the elusive notion of the quality without a name =-=[2, 3, 10]-=-. In our world this purpose is the one which is quite well described by the slogan Patterns describe good solutions to frequently recurring problems. These problems may relate the application itself, ... |

480 |
The Complexity of Theorem Proving Procedures
- Cook
- 1971
(Show Context)
Citation Context ...ductions. This implies that P = NP iff X 2 P . These characteristic sets are known by the name NP-complete problems; they frequently are encountered in the area of combinatorial optimization problems =-=[7, 16, 21, 12, 15]-=-. Similar issues arise when considering space instead of time, and when considering borderlines higher up in the complexity hierarchy. There exists a hierarchy of fundamental complexity classes for wh... |

326 |
A Catalog of Complexity Classes
- Johnson
- 1990
(Show Context)
Citation Context ...ductions. This implies that P = NP iff X 2 P . These characteristic sets are known by the name NP-complete problems; they frequently are encountered in the area of combinatorial optimization problems =-=[7, 16, 21, 12, 15]-=-. Similar issues arise when considering space instead of time, and when considering borderlines higher up in the complexity hierarchy. There exists a hierarchy of fundamental complexity classes for wh... |

281 |
Introduction to automata theory
- Hopcroft, Motwani, et al.
- 2001
(Show Context)
Citation Context ...g complex expressions, also can be seen to be specific instances of the abstract framework. For further details and a discussion of the relative merits of the various models I refer to the literature =-=[9, 14, 18, 22, 26, 28]. Inspection of the -=-literature will also eliminate the implicit circularity in the definitions as given in this paper: when referring to structures in the formalization being "easy" or "local" I am in... |

163 |
Programming Pearls
- Bentley
- 2000
(Show Context)
Citation Context ... programming by no means is confined to the realm of Object-Orient programming or design. There exist some well known books and papers on this topic in the traditional field of imperative programming =-=[5, 6, 20]-=-. There even exists a research journal Science of Computer Programming whose scope substantially overlaps with the topic of literate programming. In the classic procedural context literate programming... |

55 |
Subharmonic functions
- RadÃ³
- 1949
(Show Context)
Citation Context ...-function, R(t) being the largest number computed by some terminating tstate Turing Machine working on an initially empty input. It is known that R(t) grows faster than every total recursive function =-=[23, 25]-=-, which shows by our characterization result in section 4 that Patrn will become non-recursive. It is unlikely that the pattern community is interested in these degenerate patterns, but the message re... |

28 |
Machine models and simulations
- Boas, P
- 1990
(Show Context)
Citation Context ...g complex expressions, also can be seen to be specific instances of the abstract framework. For further details and a discussion of the relative merits of the various models I refer to the literature =-=[9, 14, 18, 22, 26, 28]. Inspection of the -=-literature will also eliminate the implicit circularity in the definitions as given in this paper: when referring to structures in the formalization being "easy" or "local" I am in... |

23 |
Universal sorting problems, Problems of Information Transmission 9
- Levin
- 1973
(Show Context)
Citation Context |

17 |
More Programming Pearls: Confessions of a Coder
- Bentley
- 1990
(Show Context)
Citation Context ... programming by no means is confined to the realm of Object-Orient programming or design. There exist some well known books and papers on this topic in the traditional field of imperative programming =-=[5, 6, 20]-=-. There even exists a research journal Science of Computer Programming whose scope substantially overlaps with the topic of literate programming. In the classic procedural context literate programming... |

13 |
Theory of Recursive Functions and Effective
- Rogers
(Show Context)
Citation Context |

10 |
Lazy optimization: patterns for efficient smalltalk programming
- Auer, Beck
(Show Context)
Citation Context ...e pattern from [11] we may hope to recognize this to be the case by inspecting the class diagram of the system. However, if the team designing the system has invoked the Threshold Switch pattern from =-=[4]-=- there is no way to read this from the code or specification (at best it is told somewhere in the documentation of the system). It is curious to see that, notwithstanding the fact that the editors of ... |

8 |
Formal languages: origins and directions
- Greibach
- 1981
(Show Context)
Citation Context ...exity of context free recognition). It is no coincidence that the machines characterizing the context free languages were the last family on the machine side of the Chomsky Hierarchy to be discovered =-=[13]-=-. The regular languages characterize the power of on-line memory-free computation. 3 Pragmatics entails Syntax In this section I present my argument showing that Design Patterns, if they can be dealt ... |

2 |
The Rendezvous Language and
- al
- 1993
(Show Context)
Citation Context ...orwards by Christopher Alexander in Architecture. Patterns describe those elements in our constructed environment which make this environment livable; the elusive notion of the quality without a name =-=[2, 3, 10]-=-. In our world this purpose is the one which is quite well described by the slogan Patterns describe good solutions to frequently recurring problems. These problems may relate the application itself, ... |

1 |
The Ferengi Rules of Acquisition
- Quark
- 1995
(Show Context)
Citation Context ...shed. This is particularly useful in case the resulting system subsequently is delivered following the 374-th Ferengi Rule of Acquisition: Never deliver the Source Code; Only deliver the Cloned Image =-=[24]-=-. . . . Known Uses Rumor goes that indeed this pattern has been used, but nobody ever dared to claim credits for it. . . . According to our embedding strategy finding an occurrence of MESS OF ORDER k ... |