TROST: Open-System Trustworthiness

i050803 TROST InfoNote
 Pattern Templates

Pattern Description Template 0.50

TROSTing>info>
2005>08>

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


A. TROST Pattern Description Template
B. Sources

A. TROST Pattern Description Template

A.1 The TROST Pattern Description Template was derived by comparing a variety of existing pattern-language formats.  The nomenclature was adjusted to provide an intentional stance and application beyond software-development at one end and physical habitation architectures at the other.  This allows for description of patterns that arise in non-computer aspects of application domains and business processes.  The style is also suitable for patterns that arise in TROSTing practices.

A.2 Although the complete pattern description template covers a substantial variety of topics, most pattern descriptions start out as pattlets, summary descriptions that describe the essence of the pattern (Trowbridge et.al. 2003).  Detailed descriptions are developed and refined under cover of the pattlet.

see also:
i050901: TROST Pattern Language
i050803g: TROST Pattern Description Approach 0.50
i050803f: TROST Pattlet Format 0.50
i050803d: Pattern Template Comparison

A.3 The TROST Pattern Description Organization

   
1. Identification
    1.1 Name
    1.2 Version
    1.3 Summary
    1.4 Also Known As
    1.5 Type
    1.6 Archetype
    1.7 Keywords

   
2. Situation
    2.1 Perspectives
    2.2 Context
    2.3 Applicability
    2.4 Indications

   
3. Intention
    3.1 Intent
    3.2 Background

  
4. Concerns
   
5. Approach
    5.1 Key Statement
    5.2 Rationale
    5.3 Prerequisites
    5.4 Sketches
    5.5 Detail
    5.6 Models
    5.7 Diagrams

   
6. Realization
   
7. Considerations
    7.1 Testing
    7.2 Safety/Failure
    7.3 Deployment
    7.4 Security
    7.5 Operations
    7.6 Usability
    7.7 Support/Repair
    7.8 Performance/Scale
    7.9 Trustworthiness

   
8. Consequences
    8.1 Benefits
    8.2 Limitations
    8.3 Trade-Offs
    8.4 Risks
    8.5 Next Challenges

   
9. Usage
    9.1 Known Examples
    9.2 Variants
    9.3 Related Patterns

   
10. Sources
    10.1 References
    10.2 Contributors
    10.3 Attribution

A.4 The Template

    
1. Identification

The Identification topic covers how the pattern is known.   There is always a distinctive name.  In the original pattern language, the other consistent feature is the ArchetypeOrdinarily, there is no "Identification" heading.  The Identification topic is simply expected to be addressed by the first material of the pattern description.

1.1 Name

1.1.1 In naming patterns, strive to provide a crisp but distinct name that serves as the title for the pattern description and is appropriate to the intention (section 3) and the approach (section 5; Meszaros & Doble 1997).

1.1.2 The name of the pattern is the minimum identification.  It may be all that appears in a summary form of the pattern description.

1.2 Version

1.2.1 When patterns are under development and subject to future changes, identification of a version and the date of the version is valuable.  The relationship to earlier and later versions, if any, can be stated.  For electronic documents, linking can be provided to other versions of the pattern description.

1.2.2 This is an important element in supporting accurate connection from related works and in recognizing the configuration of dependencies that may exist among versions of separate works.

1.3 Summary

It may be useful to supplement the name of the pattern with a one-sentence or less descriptive summary (Trowbridge et.al. 2003).

1.4 Also Known As

1.4.1 There may be other names by which the same pattern is identified (Gamma et.al. 1995; Meszaros & Doble 1997).  It is not unusual for there to be aliases among patterns that are found to be the same among different sources and in pattern languages applied to different overall purposes.  For example, there are patterns arising in security and usability that are easily applied to trustworthiness by generalizing the applicable situations.

1.4.2 Where possible, identify sources of the other usages with additional details under the Usage (section 9) and Sources (section 10) topics.

1.5 Type

 1.5.1 Patterns may be organized by types or categories under a system of classification.  It can be useful to provide a simple indicator that differentiates between principles, policies, and patterns in the manner of (Garfinkel 2005).  Some distinguish among patterns based on discipline or level of abstraction, as with the separation of architecture, design, and implementation patterns (Trowbridge et.al. 2003; PatternShare 2005).

1.5.2 Any classification system should be straightforward and easy to distinguish.  Types and keywords are generally not the same.  Keywords, with their informal flexibility, may be preferable to a classification system of more than three-or-four easily recognized types.

