TROST: Open-System Trustworthiness

i050803 TROST InfoNote
 Pattern Templates

Template Comparisons

TROSTing>info>
2005>08>

i050803d>
0.30 2006-08-08 -22:19 -0700


Seven sources of pattern templates are contrasted in a table.  The arrangement is normalized and used to establish a compatible format for use as the initial TROST pattern-description format.

A. Pattern Template Styles Compared
B. Sources

see also:
i050803e: TROST Pattern Description Approach
i050803c: TROST Pattern Description Template
  i050901: TROST Pattern Language

A. Pattern Template Styles Compared

TROST
(2005)
1. Identification
Alexander
(1977)
GoF
(1995)
PL:PW
(1997)
J2EE
(2001)
PeB
(2001)

Solution Pattern Style (2003)

Garfinkel
(2005)
abstraction implementation
title (numbered) name name: for reference to the problem/solution case name: descriptive name

name

name
a.k.a: also known as aliases: also known as brief description

summary: one-sentence or less descriptive summary

   (classification)     type: architecture, design, implementation type: principle or pattern
picture: archetypical example     image
TROST
(2005)
2. Situation
Alexander
(1977)
GoF
(1995)
PL:PW
(1997)
J2EE
(2001)
PeB
(2001)

MS Style (2003)

Garfinkel
(2005)
abstraction implementation
    audience     rôle: architect, designer, developer, others responsibility: organizational rôle
user: having the problem [often implied in context] architectural view: business, integration, application, operational, development
aspect: purpose, data, function, timing, network, people, scorecard
context: relationship to larger/embracing patterns applicability: situation, problems, cues [after motivation] context: circumstances, situation, and constraints, patterns already applied context: environment where exists context context: brief statement of the contextsituationin which the pattern emerges applicability: where relevant
indications: symptoms indicating problem exists
TROST
(2005)
3. Intention
Alexander
(1977)
GoF
(1995)
PL:PW
(1997)
J2EE
(2001)
PeB
(2001)

MS Style (2003)

Garfinkel
(2005)
abstraction implementation
 ◊ ◊ ◊
essential problem:
brief statement
intent: what it does, problem problem: the specific context-free problem [often stated before context] problem: issues faced   problem: essence as simple question   intent: to accomplish
background: empirical background of the pattern, range of manifestation,  etc. motivation: illustrative scenario, design problem background motivation: why important
TROST
(2005)
4. Concerns
*
Alexander
(1977)
GoF
(1995)
PL:PW
(1997)
J2EE
(2001)
PeB
(2001)

MS Style (2003)

Garfinkel
(2005)
abstraction implementation
      forces: considerations to take into account, relative force implied by context forces: reasons, motivation, justification business drivers forces: considerations arising within the context and having to be reconciled in the considered approach    
IT drivers
TROST
(2005)
5. Approach
*
Alexander
(1977)
GoF
(1995)
PL:PW
(1997)
J2EE
(2001)
PeB
(2001)

MS Style (2003)

Garfinkel
(2005)
abstraction implementation
solution statement: therefore ...   solution: proposed solution, relative to context and clearly related to forces solution: brief sketch, detailed elements solution solution: simple statement, supporting details    
solution rationale
solution detail: field of relationships required to solve the problem, in the context, and instructions of what to bring about
  • structure
  • variations
  • implementation considerations
  • examples
solution diagram: depicting the solution with labeled components
 ◊ ◊ ◊
structure: object model structure: UML model diagram
TROST
(2005)
6. Realization
*
Alexander
(1977)
GoF
(1995)
PL:PW
(1997)
J2EE
(2001)
PeB
(2001)

MS Style (2003)

Garfinkel
(2005)
abstraction implementation
  • strategy
  • variations
  • structure
  • interactions
  • prototypes and samples
  • tests
  participants: classes and objects and responsibilities   strategies: different ways to implement guidelines for use   implementation strategy
  • variations
  • subelements
  • examples
  • sketches
implementation: sketch
collaborations: how the participants collaborate
implementation: considerations, pitfalls, hints, techniques
sample code: fragments, sketch code samples: showing how to implement pattern sample code: exemplary, beyond strategies if needed
  • code sample
TROST
(2005)
7. Considerations
*
Alexander
(1977)
GoF
(1995)
PL:PW
(1997)
J2EE
(2001)
PeB
(2001)

MS Style (2003)

Garfinkel
(2005)
abstraction implementation
            deployment considerations  
testing considerations
security considerations
  operational considerations
TROST
(2005)
8. Consequences
*
Alexander
(1977)
GoF
(1995)
PL:PW
(1997)
J2EE
(2001)
PeB
(2001)

MS Style (2003)

Garfinkel
(2005)
abstraction implementation
  consequences: trade-offs, variations, how it contributes [preceding implementation] resulting context: context after pattern is applied, including problems to solve, more patterns, next ones in a pattern language consequences: trade-offs, results, pros & cons [after strategies] benefits resulting context
  • benefits
  • liabilities
  • trade-offs
  results
limitations
TROST
(2005)
9. Usage
Alexander
(1977)
GoF
(1995)
PL:PW
(1997)
J2EE
(2001)
PeB
(2001)

MS Style (2003)

