Title

Page 380

What is a Pattern System?

36 1

entirety is not computationally complete. even when extended with all the other related patterns we know about. We however have more than just a catalog of patterns, since we describe how our patterns are tied together, but we have far less than a pattern language. We define the term 'pattern system' as follows: A pattern system for software architecture is a collection of patterns

for software architecture, together with guidelines for their implementation. combination and practical use in software development. The main objective of a pattern system for software architecture is to support the development of high-quality software systems. By 'highquality', we mean systems that fulfill both their functional and nonfunctional requirements. To achieve this objective, a pattern system must meet the following requirements: It should comprise a surnient base of patterns. We need patterns that support specification of the basic architecture of a system, patterns that help with refining this basic architecture, and patterns that help with implementing a software architecture in a specific programming language. It should describe all its patterns unijorrnly. The form of description must capture both the essence of a pattern and a precise depiction of its details. The form must further support the comparison of a pattern with other patterns.

It should expose the various rehtionships between patterns. The pattern system must identify which other patterns a pattern refines, which other patterns it exposes, with which patterns it can be combined, and what alternatives are available. It should organize its constituent patterns. Users should be able to find a pattern quickly that helps them solve their concrete design problem, and they should be able to explore alternative solutions that are addressed by different patterns. It should support the construction of software systems. A pattern system should show how to apply and implement its constituent patterns.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.