TROST: Open-System Trustworthiness

i050803 TROST InfoNote
 Pattern Templates

Pattlet Format 0.50

TROSTing>info>
2005>08>

i050803f>
0.50 2006-08-08 -22:19 -0700


  • Latest version: The latest version of the TROST Pattern Templates Approach is available on the Internet at
    <http://TROSTing.org/info/2005/08/i050803b.htm>.
  • This portion:  Pattlet Format 0.50 <http://TROSTing.org/info/2005/08/i050803f.htm>.  Consult that page for the latest status and for the most-recent electronic copies of this portion of the article.
  • Previous version: Pattlet Summary Structure 0.31 <http://TROSTing.org/info/2005/08/i050803e.htm#B.> provides the original characterization of pattlets as tabulated here.

Principal Topics in TROST Pattern Descriptions

  1. Identification - how the pattern is known
  2. Situation - the setting in which the pattern can occur or be desired
  3. Intention - what is to be accomplished
  4. Concerns - issues to be balanced and addressed
  5. Approach - how to satisfy the intention - what to do
  6. Realization - strategy for specific implementations of the approach
  7. Considerations - additional matters to be aware of
  8. Consequences - the result of achieving the pattern: benefits and limitations
  9. Usage - actual cases, related patterns involved in completing the approach
10. Sources - acknowledgment of source materials and contributions

A. Pattlet Format

The elements in the summary outline, below, are linked to the corresponding detailed descriptions in the complete TROST Pattern Template description.  Additional sources are provided there and in the Pattern Comparisons which are the basis for the TROST Pattern Template.


1. Identification

The Identification topic covers how the pattern is known.   The elements are usually presented without any introductory heading.  There are important subordinate elements that situate the pattern description, even in summary forms.

  • Name: a simple title that is appropriate to the intention and approach, reflecting the situation as necessary (Meszaros & Doble 1997)
      

  • Version: version and date as needed to differentiate variations in the description and the pattern over time
      

  • Summary: one-sentence or less descriptive summary
       

  • Also Known As: any aliases important for identifying the pattern with any known ones (Gamma et.al. 1995)
        

  • Archetype: image that evokes the essential quality of the pattern (Alexander et.al. 1977)


2. Situation

The situation is the setting in which the pattern may occur.  The description establishes context and assists the reader in understanding where the pattern comes into play.


3. Intention

The intention is a simple declaration of what is accomplished with the pattern (Garfinkel 2005).


4. Concerns

Concerns are issues that must be explicitly acknowledged and accounted for.  The concerns must be addressed but will not necessarily be resolved.  The approach will balance them in a particular way.  


5. Approach

The approach is written in the form of instructions for achieving the intention.  The statements may be simple, with accompanying diagrams or models for illustrating the manifestation of the pattern in the prescribed situation.


6. Realization

Realizations are specific implementations shown in design form or as a template, especially for realizations in software.  Extensive realizations are often separated into separate, specialized patterns and only summarized or sketched in an abstract pattern (Trowbridge et.al. 2003).  When a realization is summarized, it will provide a reference to the detailed version.  In other cases there may simply be a brief statement of the strategy for carrying out a realization.


7. Considerations

There are important non-functional considerations that apply to approaches and their realizations, especially in software-engineering and information-technology situations (Trowbridge et.al. 2003).  This topic is unusual in summary pattlets unless there is a major consideration that is important for readers to know about.  The fact of the consideration might then be noted in the pattlet so that it is not overlooked, with a link to details in the extended description.


8. Consequences

The consequences of establishing a pattern are the results that are achieved with its presence, including limitations as well as benefits (Adams et.al. 2001).  Summary pattlets may omit any reference to the consequences, although ones that are critical to recognize might be identified with simple statements.


9. Usage

Usage provides identification of known cases and of patterns that are related.  In summary pattlets there may be limited usage information to assist the reader in appraising the desirability of making deeper examination of the pattern.  Typical elements are:

  • Known Examples: specific actual cases in which the pattern is applied or apparent
        

  • Variants: similar patterns of possible interest that address different situations, intentions, and approaches
        

  • Related Patterns: ones used in conjunction with this one and that may be required in completing the details of the approach


10. Sources

It is important to acknowledge the sources for the current pattern, especially when the current pattern replicates or summarizes material published elsewhere.  In a pattlet, only main sources are identified:

  • References: citations to source materials with enough information so they can be located and used
        

  • Contributors: identification of those who provided material contribution to the development of the pattern
        

  • Attribution: information on how to make attribution to the summary, and any intellectual-property notices that apply to it.

B. References and Resources

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/>.  The clear pairing of benefits and limitations is emphasized in the more-concrete patterns.  This nomenclature has been adopted for TROST 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.  Archetypes can be quite evocative and their poetic function should not be neglected.
    
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.  Aliases are a convenient way to handle recognition that a pattern offered in a narrower context has broader application (under a new name) and to otherwise reconcile equivalent patterns that have been independently identified.
    
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.   Garfinkel's patterns are all at the pattlet level, beautifully crafted and formatted to fit on single printed pages.  The subtle emphasis on intention as what a pattern is for, as opposed to what it is or what it does, is important with regard to context.  The distinction between principles and patterns is also valuable.
    
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).
     Section C, Naming and Referencing, provides patterns and principles for naming patterns.  It is also its own example as one meta-pattern for pattern languages.
    
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 series, 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.
     The Patterns & Practices approach uses distinct formats for realization (implementation) patterns, as distinguished from more-abstract/higher-level patterns.  That is a valuable differentiation that is implemented here by managing the blend of topics, shifting the area of most detail as realizations become more specific.  The separating out of considerations is a unique and valuable contribution of this approach and it has been extended in the TROST pattern format.
 

Revision History:
0.50 2005-12-22-14:24 Split Updated Pattlet Summary onto Separate Page
The 0.31 material is refactored onto this separate page and versioned.  The table reflects changes introduced in the TROST dissertation-draft appendix on patterns.  Minor editorial changes may continue on an ad hoc basis.
0.31 2005-09-25-18:58 Incorporate Errata
Simple errata and improvements noticed while working on the version in the thesis are edited back into this version.
0.30 2005-09-23-21:07 Provide initial Pattlet Summary Format
The 0.30 i050803c document is summarized.  Any insights in doing that are applied back to the full template description before these two are published together.  This version is the basis for thesis Appendix A.

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-16:31 -0700 (pdt) by orcmid
$$Author: Orcmid $
$$Date: 06-08-08 22:19 $
$$Revision: 9 $

Home