196
The formal syntactic definition of a pattern language is:
• A pattern language is a directed acyclic graph (DAG) PL = (P,R) with nodes P = {P 1 , …, P n } and
edges R = {R 1 , …, R m };
• Each node P ∈ P is called a pattern;
• For P, Q ∈ P: P references Q ⇐⇒ ∃R = (P,Q) ∈ R;
• The set of edges leaving a node P ∈ P is called its references. The set of edges entering it is called
its context.
• Each node P ∈ P is itself a set P = {n, r, i, p, f 1 … f i ,e 1 … e j , s, d,} of a name n, ranking r, illustration i, problem p with forces f 1 ...f i , examples e 1 . .. e j , the solution s, diagram d.
This definition is expanded with the following semantics:
• Each pattern of a language captures a reoccurring design problem, and suggests a proposed solution to it. The language is made up of a set of these patterns applicable to a specific design domain,
for example such as urban design or architecture. Each pattern has a context represented by edges
pointing to it from other interconnected higher-level patterns. They sketch the design situations in
which it can be used;
• Similarly, its positions in the language shows what lower-level patterns can be applied after it has
been used. This relationship creates a hierarchy within the pattern language. It leads the designer
from patterns addressing large- scale design issues, to patterns about small design details, and helps
the identification and location of related patterns;
• The name of a pattern helps to refer to its central idea and reasoning, and build a vocabulary for
communication within a team or design community. The ranking of the pattern shows how universally valid the pattern the author believes this pattern is, and helps readers to distinguish early pattern ideas from truly timeless patterns that have been confirmed on countless occasions within the
overall pattern language;
• The opening illustration of a pattern, gives readers a quick idea of a typical example situation for
the pattern, even if they are not professionals. Media choice depends on the domain of the language, for example architecture can be represented by photos of buildings and sketches of built
forms; landscape architecture may present photos and graphics of vegetation and landscapes; engineering my prefer coding, mathematical equations or engineering elements;
• The problem states what the major issue is that the pattern attempt to address. The forces further
elaborate the problem statement. They are aspects of the design that need to be optimised. They
usually come in pairs contradicting each other;
• The examples section is the largest of each pattern that describes existing situations in which the
problem at hand can be (or has been) encountered, and how it has been solved in those situations
through the application of the patterns;
• The solution generalises from the examples a proposed (or proven if already been applied before)
way to balance the forces at hand optimally for the given context. The proposed solution is not
simply prescriptive, but generic so that it can generate a solution (or alternative solutions) when it
is applied to concrete problem situations of the specified context; and
• The diagram supports the solution by summarising its main idea in a graphical way, omitting any
unnecessary details. For experts or specialists in a particular field, the diagram is quicker to grasp
than the opening illustration. The choice of media to be used again depends on the domain; a graphical sketch for architecture or pseudo-code or diagram for engineering, etc. (Borchers, 2001, p. 364)
With these definitions, a formal model for a pattern language is in place. However, formalisation
must not obstruct readability and the clarity of the material that has been described. The formal code
should not hinder the process of writing the patterns within a language, and the results should still be
accessible in various formats, including in electronic, linear, and printed documentation. Each part of
a pattern, and its connections to other patterns, are usually presented as several paragraphs in the pattern description; other media, such as images, animations, audio recordings, etc., are used to strengthen
it (Borchers, 2000, p. 2).
Appendix 2
The formal syntactic definition of a pattern language is:
• A pattern language is a directed acyclic graph (DAG) PL = (P,R) with nodes P = {P 1 , …, P n } and
edges R = {R 1 , …, R m };
• Each node P ∈ P is called a pattern;
• For P, Q ∈ P: P references Q ⇐⇒ ∃R = (P,Q) ∈ R;
• The set of edges leaving a node P ∈ P is called its references. The set of edges entering it is called
its context.
• Each node P ∈ P is itself a set P = {n, r, i, p, f 1 … f i ,e 1 … e j , s, d,} of a name n, ranking r, illustration i, problem p with forces f 1 ...f i , examples e 1 . .. e j , the solution s, diagram d.
This definition is expanded with the following semantics:
• Each pattern of a language captures a reoccurring design problem, and suggests a proposed solution to it. The language is made up of a set of these patterns applicable to a specific design domain,
for example such as urban design or architecture. Each pattern has a context represented by edges
pointing to it from other interconnected higher-level patterns. They sketch the design situations in
which it can be used;
• Similarly, its positions in the language shows what lower-level patterns can be applied after it has
been used. This relationship creates a hierarchy within the pattern language. It leads the designer
from patterns addressing large- scale design issues, to patterns about small design details, and helps
the identification and location of related patterns;
• The name of a pattern helps to refer to its central idea and reasoning, and build a vocabulary for
communication within a team or design community. The ranking of the pattern shows how universally valid the pattern the author believes this pattern is, and helps readers to distinguish early pattern ideas from truly timeless patterns that have been confirmed on countless occasions within the
overall pattern language;
• The opening illustration of a pattern, gives readers a quick idea of a typical example situation for
the pattern, even if they are not professionals. Media choice depends on the domain of the language, for example architecture can be represented by photos of buildings and sketches of built
forms; landscape architecture may present photos and graphics of vegetation and landscapes; engineering my prefer coding, mathematical equations or engineering elements;
• The problem states what the major issue is that the pattern attempt to address. The forces further
elaborate the problem statement. They are aspects of the design that need to be optimised. They
usually come in pairs contradicting each other;
• The examples section is the largest of each pattern that describes existing situations in which the
problem at hand can be (or has been) encountered, and how it has been solved in those situations
through the application of the patterns;
• The solution generalises from the examples a proposed (or proven if already been applied before)
way to balance the forces at hand optimally for the given context. The proposed solution is not
simply prescriptive, but generic so that it can generate a solution (or alternative solutions) when it
is applied to concrete problem situations of the specified context; and
• The diagram supports the solution by summarising its main idea in a graphical way, omitting any
unnecessary details. For experts or specialists in a particular field, the diagram is quicker to grasp
than the opening illustration. The choice of media to be used again depends on the domain; a graphical sketch for architecture or pseudo-code or diagram for engineering, etc. (Borchers, 2001, p. 364)
With these definitions, a formal model for a pattern language is in place. However, formalisation
must not obstruct readability and the clarity of the material that has been described. The formal code
should not hinder the process of writing the patterns within a language, and the results should still be
accessible in various formats, including in electronic, linear, and printed documentation. Each part of
a pattern, and its connections to other patterns, are usually presented as several paragraphs in the pattern description; other media, such as images, animations, audio recordings, etc., are used to strengthen
it (Borchers, 2000, p. 2).
Appendix 2
