<?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" xmlns:rmc="http://www.ibm.com/rmc"
    rmc:version="7.5.0" xmi:id="-0EHLiQw1MRgoQJ1gBEJBlw"
    name="new_example,_JoLlEIJQEd2sTeTIQhu12Q" guid="-0EHLiQw1MRgoQJ1gBEJBlw" changeDate="2008-11-06T06:54:18.062-0800"
    version="7.5.0">
  <mainDescription>&lt;p>&#xD;
    Figure 1 is an example of a Practice Assign plug-in for a practice that does not include any practice-specific&#xD;
    roles.&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Figure 1. UMF Assign Plug-In Example (No Practice-Specific Roles)&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;img alt=&quot;umf_assign_plugin_example&quot; src=&quot;./resources/umf_assign_plugin_ex.gif&quot; />&lt;br />&#xD;
&lt;/p>&lt;br />&#xD;
&lt;p>&#xD;
    Note the:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Role contributors that contain the &quot;role&amp;nbsp;responsible for work product&quot; assignments&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Task contributors that contain the &quot;task performed by role&quot; assignments&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Discipline contributor that assigns the tasks to the Method Authoring discipline&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Domain contributor that assigns the tasks to the Method Authoring domain&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Notice the use of a suffix (after the period) in each element name to distinguish it from the base element it&#xD;
    contributes to.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &amp;nbsp;&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Figure&amp;nbsp;2 is an example of a Practice Assign plug-in for a practice that does include practice-specific&#xD;
    roles.&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Figure 2. UMF Assign Plug-In Example (Practice-Specific Roles)&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &lt;img alt=&quot;umf_assign_plugin_example_with_role_definitions&quot; src=&quot;resources/umf_assign_plugin_ex_with_role_def.gif&quot; />&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Note the:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Role definitions as well as role contributors&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Role contributors that contain the &quot;role&amp;nbsp;responsible for work product&quot; assignments&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Task contributors that contain the &quot;task performed by role&quot; assignments&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Discipline contributors that assign the tasks to the appropriate disciplines&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Domain contributor that assigns the tasks to the Configuration and Change Management domain&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Role Set contributor that adds the new roles to the Change Management role set.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Notice the use of a suffix (after the period) in each element name to distinguish it from the base element it&#xD;
    contributes to.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &amp;nbsp;&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Figure&amp;nbsp;3 provides a closer look at how to assign a role responsibility for a work product.&amp;nbsp;Specifically, how&#xD;
    to assign the Role: Method Designer responsibility for some work products. The graphic on the left shows how a role&#xD;
    contributor is defined to add the &quot;role to work product&quot; associations&amp;nbsp;(the role method element &quot;owns&quot; these&#xD;
    relationships) and the graphic on the right&amp;nbsp;shows the associations from the role to the work products that were&#xD;
    added in the role contributor.&amp;nbsp;The definition of a task contributor to add performing roles to the task is&#xD;
    performed in a similar way and is not&amp;nbsp;shown here.&amp;nbsp;&lt;br />&#xD;
    &lt;br />&#xD;
&lt;/p>&#xD;
&lt;table title=&quot;Figure 2: Assigning a Role Responsibility for Work Products&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;85%&quot;&#xD;
summary=&quot;Assigning a role responsibility for some work products&quot; border=&quot;1&quot;>&#xD;
    &lt;caption>&#xD;
        Figure 3. Assigning a Role Responsibility for Work Products&#xD;
    &lt;/caption>&#xD;
    &lt;tbody>&#xD;
        &lt;tr>&#xD;
            &lt;td>&#xD;
                &lt;img alt=&quot;role_contributor_to_add_role_to_work_product_associations&quot;&#xD;
                src=&quot;./resources/umf_role_to_wp_ex.gif&quot; />&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;img alt=&quot;role_to_work_product_associations&quot; src=&quot;./resources/umf_role_to_wp_ex_part2.gif&quot; />&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
    &lt;/tbody>&#xD;
&lt;/table>&lt;br />&#xD;
&lt;br />&#xD;
&lt;p>&#xD;
    Figure&amp;nbsp;3 provides a closer look at how to assign a set of tasks to a discipline.&amp;nbsp;In this case, assigning some&#xD;
    tasks to the Method Authoring discipline.&amp;nbsp;The graphic on the left shows how a contributor is defined to add the&#xD;
    &quot;discipline to task&quot; associations&amp;nbsp;and the graphic on the right&amp;nbsp;shows the added associations from the&#xD;
    discipline to the tasks to be categorized to that discipline.&amp;nbsp;The definition of a domain to a set of work products&#xD;
    is similar and is not&amp;nbsp;shown here.&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;table title=&quot;Adding Tasks to a Discipline&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;85%&quot;&#xD;
summary=&quot;Example of adding tasks to a discipline&quot; border=&quot;1&quot;>&#xD;
    &lt;caption>&#xD;
        Figure&amp;nbsp;4. Adding Tasks to a Discipline&#xD;
    &lt;/caption>&#xD;
    &lt;tbody>&#xD;
        &lt;tr>&#xD;
            &lt;td>&#xD;
                &lt;img alt=&quot;discipline_contributor&quot; src=&quot;./resources/umf_discipline_to_task_ex.gif&quot; />&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;img alt=&quot;tasks_for_a_discipline&quot; src=&quot;./resources/umf_discipline_to_task_ex_part2.gif&quot; />&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
    &lt;/tbody>&#xD;
&lt;/table></mainDescription>
</org.eclipse.epf.uma:GuidanceDescription>
