﻿<?xml version="1.0" encoding="utf-8"?>
<modelStoreModel xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" xmlns:dm1="http://schemas.microsoft.com/dsltools/Kernel" xmlns:dm2="http://schemas.microsoft.com/dsltools/Component" xmlns:dm3="http://schemas.microsoft.com/dsltools/UseCase" xmlns:dm4="http://schemas.microsoft.com/dsltools/Activity" xmlns:dm5="http://schemas.microsoft.com/dsltools/Interaction" xmlns:dm6="http://schemas.microsoft.com/dsltools/UmlModelLibrary" xmlns:dm7="http://schemas.microsoft.com/dsltools/UmlDiagrams" xmlns:dm8="http://schemas.microsoft.com/dsltools/LogicalClassDesigner" xmlns:dm9="http://schemas.microsoft.com/VisualStudio/TeamArchitect/ComponentDesigner"
  dslVersion="1.0.0.0"
  Id="97c38cc1-2248-4ad0-9a00-15e8956d4ecf"
  name="CommandLineParser.Architecture" xmlns="http://schemas.microsoft.com/dsltools/ModelStore">
  <ownedCommentsInternal>
    <comment
      Id="fb5d576c-4388-4547-a6c6-7c460aa8112e">
      <body>parser algorithms, data and helpers</body>
    </comment>
    <comment
      Id="b76aa566-343c-4cfe-b78c-ca207ce50984">
      <body>unit test for parser algorithms and helpers</body>
    </comment>
    <comment
      Id="ba475dac-5baa-4983-944c-777cd3d7c81f">
      <body>MVC</body>
    </comment>
    <comment
      Id="a67d28d3-524a-4f85-9b36-f58032597ebb">
      <body>IsValidArgument?</body>
      <annotatedElements>
        <decisionNodeMoniker
          Id="e3a3062e-f1b5-4307-bceb-d823078d46d5"
          LastKnownName="Decision1"
          LastKnownLocation="CommandLineParser.Architecture.uml" />
      </annotatedElements>
    </comment>
    <comment
      Id="6a21cb2c-7b25-43e6-9e9d-be651e9e007e">
      <body>QT view</body>
    </comment>
    <comment
      Id="e617c592-f9f7-455a-818d-afbde7088057">
      <body>business logic &amp; data objects</body>
    </comment>
    <comment
      Id="2f143f06-7c8a-4c29-b6d5-b2effa021d4c">
      <body>properties, commands, view logic</body>
    </comment>
  </ownedCommentsInternal>
  <profileInstances>
    <packageHasProfileInstances
      Id="0caec977-1f8c-4ba3-a7db-8cc9ad9cc73b">
      <profileInstance
        Id="e34d544e-0fea-4ed6-ac5e-1b74119ac791"
        name="StandardProfileL2" />
    </packageHasProfileInstances>
    <packageHasProfileInstances
      Id="29349502-908c-4fda-9054-c48619c59ed0">
      <profileInstance
        Id="532ea607-fb19-44b8-8502-3351b05452be"
        name="StandardProfileL3" />
    </packageHasProfileInstances>
  </profileInstances>
  <packagedElements>
    <packageHasNamedElement>
      <component
        Id="7d8cb26f-cf98-48a0-8203-af7462d90c8a"
        name="CommandLineParser.Backend.Core"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <component
        Id="8badd9f5-0c26-42f9-be3e-c2ab6c512477"
        name="CommandLineParser.Backend.Core1"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <component
        Id="fa02f80d-69a2-4e29-891a-e8f3dba20c74"
        name="CommandLineParser.Frontend.Client"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <dependency
            Id="b0ba1e54-c052-426d-83c9-8e51932f3836">
            <componentMoniker
              Id="7d8cb26f-cf98-48a0-8203-af7462d90c8a"
              LastKnownName="CommandLineParser.Backend.Core"
              LastKnownLocation="CommandLineParser.Architecture.uml" />
          </dependency>
        </suppliersInternal>
      </component>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <component
        Id="02e81da8-8237-40d6-a238-b632fcea4388"
        name="CommandLineParser.Backend.Test"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <dependency
            Id="d8b93b33-8c04-42ea-89f1-fd20dffddc16">
            <componentMoniker
              Id="7d8cb26f-cf98-48a0-8203-af7462d90c8a"
              LastKnownName="CommandLineParser.Backend.Core"
              LastKnownLocation="CommandLineParser.Architecture.uml" />
          </dependency>
        </suppliersInternal>
      </component>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <packageMoniker
        Id="47c6e937-10fb-4ef1-80d6-8d8b90ec3881"
        LastKnownName="CommandLineParser.Backend.Core.dll"
        LastKnownLocation="Package_1452.uml" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <packageMoniker
        Id="2f514307-cb37-4018-b6ef-d0caa18c54fa"
        LastKnownName="CommandLineParser.Frontend.Client.exe"
        LastKnownLocation="Package1_1452.uml" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <packageMoniker
        Id="a57a1e6b-342e-4181-a7c1-2e56e631f8e4"
        LastKnownName="CommandLineParser.Backend.Test.dll"
        LastKnownLocation="Package_1453.uml" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <activity
        Id="aa4e7a0e-2c37-477b-858c-806320cf57a7"
        name="Parser"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false"
        isReentrant="false"
        isReadOnly="false"
        isSingleExecution="false">
        <nodes>
          <initialNode
            Id="e462743a-adeb-4210-885f-f29cb863d59b"
            name="Initial1"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="e7ed3f8c-337a-4026-8814-aae116aca81c"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="e1e21072-8a83-403c-99d8-9852893d864a"
                  LastKnownName="Add arguments (sommand, constant)"
                  LastKnownLocation="CommandLineParser.Architecture.uml" />
              </controlFlow>
            </flowNodeTargets>
          </initialNode>
          <opaqueAction
            Id="6bf99fc8-22d3-486b-8520-1aaa825fad36"
            name="Read command line arguments"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="f85dc047-a138-4488-a277-28aaed2a98cb"
                isLeaf="false">
                <decisionNodeMoniker
                  Id="e3a3062e-f1b5-4307-bceb-d823078d46d5"
                  LastKnownName="Decision1"
                  LastKnownLocation="CommandLineParser.Architecture.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <decisionNode
            Id="e3a3062e-f1b5-4307-bceb-d823078d46d5"
            name="Decision1"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="2d6ad0e4-c033-4d16-a1b5-ab8eca78234a"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="3e838e96-d4a5-4ee0-aae9-22d4b9790ac3"
                  LastKnownName="ActivityFinal1"
                  LastKnownLocation="CommandLineParser.Architecture.uml" />
              </controlFlow>
              <controlFlow
                Id="b1421360-1d3b-40da-ba11-e8907f9af218"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="efb3c988-afb6-40a6-ac9d-36ba0eb28ad3"
                  LastKnownName="Validate argument"
                  LastKnownLocation="CommandLineParser.Architecture.uml" />
              </controlFlow>
            </flowNodeTargets>
          </decisionNode>
          <activityFinalNode
            Id="3e838e96-d4a5-4ee0-aae9-22d4b9790ac3"
            name="ActivityFinal1"
            isLeaf="false" />
          <opaqueAction
            Id="e1e21072-8a83-403c-99d8-9852893d864a"
            name="Add arguments (sommand, constant)"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="aead3453-addd-407b-b629-e9ed0e11ab63"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="6bf99fc8-22d3-486b-8520-1aaa825fad36"
                  LastKnownName="Read command line arguments"
                  LastKnownLocation="CommandLineParser.Architecture.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="efb3c988-afb6-40a6-ac9d-36ba0eb28ad3"
            name="Validate argument"
            isLeaf="false" />
        </nodes>
      </activity>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <component
        Id="d2b23b9f-e42b-4081-b81d-c05a8bce7a37"
        name="MainView"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <appliedStereotypesInternal>
          <stereotypeInstance
            Id="ca7f0da1-4ffb-49b3-a41a-64b7fe020f60"
            name="entity"
            profile="StandardProfileL2" />
        </appliedStereotypesInternal>
        <suppliersInternal>
          <dependency
            Id="64761d8b-b87c-441f-91cc-0b81a5ecd714">
            <componentMoniker
              Id="f6446409-6c0d-41c2-93a4-4179cd542f03"
              LastKnownName="MainViewController"
              LastKnownLocation="CommandLineParser.Architecture.uml" />
          </dependency>
        </suppliersInternal>
      </component>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <component
        Id="df623a6a-1fc7-43b9-b3b4-007f6f63f079"
        name="ArgumentList (Model)"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <appliedStereotypesInternal>
          <stereotypeInstance
            Id="b03a7584-0fde-489c-8255-eb910e1381e5"
            name="entity"
            profile="StandardProfileL2" />
        </appliedStereotypesInternal>
      </component>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <component
        Id="f6446409-6c0d-41c2-93a4-4179cd542f03"
        name="MainViewController"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <appliedStereotypesInternal>
          <stereotypeInstance
            Id="dd6e97c2-f11a-4b3f-8a75-3e818071f704"
            name="entity"
            profile="StandardProfileL2" />
        </appliedStereotypesInternal>
        <suppliersInternal>
          <dependency
            Id="14fd65bd-883e-433a-a4a4-f3b378844704">
            <componentMoniker
              Id="df623a6a-1fc7-43b9-b3b4-007f6f63f079"
              LastKnownName="ArgumentList (Model)"
              LastKnownLocation="CommandLineParser.Architecture.uml" />
          </dependency>
        </suppliersInternal>
      </component>
    </packageHasNamedElement>
  </packagedElements>
  <primitiveType
    Id="220a3521-e091-4221-bae9-3ef9018e845c"
    name="Integer"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
    name="Boolean"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
    name="String"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="3ab42e7d-4969-445a-b209-471f5cb8209c"
    name="UnlimitedNatural"
    isAbstract="false"
    isLeaf="false" />
</modelStoreModel>