<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="activity"
    nsURI="activity" nsPrefix="activity">
  <eClassifiers xsi:type="ecore:EClass" name="ActivityEdge">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="guard" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//ActivityNode"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//ActivityNode"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="container" lowerBound="1"
        eType="#//ActivityCollection" eOpposite="#//ActivityCollection/edges"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ActivityNode" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="container" lowerBound="1"
        eType="#//ActivityCollection" eOpposite="#//ActivityCollection/activities"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FinalNode" eSuperTypes="#//ActivityNode"/>
  <eClassifiers xsi:type="ecore:EClass" name="InitialNode" eSuperTypes="#//ActivityNode"/>
  <eClassifiers xsi:type="ecore:EClass" name="JoinNode" eSuperTypes="#//ActivityNode"/>
  <eClassifiers xsi:type="ecore:EClass" name="MergeNode" eSuperTypes="#//ActivityNode"/>
  <eClassifiers xsi:type="ecore:EClass" name="Action" eSuperTypes="#//ActivityNode"/>
  <eClassifiers xsi:type="ecore:EClass" name="ForkNode" eSuperTypes="#//ActivityNode"/>
  <eClassifiers xsi:type="ecore:EClass" name="DecisionNode" eSuperTypes="#//ActivityNode"/>
  <eClassifiers xsi:type="ecore:EClass" name="ActivityCollection">
    <eStructuralFeatures xsi:type="ecore:EReference" name="activities" upperBound="-1"
        eType="#//ActivityNode" containment="true" eOpposite="#//ActivityNode/container"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="edges" upperBound="-1"
        eType="#//ActivityEdge" containment="true" eOpposite="#//ActivityEdge/container"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
</ecore:EPackage>
