surveillance
Coordinate
distance
other
shot
object
x
y
MovingObject
move
seconds
currentPosition
width
angle
speed
Drone
shot
UnidentifiedObject
shot
ProbableElement
confidence
GunShot
shootingPosition
drone
target
angle
hitsTarget
Clock
now
<?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="surveillance" nsURI="http://surveillance" nsPrefix="surveillance">
  <eAnnotations source="http://www.eclipse.org/OCL/Import">
    <details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/>
  </eAnnotations>
  <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
    <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
    <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
    <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EClass" name="Coordinate">
    <eOperations name="distance" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="20.0"/>
      </eAnnotations>
      <eParameters name="other" eType="#//Coordinate"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="shot" eType="#//GunShot"
        eOpposite="#//GunShot/shootingPosition"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
        eType="#//MovingObject" eOpposite="#//MovingObject/currentPosition"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MovingObject" abstract="true">
    <eOperations name="move">
      <eParameters name="seconds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="currentPosition" eType="#//Coordinate"
        eOpposite="#//Coordinate/object"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="angle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="speed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Drone" eSuperTypes="#//MovingObject">
    <eStructuralFeatures xsi:type="ecore:EReference" name="shot" upperBound="-1" eType="#//GunShot"
        eOpposite="#//GunShot/drone"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="UnidentifiedObject" eSuperTypes="#//MovingObject #//ProbableElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="shot" upperBound="-1" eType="#//GunShot"
        eOpposite="#//GunShot/target"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ProbableElement" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="confidence" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="GunShot" eSuperTypes="#//ProbableElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="shootingPosition" lowerBound="1"
        eType="#//Coordinate" eOpposite="#//Coordinate/shot"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="drone" lowerBound="1" eType="#//Drone"
        eOpposite="#//Drone/shot"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
        eType="#//UnidentifiedObject" eOpposite="#//UnidentifiedObject/shot"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="angle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
        derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="hitsTarget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        derived="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Clock">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="now" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"surveillance","nsURI":"http://surveillance","name":"surveillance","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Coordinate","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MovingObject","instanceClass":null,"abstract":true,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Drone","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnidentifiedObject","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProbableElement","instanceClass":null,"abstract":true,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"GunShot","instanceClass":null,"abstract":false,"id":6,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Clock","instanceClass":null,"abstract":false,"id":7,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"distance","lowerBound":0,"id":8,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"shot","changeable":true,"resolveProxies":true,"lowerBound":0,"id":9,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"object","changeable":true,"resolveProxies":true,"lowerBound":1,"id":10,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"x","changeable":true,"lowerBound":0,"iD":false,"id":11,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"y","changeable":true,"lowerBound":0,"iD":false,"id":12,"derived":false},{"id":13,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"other","lowerBound":0,"id":14,"many":false,"required":false,"eClass":"EParameter"},{"id":15,"eClass":"EGenericType"},{"id":16,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"shootingPosition","changeable":true,"resolveProxies":true,"lowerBound":1,"id":17,"derived":false},{"id":18,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"currentPosition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":19,"derived":false},{"id":20,"eClass":"EGenericType"},{"id":21,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"move","lowerBound":0,"id":22,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"width","changeable":true,"lowerBound":0,"iD":false,"id":23,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"angle","changeable":true,"lowerBound":0,"iD":false,"id":24,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"speed","changeable":true,"lowerBound":0,"iD":false,"id":25,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"seconds","lowerBound":0,"id":26,"many":false,"required":false,"eClass":"EParameter"},{"id":27,"eClass":"EGenericType"},{"id":28,"eClass":"EGenericType"},{"id":29,"eClass":"EGenericType"},{"id":30,"eClass":"EGenericType"},{"id":31,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"shot","changeable":true,"resolveProxies":true,"lowerBound":0,"id":32,"derived":false},{"id":33,"eClass":"EGenericType"},{"id":34,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"drone","changeable":true,"resolveProxies":true,"lowerBound":1,"id":35,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"shot","changeable":true,"resolveProxies":true,"lowerBound":0,"id":36,"derived":false},{"id":37,"eClass":"EGenericType"},{"id":38,"eClass":"EGenericType"},{"id":39,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"target","changeable":true,"resolveProxies":true,"lowerBound":1,"id":40,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"confidence","changeable":true,"lowerBound":0,"iD":false,"id":41,"derived":false},{"id":42,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"angle","changeable":true,"lowerBound":0,"iD":false,"id":43,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"hitsTarget","changeable":true,"lowerBound":0,"iD":false,"id":44,"derived":true},{"id":45,"eClass":"EGenericType"},{"id":46,"eClass":"EGenericType"},{"id":47,"eClass":"EGenericType"},{"id":48,"eClass":"EGenericType"},{"id":49,"eClass":"EGenericType"},{"id":50,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"now","changeable":true,"lowerBound":0,"iD":false,"id":51,"derived":false},{"id":52,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":0,"target":6},{"source":0,"target":7},{"source":1,"target":0},{"source":1,"target":8},{"source":1,"target":9},{"source":1,"target":10},{"source":1,"target":11},{"source":1,"target":12},{"source":8,"target":13},{"source":8,"target":1},{"source":8,"target":14},{"source":14,"target":1},{"source":14,"target":15},{"source":14,"target":8},{"source":15,"target":1},{"source":9,"target":6},{"source":9,"target":16},{"source":9,"target":1},{"source":9,"target":17},{"source":16,"target":6},{"source":10,"target":2},{"source":10,"target":18},{"source":10,"target":1},{"source":10,"target":19},{"source":18,"target":2},{"source":11,"target":20},{"source":11,"target":1},{"source":12,"target":21},{"source":12,"target":1},{"source":2,"target":0},{"source":2,"target":22},{"source":2,"target":19},{"source":2,"target":23},{"source":2,"target":24},{"source":2,"target":25},{"source":22,"target":2},{"source":22,"target":26},{"source":26,"target":27},{"source":26,"target":22},{"source":19,"target":1},{"source":19,"target":28},{"source":19,"target":2},{"source":19,"target":10},{"source":28,"target":1},{"source":23,"target":29},{"source":23,"target":2},{"source":24,"target":30},{"source":24,"target":2},{"source":25,"target":31},{"source":25,"target":2},{"source":3,"target":0},{"source":3,"target":2},{"source":3,"target":32},{"source":3,"target":33},{"source":32,"target":6},{"source":32,"target":34},{"source":32,"target":3},{"source":32,"target":35},{"source":34,"target":6},{"source":33,"target":2},{"source":4,"target":0},{"source":4,"target":2},{"source":4,"target":5},{"source":4,"target":36},{"source":4,"target":37},{"source":4,"target":38},{"source":36,"target":6},{"source":36,"target":39},{"source":36,"target":4},{"source":36,"target":40},{"source":39,"target":6},{"source":37,"target":2},{"source":38,"target":5},{"source":5,"target":0},{"source":5,"target":41},{"source":41,"target":42},{"source":41,"target":5},{"source":6,"target":0},{"source":6,"target":5},{"source":6,"target":17},{"source":6,"target":35},{"source":6,"target":40},{"source":6,"target":43},{"source":6,"target":44},{"source":6,"target":45},{"source":17,"target":1},{"source":17,"target":46},{"source":17,"target":6},{"source":17,"target":9},{"source":46,"target":1},{"source":35,"target":3},{"source":35,"target":47},{"source":35,"target":6},{"source":35,"target":32},{"source":47,"target":3},{"source":40,"target":4},{"source":40,"target":48},{"source":40,"target":6},{"source":40,"target":36},{"source":48,"target":4},{"source":43,"target":49},{"source":43,"target":6},{"source":44,"target":50},{"source":44,"target":6},{"source":45,"target":5},{"source":7,"target":0},{"source":7,"target":51},{"source":51,"target":52},{"source":51,"target":7}],"multigraph":true}