1.5.3 Where possible, defer any complex classifications to the description of the situation (section 2), including perspectives (section 2.1) and context (section 2.2).  Any use of types must also be simple enough for appearance on pattlet summaries that do not provide extensive content below the ten main topics.

1.6 Archetype

1.6.1 The employment of an archetypical illustration or diagram can inspire a mental image of the situation and a realization of the approach .  The image can be metaphorical and evocative.  The use of a simple title-style of pattern name along with an evocative image is characteristic of the original application of pattern languages (Alexander et.al. 1977).  

1.6.2 The choice of archetypical images is a valuable way to suggest aliveness in the occurrence of patterns in the practical world.  The use of electronic documents and web sites for pattern collections provides great opportunity for creative expansion beyond the still images to use of audio, video, animation, and even interactive presentations.  For TROST, the archetype must also render usefully in print and in static electronic documents (perhaps with links to more adventurous material).

1.7 Keywords

1.7.1 Short lists of keywords may be more flexible than reliance on a classification system and fine-grained separation of patterns by type.  The selection of keywords should be brief and understandable to those who may have a casual interest in the pattern.

1.7.2 In electronic documents, the keywords can also be listed in web-page headers as hints to search engines.  The keyword list may itself consist of tag elements that are recognized in tag-based indexes (Technorati 2005).


2. Situation

Commonly labeled "Context," the TROST-pattern Situation topic describes the setting in which the pattern may occur.  There is always the equivalent of context, whether or not separated out in a subtopic for organization purposes.  If there is only the equivalent of context, or there is not enough material for clearly separated Perspective, Applicability, and Indications subtopics, the headings and/or the alternative subsections are omitted.  The Situation topic assists the reader in understanding where the pattern comes into play.   Brevity helps the reader to quickly determine whether the pattern applies to a situation of interest or not.

2.1 Perspectives

2.1.1 In many cases it is desirable to establish the perspective in which the pattern arises.  This is generally from the perspective of an observer and practitioners that may have some technical responsibility with regard to the situation.  Perspectives that may be important to identify include

2.1.2 Whether perspectives are drawn from a specific classification and singled out under the situation topic, the perspective from which the pattern is viewed and applied must be accomplished early in the coverage of the situation.

2.2 Context

2.2.1 If there are overall patterns to which the current one is a constituent, those should be identified as part of the embracing context (Alexander et.al. 1977).  This pattern may emerge in the consequences (section 8) of patterns that live in the context of the current pattern.

2.2.2 Other aspects of the environment and situation are provided under this topic.  It is important to avoid bringing in the intention (section 3), a context-independent statement.  Avoid anticipating the concerns that figure in the choice of approach.   There may be important constraints that characterize the situation, however (Meszaros & Doble 1997).

2.3 Applicability

There may be specific conditions that establish whether the pattern is or is not relevant (Garfinkel 2005).  These my be covered under a separate subtopic to emphasize their importance in the characterization of the situation.

2.4 Indications

Likewise there may be specific indicators or cues by which the pattern may be considered to be applicable (Meszaros & Doble 1997).  They can be singled out as confirmatory clues to the patterns applicability.


3. Intention

3.0.1 Commonly labeled "Problem," the Intention topic is for specifying the condition to be achieved.  Here is what the pattern is intended to accomplish (Garfinkel 2005). 

3.0.2 "Intention" is the TROST preference for emphasizing that there is not a problem but an opportunity to manifest (or recognize) and emphasize the pattern in the appropriate situation (section 2).

3.0.3 The intention is a declaration rather than a reaction.  Intentions are stated free of the situation-identified context.  There may be many different patterns that fulfill on the same intention in different ways: in different situations and/or with different approaches.

3.1 Intent

There is at least a simple statement of intent: what the pattern is designed to accomplish and, perhaps, why.  This is meant to be a brief statement and it may be all that appears under the Intention topic (without any separate heading).

3.2 Background

In some cases there may be additional background as motivation behind the intention.   It may be more appropriate to include that information under the Situation topic (section 2).


4. Concerns

4.1 Although the term "forces" is frequently applied to the identification of potentially-conflicting concerns, we here avoid the suggestion of adversaries or contending forces in opposition.  It is more important, for TROST, to identify the concerns that (may) apply in the situation and for which balanced accommodations must be reached. 

