GRAFICO explained

Jean-Baptiste Sarrodie edited this page Mar 30, 2015 · 1 revision

GRAFICO stands for "Git Friendly Archi File Collection" and is a way to persist an ArchiMate model in a bunch of XML files (one file per ArchiMate element or view).

Folder hierarchy

Exporting a model leads to the following folder hierarchy (root is the folder chose when exporting the model from Archi):

`- root/
   |- images/
   |  `- ...
   `- model/
      |- application/
      |  |- ...
      |  `- folder.xml
      |- business/
      |  |- ...
      |  `- folder.xml
      |- connectors/
      |  |- ...
      |  `- folder.xml
      |- derived/
      |  |- ...
      |  `- folder.xml
      |- diagrams/
      |  |- ...
      |  `- folder.xml
      |- implementation_migration/
      |  |- ...
      |  `- folder.xml
      |- motivation/
      |  |- ...
      |  `- folder.xml
      |- relations/
      |  |- ...
      |  `- folder.xml
      |- technology/
      |  |- ...
      |  `- folder.xml
      `- folder.xml

The images folder contains images used inside the model if any (mainly on Canvas views).

The model folder contains the whole model and views. The same pattern is used in a recursive manner: a "container" (the model itself is a container, same is true for any element or view folder) is saved as a folder on disk containing a folder.xml file (description and properties of the container itself), a bunch of XML files (description and properties of contained elements) and sub-folders (containers included inside this one). All but roots elements are saved in a folder or file named using object internal ID.

Sample folder.xml for the whole model

<archimate:ArchimateModel
    xmlns:archimate="http://www.archimatetool.com/archimate"
    name="Archisurance"
    id="11f5304f"
    purpose="An example of a fictional Insurance company."
    version="3.1.1"/>

Sample folder.xml for a folder

<archimate:Folder
    xmlns:archimate="http://www.archimatetool.com/archimate"
    name="Processes"
    id="2966482c"/>

Sample XML file for an archimate element

<archimate:BusinessProcess
    xmlns:archimate="http://www.archimatetool.com/archimate"
    id="612"
    name="Create Contract"/>

Sample XML file for a diagram

<archimate:ArchimateDiagramModel
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:archimate="http://www.archimatetool.com/archimate"
    id="16fe3cf9"
    name="Goal and Principle View"
    viewpoint="22">
  <children
      xsi:type="archimate:DiagramModelGroup"
      id="ecc8b6ec"
      name="Products &amp; Services Goals">
    <bounds
        x="36"
        y="12"
        width="400"
        height="196"/>
    <children
        xsi:type="archimate:DiagramModelArchimateObject"
        id="859942c2"
        textAlignment="2"
        archimateElement="archimate:Principle ../motivation/f5674126.xml#f5674126">
      <bounds
          x="24"
          y="72"
          width="140"
          height="55"/>
    </children>
    <children
        xsi:type="archimate:DiagramModelArchimateObject"
        id="da42643d"
        textAlignment="2"
        archimateElement="archimate:Principle ../motivation/3938617c.xml#3938617c">
      <bounds
          x="204"
          y="36"
          width="140"
          height="55"/>
    </children>
    <children
        xsi:type="archimate:DiagramModelArchimateObject"
        id="84fa8477"
        textAlignment="2"
        archimateElement="archimate:Principle ../motivation/67316f1f.xml#67316f1f">
      <bounds
          x="204"
          y="108"
          width="140"
          height="55"/>
    </children>
  </children>
  <children
      xsi:type="archimate:DiagramModelGroup"
      id="9c7d3573"
      name="Financial Goals">
    <bounds
        x="36"
        y="228"
        width="400"
        height="196"/>
    <children
        xsi:type="archimate:DiagramModelArchimateObject"
        id="55a6859d"
        textAlignment="2"
        archimateElement="archimate:Principle ../motivation/b56d54a6.xml#b56d54a6">
      <bounds
          x="24"
          y="72"
          width="140"
          height="55"/>
    </children>
    <children
        xsi:type="archimate:DiagramModelArchimateObject"
        id="6c34185b"
        textAlignment="2"
        archimateElement="archimate:Principle ../motivation/3764dcef.xml#3764dcef">
      <bounds
          x="204"
          y="36"
          width="140"
          height="55"/>
    </children>
    <children
        xsi:type="archimate:DiagramModelArchimateObject"
        id="316e19d2"
        textAlignment="2"
        archimateElement="archimate:Principle ../motivation/712d4eec.xml#712d4eec">
      <bounds
          x="204"
          y="108"
          width="140"
          height="55"/>
    </children>
  </children>
  <children
      xsi:type="archimate:DiagramModelGroup"
      id="aaabac4c"
      name="ICT-Goals">
    <bounds
        x="36"
        y="468"
        width="400"
        height="196"/>
    <children
        xsi:type="archimate:DiagramModelArchimateObject"
        id="4c3db4dc"
        textAlignment="2"
        archimateElement="archimate:Principle ../motivation/66a2171b.xml#66a2171b">
      <bounds
          x="24"
          y="72"
          width="140"
          height="55"/>
    </children>
    <children
        xsi:type="archimate:DiagramModelArchimateObject"
        id="961adbd9"
        textAlignment="2"
        archimateElement="archimate:Principle ../motivation/af0e8c76.xml#af0e8c76">
      <bounds
          x="204"
          y="36"
          width="140"
          height="55"/>
    </children>
    <children
        xsi:type="archimate:DiagramModelArchimateObject"
        id="39407926"
        textAlignment="2"
        archimateElement="archimate:Principle ../motivation/3db08b5c.xml#3db08b5c">
      <bounds
          x="204"
          y="108"
          width="140"
          height="55"/>
    </children>
  </children>
</archimate:ArchimateDiagramModel>