Garfinkel
(2005)
abstraction implementation
  known uses: actual cases from different domains examples: concrete illustrations of the pattern   putting the pattern to use examples known uses
 patterns needed to complete, fill in this one related patterns: differences, which used with this one related patterns: other solutions, variations, patterns solving problems in the resulting context related patterns   variants: on the pattern

related patterns: and how related

participants:  patterns [with responsibility]
TROST
(2005)
10. Sources
*
Alexander
(1977)
GoF
(1995)
PL:PW
(1997)
J2EE
(2001)
PeB
(2001)

MS Style (2003)

Garfinkel
(2005)
abstraction implementation
    acknowledgments     publication: (source) references
acknowledgments

* identifies key subsection of a TROST pattern description also typically reflected on any cover-sheet or "pattlet (Trowbridge, et.al. 2003)."

mandatory elements identified in the Pattern Language for Pattern Writing (Meszaros & Doble 1997)

required elements identified in the Microsoft Wiki Pattern Style (PatternShare 2005).

B. Sources

Adams, Jonathan., Koushik, Srinivas., Vasudeva, Guru., Galambos, George (2001).
Patterns for e-Business: A Strategy for Reuse.  IBM Press, White Plains, NY.  ISBN 1-931182-02-07 pbk+CD-ROM.  The pattern format and approach is described in Chapters 2-3.  There is a web site that employs this methodology at <http://www-128.ibm.com/developerworks/patterns/>.
  
Alexander, Christopher., Ishikawa, Sara., Silverstein, Murray., Jacobson, Max., Fiksdahl-King, Ingrid., Angel, Shlomo (1977).
A Pattern Language: Towns ∙ Buildings ∙ Constructions.  Oxford University Press, New York.  ISBN 0-19-501919-9.  pp. x-xi define the pattern format.
    
Alur, Deepak., Crupi, John., Malks, Dan (2001).
Core J2EE Patterns: Best Practices and Design Strategies. Forewords by Grady Booch and Martin Fowler.  Sun Microsystems Press, Prentice Hall PTR, Upper Saddle River, NJ.  ISBN 0-13-064884-1 pbk.  Portions available on-line via <http://java.sun.com/blueprints/corej2eepatterns/index.html>.  Their pattern template is on pp. 138-129 in Chapter 6.
    
Gamma, Erich., Helm, Richard., Johnson, Ralph., Vlissides, John (1995).
Design Patterns: Elements of Reusable Object-Oriented Software.  Foreword by Grady Booch.  Professional Computing Series, Addison-Wesley, Boston.  ISBN 0-201-63361-2.  Section 1.3 defines the pattern format.  The choice of point of view and focus on a particular level in object-oriented development is described in Section 1.2.
    
Garfinkel, Simson L. (2005)
Design Principles and Patterns for Computer Systems That Are Simultaneously Secure and Usable.  Ph.D Dissertation, Massachusetts Institute of Technology, May.  473 pp.  Available on the Internet at: <http://www.simpson.net/thesis/> (accessed on 2005 July 21).  Section 2.3.5 addresses pattern usage with respect to security and generally.  Chapter 10 specifies the design principles and patterns.  The format is specified at the beginning of the chapter.
   
Meszaros, Gerard., Doble, Jim (1997).
A Pattern Language for Pattern Writing.  pp. 529-574 in Pattern Languages of Pattern Design 3. Software Pattern Series, Addison-Wesley, Reading, MA.  ISBN 0-201-31011-2.   Web version at <http://hillside.net/patterns/writing/patterns.htm> (accessed 2005-07-23).
    
PatternShare (2005).
Microsoft Wiki Pattern Style.  Web page, Community Contributions, PatternShare.org, July 23.  At <http://patternshare.org/default.aspx/Home.Community.MicrosoftWikiPatternStyle>.
    
Trowbridge, David., Mancini, Dave., Quick, Dave., Hohpe, Gregor., Newkirk, James., Lavigne, David  (2003).
Enterprise Solution Patterns Using Microsoft .NET, version 2.0.  Foreword by Ward Cunningham.  Patterns & Practices.  Microsoft Corporation, Redmond, WA.  ISBN 0-7356-1839-9.  Available on-line at <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/Esp.asp> with download as .PDF also there.

Revision History:
0.30 2005-09-23-21:09 Tie to TROST Pattern-Format Description
The TROST categories for the sections are identified and the description is linked for each category of pattern material.  Changes introduced while expanding the TROST pattern-description format are all incorporated.
0.25 2005-09-17-10:25 Initial Style Comparison and Normalization for TROST
The first cut at a TROST organization of pattern descriptions is abstracted after considering seven published approaches.  This is the basis for public review and the version in the TROST dissertation.
0.00 2005-08-21-17:34 Create Initial Placeholder
Introduce an initial placeholder that serve as a target of links and include-page components until more content is developed.  This page was customized from the 0.00 i050803c: Material [placeholder] page.

Construction Zone (Hard Hat Area)
Creative Commons License You are navigating TROSTing.org.
This work is licensed under a
Creative Commons License.

created 2005-08-21-17:27 -0700 (pdt) by orcmid
$$Author: Orcmid $
$$Date: 06-08-08 22:19 $
$$Revision: 20 $

Home