4.2 A concern is not like a requirement or constraint which may also be associated with the situation.  A concern is an issue that must be explicitly acknowledged and accounted for.  The concern must be addressed, but it will not necessarily be resolved.

4.3 The principle concerns are enumerated.  They are best given via simple statements, one per concern.

4.4 An interesting case for concerns (and perspective) is with the identification of drivers from different areas/rôles/stakeholders that are involved in the situation (Adams et.al. 2001).  When there are concerns that naturally arise under the responsibilities of different parties, it may be valuable to identify those sources.  The selection will be governed by the situation and the importance seen in singling out groups of stakeholders.  Be careful to avoid emphasis on conflict and erstwhile agendas.  The emphasis should be on identifying a foundation for reconciliation of concerns.


5. Approach

5.0.1 In the problem-versus-solution view of patterns, the Approach topic is typically identified "Solution."  "Approach" is favored here.  It serves as a reminder that focus is on realizing an intention and that the approach is abstracted at the level of pattern.  The approach is also generic with respect to the level of the recognized situation (section 2).  It is written in the form of instructions for achieving the intention.

5.0.2 This is potentially the most elaborate section.  It is important to have a clear statement and a progression of detail that is straightforward to review and to apply.  Identify any prerequisite knowledge required to comprehend and apply the approach, possibly with recognition or expansion on the observation in the Perspectives topic (section 2.1).

5.1 Key Statement

Some pattern authors and users favor a statement that, given the situation, intention, and concerns, begins "therefore ... ."  Whatever the style, this is a simple declarative statement taken as what is to be done.  It should be a single sentence.

5.2 Rationale

5.2.1 The rationale is a brief statement of the basis for this approach (Meszaros & Doble 1997).  In many cases the rationale is captured in the intention (section 3).  If there is some specific approach-level rationale that is worthy of notice, provide it here.

5.2.2 This is a good place to summarize the basis for the particular reconciliation of concerns (section 4) embodied in the approach, with details covered under consequences (section 8.3).

5.3 Prerequisites

Technical approaches may have prerequisites for their application.  This can involve preparation and resources and be related to the situation perspective (section 2.1).   There may also be special requirements and preconditions if there is a concrete realization (section 6), especially in computer software or other specialized engineering and manufacture.

5.4 Sketches

5.4.1 Sketches are not necessarily diagrams.  Here is meant a walkthrough of typical approaches and schematic presentations at a higher level than the details.  This can provide a prologue to the detail section.  An annotated table of contents for the details can be useful in this regard.

5.5 Detail

5.5.1 If the approach is detailed, there must be an organized presentation.  An identified subsection or subsections for the details may assist in arranging the progressive disclosure of details that is easier to appraise and absorb.

5.5.2 Details can also address variations, implementation considerations, and simple (incomplete) examples of approaches.  In order to maintain compactness of the approach statement, the Realization topic (section 6) will often be preferable for non-prescriptive and illustrative detail.

5.5.3 It is important that the detail provide a prescription for achieving the pattern and satisfying the intention.  There should be a what-to-do focus.

 5.6 Models

5.6.1 Modeling languages and notations are useful if available and suitable to the situation.  It is common to use UML, the Unified Modeling Language (Booch, Rumbaugh & Jacobson 1999) for software-engineering approaches.

5.6.2 Avoid foretelling of specific realizations in software implementations.  Models that serve to document software designs may be more appropriate under realization (section 6). 

5.6.3 Stereotypical models are appropriate here.  For TROST, navigational data models (Hamilton 2005b) and performance architecture models (Hamilton 2005a) are also used.  Sometimes, a simple diagram is enough.

5.6.4 Models that are carried in diagrams may be particularly effective in electronic documents and on web sites where navigation of model structure, drill-down to supporting details, and other hyper-document techniques.  For TROST, there must always be an useful static rendition in printed copies as well.

5.7 Diagrams

5.7.1 Hand-sketched diagrams figure prominently in the approaches formulated in A Pattern Language (Alexander et.al. 1977).  They serve as capsule summaries of an approach for achieving the intention.  There can be suggestion of relationship to the archetype (section 1.6).

5.7.2 In software engineering, it is common to use a conceptual diagram of some form.  There can be more aliveness in using a hand-sketched diagram and that should be considered.  In some cases, this serves as a model of the most informal kind, with the advantage of distance from any pretensions at a realizing implementation.


6. Realization

