<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=iso-8859-1" http-equiv="content-type">
    <title>User Manual</title>
    <link title="esf-styles" href="../css/style.css" rel="stylesheet" type="text/css">
  </head>
  <body>
    <div id="banner"> <img src="../images/help_banner.jpg" alt="Help banner"> </div>
    <div id="content">
      <h1 class="unnumbered">User Manual</h1>
      <h2 class="unnumbered">Content</h2>
      <ul>
        <li><a href="#proj">Create ESF Project</a></li>
        <li><a href="#arch">System Architecture</a>
		  <ul>
            <li><a href="#remarks">Remarks</a></li>
            <li><a href="#archImport">Import an Existing Architecture to an ESF Project</a></li>
            <li><a href="#archCreate">Create a New Architecture inside an ESF Project</a></li>
            <li><a href="#archESFView">The ESF Architecture Diagram</a></li>
          </ul>
        </li>
      </ul>
    </div>

    <div id="proj">
        <h1>Create an ESF Project</h1>
        <p>Click "New > Project..." either from the "Project Explorer" or the "File" menu.</p>
        <p>From the "New Project" dialog, select "Papyrus Project" and click "Next >".</p>
        <p>Choose "Eclipse Safety Framework" as architecture context.</p>
        	<img src="./images/Fig_1_1_ESFNewProject.png" alt="Create Papyrus Project"  height="500px">
        <p>Name the project as "RecoverySystemESF" and the model file as "recoverySystemESF", then click "Next >".</p>
        <p>Select the initial diagrams of your model.</p>
        	<img src="./images/Fig_1_2_ESFSelectDiagrams.png" alt="Select diagrams" height="450px">
        <p>The ESF project will be created and opened in the Papyrus perspective.</p>
        	<img src="./images/Fig_1_3_ESFProjectCreated.png" alt="ESF Project Created" height="400px">
    </div>

    <div id="arch">
        <h1>System Architecture</h1>

        <div id="remarks">
            <h2>Remarks</h2>
            <p>In UML the Port element does not have direction. But for certains safety analyses, this information is mandatory. For this reason, before to import an architecture model (see below) or apply the "ESFArchitectureConcepts Annotation" (see more below), it is recommended follow this instruction:</p>
            <p>For each port, go to the "Properties View" and click on "Comments" tab. In "Owned comments" add a comments: "in", "input", "out" or "output".</p>
            <img src="./images/Fig_2_0a_SetPortDirectionByComment.png" alt="Set Port Direction By Comment" height="350px">
            <p>If you cant not modify the architecture model, you can modify the "Direction" attribute of SPort (stereotype applied on a port). For each port applied by SPort, go to the "Properties View", click on "ESFArchitectureConcepts" tab and set the "Direction" attribute: "IN" or "OUT". "INOUT" is a default value.</p>
            <img src="./images/Fig_2_0b_SetSPortDirection.png" alt="Set SPort Direction" height="300px">
        <div>

        <div id="archImport">
            <h2>Import an Existing Architecture to an ESF Project</h2>
            <p>Firstly, import the existing system architecture project to the workspace. Click the "File" or "New > Project..." either from the "Project Explorer".</p>
            <img src="./images/Fig_2_1_ImportArchitectureToWorkspace.png" alt="Import System Architecture" height="250px">
            <p>The system architecture project (RecoverySystem) will be imported and opened in the workspace.</p>
            <img src="./images/Fig_2_2_ImportedArchitectureToWorkspace.png" alt="ImportedArchitecture">
            <p>Then double click on the ESF model, right click on the root element in model explorer and click "ESF Import Model > Import UML Model...".</p>
            <img src="./images/Fig_2_3_ImportUMLModelMenu.png" alt="Imported UML Model Menu"  height="125px">
            <p>Select the uml model to import and click "OK".</p>
            <img src="./images/Fig_2_4_SelectUMLModel.png" alt="Select the UML Model" height="200px">
            <p>Select the uml model element to import and click "OK".</p>
            <img src="./images/Fig_2_5_SelectElementsToImport.png" alt="Select the Elements to Import" height="200px">
            <p>Lastly, if a dialog box display asking for enabling writing or not, click "OK".</p>
            <img src="./images/Fig_2_6_EnableWrite.png" alt="EnableWrite" height="150px">
            <p>Imported system architecture appears inside the root element of the ESF model.</p>
            <p><b>Note that for the imported copy of the original system architecture model, another model file (in this case, recoverySystem_1479374458104.di) in the system architecture project (RecoverySystem) is created also.</b></p>
            <img src="./images/Fig_2_7_ArchitectureImportedToESF.png" alt="ArchitectureImportedToESF" height="400px">
        </div>

        <div id="archCreate">
            <h2>Create a New Architecture inside an ESF Project</h2>
            <p>A new UML system architecture can be created inside an ESF project thanks to Papyrus.</p>
            <p>Right click on the root element and then click "New Child > Model".</p>
            <img src="./images/Fig_2_8_CreateArchitectureModel.png" alt="Create Architecture Model" height="400px">
            <p>Rename the created model as "RSArchitecture".</p>
            <img src="./images/Fig_2_9_RenameArchitectureModel.png" alt="Rename Architecture Model" height="100px">
            <p>Continue creating the other elements inside the model until finishing the system architecture.</p>
            <img src="./images/Fig_2_10_FinishedArchitectureModel.png" alt="Finished Architecture Model" height="300px">
            <p>Right click on the "RSArchitecture" model element and then click "Apply ESFArchitectureConcepts Annotation".</p>
            <img src="./images/Fig_2_11_AnnotationMenu.png" alt="Annotation Menu" height="150px">
            <p>ESFArchitectureConcepts annotations will be applied and the editor will be updated.</p>
            <img src="./images/Fig_2_12_AnnotatedArchitectureModel.png" alt="Annotated Architecture Model" height="300px">
        </div>

        <div id="archESFView">
            <h2>The ESF Architecture Diagram</h2>
            <p>ESF offers a diagram named "ESF Architecture Diagram" (EAD). This diagram is a specialization of "Structure Composite Diagram" from UML. With EAD, you can create the elements with the "ESF Architecture Concepts" stereotypes applied.</p>
            <p>For creating a new EAD, right click on a "SBlock" element and then click "Create ESF Architecture Diagram".</p>
            <img src="./images/Fig_2_13_CreateESFArchitectureDiagram.png" alt="Create ESF Architecture Diagram" height="175px">
            <p>The EAD offers a palette with the elements of ESF Architecture Concepts.</p>
            <img src="./images/Fig_2_14_PaletteOfESFArchitectureDiagram.png" alt="Palette of ESF Architecture Diagram"  height="175px">
            <p><b>Note:</b>When a SPart is added a dialog is opened for setting a type to SPart. By the dialog, there are two ways to define a type: the first, it is to create a new SBlock element; the second, it is to select a SBlock element present in the model.</p>
            <img src="./images/Fig_2_15_SPartTypeDialog.png" alt="SPart Type Dialog" height="250px">
            <p>Example of Recovery System with ESF Architecture Diagram:</p>
            <img src="./images/Fig_2_16_RecoverySystemESFArchitectureDiagram.png" alt="Recovery System with ESF Architecture Diagram" height="400px">
            <p><b>Note:</b>When the EAD is created, some existent elements of SBlock don't be displayed. They should be drag and drop in the EAD.</p>
        </div>
    </div>
</html>
