<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:GuidanceDescription xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.5/uma.ecore"
    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmi:id="-giTBOvJczHXweRzBQEo-7A"
    name="new_template,_EOPcMAMUEdylNddAObilIA" guid="-giTBOvJczHXweRzBQEo-7A" changeDate="2007-06-22T10:44:44.614-0700">
  <mainDescription>&lt;p> This template describes how the design can be organized to be understood from &#xD;
  multiple perspectives. It also provides suggestions for how patterns and descriptions &#xD;
  of small, reusable interactions can be used to minimize redundancy. &lt;/p>&#xD;
&lt;p> It is important not to think of design as &amp;quot;a document.&quot; Design information &#xD;
  that is worth keeping for some duration must have a long-lived form. But that &#xD;
  form might be as a repository in a visual modeling tool, or as subdirectories &#xD;
  of whiteboard diagrams captured with a digital camera, or as an actual document &#xD;
  that provides structure for images taken from a myriad of sources. &lt;/p>&#xD;
&lt;p> This template describes the information that should be conveyed. Typically, &#xD;
  it works best to convey the information graphically (either with UML or another &#xD;
  unambiguous notation), or at least in words, at an abstract level. You can enhance &#xD;
  this with code examples, but best not to render the design solely at the code &#xD;
  level. &lt;/p>&#xD;
&lt;p>&#xD;
    The structure of the design is suggested in this template.&#xD;
&lt;/p>&#xD;
&lt;h3> Design structure &lt;/h3>&#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> [Describe the design from the highest level. This &#xD;
  is commonly done with a diagram that shows a layered architecture.] &lt;/p>&#xD;
&lt;h3> Subsystems &lt;/h3>&#xD;
&lt;h4> [Sub-system1] &lt;/h4>&#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> [Describe the design of a portion of the system (a &#xD;
  package or component, for instance). The design should capture both static and &#xD;
  dynamic perspectives. &lt;/p>&#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> When capturing dynamic descriptions of behavior, look &#xD;
  for reusable chunks of behavior that you can reference to simplify the design &#xD;
  of the use-case realizations. &lt;/p>&#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> You can break this section down into lower-level subsections &#xD;
  to describe lower-level, encapsulated subsystems.] &lt;/p>&#xD;
&lt;h3> Patterns &lt;/h3>&#xD;
&lt;h4> [Pattern1] &lt;/h4>&#xD;
&lt;h5> Overview &lt;/h5>&#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> [Provide an overview of the pattern in words in some &#xD;
  consistent form. The overview of a pattern can include the intent, motivation, &#xD;
  and applicability.] &lt;/p>&#xD;
&lt;h5> Structure &lt;/h5>&#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> [Describe the pattern from a static perspective. Include &#xD;
  all of the participants and how they relate to one another, and call out the&amp;nbsp;relevant &#xD;
  data and behavior.] &lt;/p>&#xD;
&lt;h5> Behavior &lt;/h5>&#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> [Describe the pattern from a dynamic perspective. Walk &#xD;
  the reader through how the participants collaborate to support various scenarios.] &#xD;
&lt;/p>&#xD;
Example &#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> [Often, you can convey the nature of the pattern better &#xD;
  with an additional concrete example.] &lt;/p>&#xD;
&lt;h3> Use-case realizations &lt;/h3>&#xD;
&lt;h4> [Realization1] &lt;/h4>&#xD;
&lt;h5> View of participants &lt;/h5>&#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> [Describe the participating design elements from a &#xD;
  static perspective, giving details such as behavior, relationships, and attributes &#xD;
  relevant to this use-case realization.] &lt;/p>&#xD;
&lt;h5> Basic scenario &lt;/h5>&#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> [For the main flow, describe how instances of the design &#xD;
  elements collaborate to realize the use case. When using UML, this can be done &#xD;
  with collaboration diagrams (sequence or communication).] &lt;/p>&#xD;
&lt;h5> Additional scenarios &lt;/h5>&#xD;
&lt;p style=&quot;COLOR: #0000ff&quot;> [For other scenarios that must be described to convey &#xD;
  an appropriate amount of information about how the use-case behavior will be &#xD;
  realized, describe how instances of the design elements collaborate to realize &#xD;
  the use case. When using UML, you can do this with collaboration diagrams (sequence &#xD;
  or communication).] &lt;/p></mainDescription>
</org.eclipse.epf.uma:GuidanceDescription>