6.0.1 Realizations are specific implementations, shown in design form or as a template, especially for realizations in software.  In non-software cases, realizations can take quite different form.  Because there's an extensive variety of realizations in different situations, there is no general approach here.  [As there is more experience in application of patterns for TROSTing, commonly-encountered subtopics will be summarized here.]

6.0.2 It can be useful to separate realizations from the more-abstract pattern that specifies the overall approach (Trowbridge et.al. 2003).  In this case, the preceding sections are sufficient to provide context and background, as well as connection to the patterns being realized.

6.0.3 For more-abstracted patterns, this topic is available for carrying considerations and guidelines that apply to realizations, the variations to consider, and sources of worked cases.

6.0.4 It is common to employ structural diagrams and object models for computer-based approaches (Gamma et.al. 1995; Meszaros & Doble 1997).  Although the objects and their interactions may involve subordinate patterns (section 9), these constituent objects of a realization are not necessarily those patterns, and vice versa


7. Considerations

7.0.1 There are important non-functional considerations that apply to approaches (section 5) and their realizations (section 6), especially in software-engineering and information-technology situations (Trowbridge et.al. 2003). 

7.0.2 The following sub-topics are representative of the areas that may require explicit commentary, especially if there is an important requirement or limitation with respect to the chosen approach.  Higher-level patterns will have different considerations including ones for environmental impact, infrastructure demands, physical hazards, financing, permits, certifications, etc. 

7.0.3 For TROST, it is important to provide an explicit account of considerations that are required and how they are carried out.  This is part of the achievement of transparency and accountability. 

7.0.4 Many considerations are related to requirements that may be expressed or implied for an artifact or system.  The selection of patterns may assist in the identification of requirements.  It is not meant to be a substitute for a requirements process which is properly part of the context of the pattern.

7.1 Testing

7.1.1 Testing can be applied under a variety of conditions, including the inspection, review, and authorization of architectural and engineering designs.  For software-engineering and information technology, this topic applies primarily to the functional verification and validation of software artifacts and other information-system components.

7.1.2 There may be identification of particular tests, especially ones used to assess conformance to specified standards. This may involve replicating and confirming the test procedures that are identified and developed as part of a realization (section 6).

7.1.3 Testing considerations arise under other subtopics.  They should be addressed under those individual subtopics.  Do not repeat those testing accounts here.  A see-also index to the other cases may be appropriate, however.

7.2 Safety/Failure

7.2.1 Consider the failure modes and the ways that a realization can be arranged to fail safely, or not.  Are there inspections for continuing safety status?  What is the mitigation procedure on detection of an unsafe condition?  What are the barriers with respect to this approach.

7.2.2 Dependability and reliability (apart from performance and scale considerations) figure under here.  "Safety/Failure" is used to emphasize the importance of maintaining confidence, surety, and appropriate remedies in the face of predictable and not-so-predictable failures and unreliable conditions.

7.3 Deployment

7.3.1 Deployment considerations apply to the arrangements for placing a realization in place, including transport/delivery, installation and setup, and lifecycle arrangements out to end-of-life of the realization (section 6).

7.3.2 Integration into an overall system and the staging with respect to system lifecycles can be considered here or as a separate subtopic, depending on the nature of the integration activity.

7.3.3 Deployment includes determining whether installation can be safely done and then confirming that installation is successful and operational.  Deployment considerations include withdrawal of an installation, successful or not, and reversion to a previous state of affairs.

7.4 Security

7.4.1 Security considerations overlap with those for functionality (testing), safety/failure, usability, and support/repair

7.4.2 Security is different than those related areas insofar as it must deal with efforts of a determined adversary to uncover a chain of vulnerabilities that permit an exploit against the system.  It is not about accidents and resilience in the face of failures, although those can figure in security considerations too.

7.4.3 It is presumed that exploits will always be possible, especially to the degree that social engineering is a factor.  Security must apply to the detection and response in the event of a successful exploit.  Threat models and tie-ins to risk management for the system are factors here.  Disaster response and business interruption may require consideration as part of the security subtopic.

7.4.4 Provisions for authentication, authorization, and accounting have security aspects.  It is important that there be a way to audit all actions conducted with the system, whether or not those actions are subsequently reversed. 

7.4.5 For information technology, system-management arrangements, properly part of operations, also raise security considerations.

7.5 Operations

7.5.1 Operations apply to the ongoing sustaining of a system or environment. 

7.5.2 For information technology, there are operational considerations involving infrastructure support, facilities, interruptions, maintenance arrangements, personnel and training, etc.

7.6 Usability

7.6.1 Usability relates to the accommodation of users who engage with the system in any way.

7.6.2 Usability considerations can be related to safety/failure, efficiency in conduction tasks, and the affordance that is achieved by users and the public in their attitude toward the approach (section 5) and its realizations (section 6).

7.6.3 Adaptation to the changing needs and capabilities of users and the encouragement of confident use are additional factors for usability.

7.6.4 Training, documentation, and other aids and their ease of development are usability considerations, as is turnover in the user population.

7.7 Support/Repair

7.7.1 Support/Repair involves service to the elements of a realization over the lifecycle of their use.  There may be service and repair actions that users are expected or permitted to conduct.  There may be a service arrangement by which support is requested and resolution (advice and repairs) provided.  Barriers to the serviceability of the realization, especially a product, must be understood.

7.7.2 This topic includes provisions for trouble-shooting and diagnosis, isolation and workaround of failed components, introduction and removal of changes, tracking of problems, and maintenance of change histories. 

7.7.3 There is a relationship to configuration management and control of dependencies at the individual deployment level.   How is this done and how reliably is it maintained?

7.7.4 For information systems, is it safe to carry out practice, support training, and test cases on the system as deployed, with removal of all effects (but for logging and audit records)?  How reproducible are actions with the system?

7.8 Performance/Scale

7.8.1 There may be a region of performance (capacity, responsiveness, demand for resources) that is supported by the approach and its realization (sections 5 and 6). 

7.8.2 Are there configuration and migration arrangements available in the case that demand on the system consistently exceeds or falls short of the targeted performance envelope?

7.8.3 Are there provisions for the risk of errors in the estimation of performance and demand for resources?  If the realization cannot be scaled upward or downward based on experience and on changing conditions, what risk management and mitigation provisions are considered?

7.9 Trustworthiness

7.9.1 Many of these considerations involve contribution to the confidence placed in a system and the willingness of people to rely on it.  Positive approaches are evidence for trustworthiness.

7.9.2 There are other aspects of trustworthiness that might be singled out, especially for an organization that delivers products to the public.  These aspects have to do with the relationship that the producer is out to foster.  What care is shown for the experience of adopters and users of the product or service?  What is (or will be) the response when there are breakdowns in that experience?

7.9.3 Although trustworthiness is predicated on the conduct of the trustworthy party, there are ways that party's care is expressed in the realization, deployment and other factors around delivery and support of products.  As TROST and related projects gain more experience, specific trustworthiness considerations will be catalogued. 

7.9.4 One trustworthiness consideration for software-engineering is the degree to which a delivered component depends on other components for reliable operation.  Accounting for minimization of such dependencies and mitigation of potential unreliable arrangements can be a consideration.

7.9.5 At a minimum, it is valuable that trustworthiness be considered explicitly.


8. Consequences

Application of a pattern to a situation will produce results (Garfinkel 2005).  This can be taken as a new context in which additional patterns now apply (Meszaros & Doble 1997).  An useful approach to framing the consequences is in terms of the benefits and the limitations that achievement of the pattern brings as its consequences (Adams et.al. 2001; Trowbridge et.al. 2003).

8.1 Benefits

Enumerate the key benefits that are attributed to achievement of the pattern with the given approach and realization, if any.

8.2 Limitations

Enumerate the key limitations that accompany achievement of the pattern with the given approach and realization, if any.

8.3 Trade-Offs

Identify the trade-offs that occur with this approach and realization, if any.   In general, a chosen approach will involve a particular trade-off among the identified concerns (section 4).

8.4 Risks

8.4.1 If there are risks associated with undertaking an approach, more than as recognized limitations of its achievement, they can be featured here.  This can be a good place to consolidate the key risks identified in conjunction with various considerations (section 7) that arise with the approach and any realization (sections 5 and 6).

8.4.2 If there is a risk analysis methodology being applied, the information here can be tied into a consolidated risk identification and mitigation process.

8.5 Next Challenges

8.5.1 It is a commonplace to assert that every solution to a problem brings with it new problems -- additional situations for which an approach is called for (Meszaros & Doble 1997).  These may be at a lower level and are expected to be of lesser severity.

8.5.2 With the identification of a given pattern and application of an approach for its achievement and realization, open challenges will appear.  This is a natural part of the separation of concerns that pattern languages and related methodologies support.  The new challenges become part of the new context in which further refinement and pattern resolution can now occur.

8.5.3 The next challenges are generally tied to suggestions of further patterns that may be applied.


9. Usage

With the situation identifying where, approach identifying how and realization identifying what, it is important to identify actual occurrences in practice.  There are some companion aspects of usage as well, that may be important when investigating which patterns fit a given situation the best.

9.1 Known Examples

Specify actual cases.  It is valuable to have contrasting cases from different domains and even levels of scale (Gamma et.al. 1995).  This can broaden the appreciation of the pattern distinct from the finer details of situations.

9.2 Variants

Variations on this pattern, detailed approach, or realization are important to know about.  What are their names?  Where are they described?

9.3 Related Patterns

Finally, there are other patterns related to this one.  In particular, there are patterns that usefully accompany or complete the present pattern in some way.  These are important to identify, along with their relationship to the present pattern.


10. Sources

It is important to acknowledge the sources for the current pattern, especially when the current pattern replicate patterns published elsewhere.  In many cases, a summary page or pattlet may serve simply to import the details of an existing pattern into a new pattern language.

10.1 References

Provide references to all sources relied upon in the formulation of the current pattern.  Have references be complete and sufficient so that a reader can locate the material, even when a printed copy of the pattern description is being consulted.

10.2 Contributors

Many patterns arise out of collaborative efforts and special events created solely for working on the review and articulation of patterns.  All contributors who participate in ways not accounted for in referenced works can be identified here.  Other acknowledgments may be appropriate here.

10.3 Attribution

10.3.1 Provide a specimen statement of attribution that can be used by others in making citations to the current pattern description.  This is particularly useful if the use of the pattern by others is contingent on making attribution to the current work.  It is also valuable to indicate citation of the specific version (section 1) when that applies.

10.3.2 If there are particular notices of intellectual property (such as copyright) and any grants of license, here is an appropriate place for it.  It can also be part of the page format.

 

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/>.  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.
    
    
Booch, Grady., Rumbaugh, James., Jacobson, Ivar (1999).
The Unified Modeling Language User Guide.  Object Technology Series, Addison-Wesley, Reading, MA.  ISBN 0-201-57168-4.
    
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.
    
    
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.
    
    
Hamilton, Dennis E. (2005a)
Performance Architecture.  TROST InfoNote i050807, TROSTing.org, web pages at <http://TROSTing.org/info/2005/08/i050807.htm>.
    
Hamilton, Dennis E. (2005b)
Navigational Data Model.  TROST InfoNote i050809, TROSTing.org, web pages at <http://TROSTing.org/info/2005/08/i050809.htm>.
    
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).
      
Meszaros, Gerard (1997b).
Archi-Patterns: A Process Pattern Language for Defining Architectures.  Workshop submission.  Proceedings of the Fourth Pattern Languages of Programming Conference -- PLoP 97, Monticello IL, September 3-5, 1997.  Washington University Technical Report 97-34.  Available at <http://st-www.cs.uiuc.edu/users/hanmer/PLoP-97/> (accessed 2005-12-21).
     
PatternShare (2005).
Microsoft Wiki Pattern Style.  Web page, Community Contributions, PatternShare.org, July 23.  At <http://patternshare.org/default.aspx/Home.Community.MicrosoftWikiPatternStyle>.
    
Technorati (2005).
Using Technorati Tags.  Technorati Help: Tags, Web page, Technorati.com.  Available at <http://technorati.com/help/tags.html> (accessed 2005-09-21).
     Although pages bearing tags are generally included in web logs or other specialized collections of material, the tag form can be used in any web page.
    
    
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-21-17:05 Edit for Consistency with other 0.50 Materials
There is minor editorial adjustment and correction based on the dissertation version, proof-reading, and organization of other 0.50 materials.  The changes are not material enough to carry on a new page.
0.30 2005-09-23-21:11 Describe Topics and Elements Derived from the Comparison
The 0.30 i050803d comparison is used as the basis for this specification of the TROST pattern format.  It is also aligned with the Pattlet Summary Format used standalone and as a cover for elaborate pattern descriptions .
0.00 2005-08-21-16:31 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 is a customization of the InfoNote Bootstrap Template 0.20 Material [placeholder] template.  A version from Develop InfoNote Bootstrap Template (0.20) Material was used.

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: 105 $

Home