smarthome
Home
rooms
persons
patterns
fileEvents
monitoredEntities
NamedEntity
name

Sensor
AnalogSensor
DigitalSensor
CSVSensor
file
Tag
Room
sensors
Pattern
rules
Rule
predicates
duration
Person
ankleLeft
ankleRight
belt
chest
Predicate
SensorPredicate
sensor
operator
value
PersonPredicate
person
activity
Duration
time
precision
Activity
standing
standing
laying
laying
sitting
sitting
Operator
superior
superior
inferior
inferior
equal
equal
Precision
ms
ms
s
s
m
m
Mode
<?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="smarthome" nsURI="http://www.alexiscouvreur.fr/smarthome" nsPrefix="smarthome">
  <eClassifiers xsi:type="ecore:EClass" name="Home">
    <eStructuralFeatures xsi:type="ecore:EReference" name="rooms" upperBound="-1"
        eType="#//Room" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="persons" upperBound="-1"
        eType="#//Person" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="patterns" upperBound="-1"
        eType="#//Pattern" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fileEvents" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="monitoredEntities" upperBound="-1"
        eType="#//NamedEntity"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NamedEntity" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
        defaultValueLiteral=""/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Sensor" abstract="true" eSuperTypes="#//NamedEntity"/>
  <eClassifiers xsi:type="ecore:EClass" name="AnalogSensor" eSuperTypes="#//Sensor"/>
  <eClassifiers xsi:type="ecore:EClass" name="DigitalSensor" eSuperTypes="#//Sensor"/>
  <eClassifiers xsi:type="ecore:EClass" name="CSVSensor">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="file" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Tag" eSuperTypes="#//NamedEntity"/>
  <eClassifiers xsi:type="ecore:EClass" name="Room" eSuperTypes="#//NamedEntity">
    <eStructuralFeatures xsi:type="ecore:EReference" name="sensors" upperBound="-1"
        eType="#//Sensor" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Pattern" eSuperTypes="#//NamedEntity">
    <eStructuralFeatures xsi:type="ecore:EReference" name="rules" upperBound="-1"
        eType="#//Rule" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Rule">
    <eStructuralFeatures xsi:type="ecore:EReference" name="predicates" upperBound="-1"
        eType="#//Predicate" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="duration" eType="#//Duration"
        containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//NamedEntity">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ankleLeft" eType="#//Tag"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ankleRight" eType="#//Tag"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="belt" eType="#//Tag" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="chest" eType="#//Tag" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Predicate" abstract="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="SensorPredicate" eSuperTypes="#//Predicate">
    <eStructuralFeatures xsi:type="ecore:EReference" name="sensor" eType="#//Sensor"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//Operator"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PersonPredicate" eSuperTypes="#//Predicate">
    <eStructuralFeatures xsi:type="ecore:EReference" name="person" eType="#//Person"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="activity" eType="#//Activity"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Duration">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="time" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="precision" eType="#//Precision"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="Activity">
    <eLiterals name="standing"/>
    <eLiterals name="laying" value="1"/>
    <eLiterals name="sitting" value="2"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="Operator">
    <eLiterals name="superior" value="1"/>
    <eLiterals name="inferior" value="-1"/>
    <eLiterals name="equal"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="Precision">
    <eLiterals name="ms" value="1"/>
    <eLiterals name="s" value="1000"/>
    <eLiterals name="m" value="60000"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Mode"/>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"smarthome","nsURI":"http://www.alexiscouvreur.fr/smarthome","name":"smarthome","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Home","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NamedEntity","instanceClass":null,"abstract":true,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Sensor","instanceClass":null,"abstract":true,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AnalogSensor","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DigitalSensor","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CSVSensor","instanceClass":null,"abstract":false,"id":6,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Tag","instanceClass":null,"abstract":false,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Room","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Pattern","instanceClass":null,"abstract":false,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Rule","instanceClass":null,"abstract":false,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Person","instanceClass":null,"abstract":false,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Predicate","instanceClass":null,"abstract":true,"id":12,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SensorPredicate","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PersonPredicate","instanceClass":null,"abstract":false,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Duration","instanceClass":null,"abstract":false,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"Activity","instanceClass":null,"id":16,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"instanceClassName":null,"name":"Operator","instanceClass":null,"id":17,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"instanceClassName":null,"name":"Precision","instanceClass":null,"id":18,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Mode","instanceClass":null,"abstract":false,"id":19,"interface":false,"eClass":"EClass"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"rooms","changeable":true,"resolveProxies":true,"lowerBound":0,"id":20,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"persons","changeable":true,"resolveProxies":true,"lowerBound":0,"id":21,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"patterns","changeable":true,"resolveProxies":true,"lowerBound":0,"id":22,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"fileEvents","changeable":true,"lowerBound":0,"iD":false,"id":23,"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":"monitoredEntities","changeable":true,"resolveProxies":true,"lowerBound":0,"id":24,"derived":false},{"id":25,"eClass":"EGenericType"},{"id":26,"eClass":"EGenericType"},{"id":27,"eClass":"EGenericType"},{"id":28,"eClass":"EGenericType"},{"id":29,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":"","volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"","unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":30,"derived":false},{"id":31,"eClass":"EGenericType"},{"id":32,"eClass":"EGenericType"},{"id":33,"eClass":"EGenericType"},{"id":34,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"file","changeable":true,"lowerBound":0,"iD":false,"id":35,"derived":false},{"id":36,"eClass":"EGenericType"},{"id":37,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"sensors","changeable":true,"resolveProxies":true,"lowerBound":0,"id":38,"derived":false},{"id":39,"eClass":"EGenericType"},{"id":40,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"rules","changeable":true,"resolveProxies":true,"lowerBound":0,"id":41,"derived":false},{"id":42,"eClass":"EGenericType"},{"id":43,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"predicates","changeable":true,"resolveProxies":true,"lowerBound":0,"id":44,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"duration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":45,"derived":false},{"id":46,"eClass":"EGenericType"},{"id":47,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ankleLeft","changeable":true,"resolveProxies":true,"lowerBound":0,"id":48,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ankleRight","changeable":true,"resolveProxies":true,"lowerBound":0,"id":49,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"belt","changeable":true,"resolveProxies":true,"lowerBound":0,"id":50,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"chest","changeable":true,"resolveProxies":true,"lowerBound":0,"id":51,"derived":false},{"id":52,"eClass":"EGenericType"},{"id":53,"eClass":"EGenericType"},{"id":54,"eClass":"EGenericType"},{"id":55,"eClass":"EGenericType"},{"id":56,"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":"sensor","changeable":true,"resolveProxies":true,"lowerBound":0,"id":57,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"operator","changeable":true,"lowerBound":0,"iD":false,"id":58,"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":"value","changeable":true,"lowerBound":0,"iD":false,"id":59,"derived":false},{"id":60,"eClass":"EGenericType"},{"id":61,"eClass":"EGenericType"},{"id":62,"eClass":"EGenericType"},{"id":63,"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":"person","changeable":true,"resolveProxies":true,"lowerBound":0,"id":64,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"activity","changeable":true,"lowerBound":0,"iD":false,"id":65,"derived":false},{"id":66,"eClass":"EGenericType"},{"id":67,"eClass":"EGenericType"},{"id":68,"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":"time","changeable":true,"lowerBound":0,"iD":false,"id":69,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"precision","changeable":true,"lowerBound":0,"iD":false,"id":70,"derived":false},{"id":71,"eClass":"EGenericType"},{"id":72,"eClass":"EGenericType"},{"name":"standing","id":73,"value":0,"literal":"standing","eClass":"EEnumLiteral"},{"name":"laying","id":74,"value":1,"literal":"laying","eClass":"EEnumLiteral"},{"name":"sitting","id":75,"value":2,"literal":"sitting","eClass":"EEnumLiteral"},{"name":"superior","id":76,"value":1,"literal":"superior","eClass":"EEnumLiteral"},{"name":"inferior","id":77,"value":-1,"literal":"inferior","eClass":"EEnumLiteral"},{"name":"equal","id":78,"value":0,"literal":"equal","eClass":"EEnumLiteral"},{"name":"ms","id":79,"value":1,"literal":"ms","eClass":"EEnumLiteral"},{"name":"s","id":80,"value":1000,"literal":"s","eClass":"EEnumLiteral"},{"name":"m","id":81,"value":60000,"literal":"m","eClass":"EEnumLiteral"}],"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":0,"target":8},{"source":0,"target":9},{"source":0,"target":10},{"source":0,"target":11},{"source":0,"target":12},{"source":0,"target":13},{"source":0,"target":14},{"source":0,"target":15},{"source":0,"target":16},{"source":0,"target":17},{"source":0,"target":18},{"source":0,"target":19},{"source":1,"target":0},{"source":1,"target":20},{"source":1,"target":21},{"source":1,"target":22},{"source":1,"target":23},{"source":1,"target":24},{"source":20,"target":8},{"source":20,"target":25},{"source":20,"target":1},{"source":25,"target":8},{"source":21,"target":11},{"source":21,"target":26},{"source":21,"target":1},{"source":26,"target":11},{"source":22,"target":9},{"source":22,"target":27},{"source":22,"target":1},{"source":27,"target":9},{"source":23,"target":28},{"source":23,"target":1},{"source":24,"target":2},{"source":24,"target":29},{"source":24,"target":1},{"source":29,"target":2},{"source":2,"target":0},{"source":2,"target":30},{"source":30,"target":31},{"source":30,"target":2},{"source":3,"target":0},{"source":3,"target":2},{"source":3,"target":32},{"source":32,"target":2},{"source":4,"target":0},{"source":4,"target":3},{"source":4,"target":33},{"source":33,"target":3},{"source":5,"target":0},{"source":5,"target":3},{"source":5,"target":34},{"source":34,"target":3},{"source":6,"target":0},{"source":6,"target":35},{"source":35,"target":36},{"source":35,"target":6},{"source":7,"target":0},{"source":7,"target":2},{"source":7,"target":37},{"source":37,"target":2},{"source":8,"target":0},{"source":8,"target":2},{"source":8,"target":38},{"source":8,"target":39},{"source":38,"target":3},{"source":38,"target":40},{"source":38,"target":8},{"source":40,"target":3},{"source":39,"target":2},{"source":9,"target":0},{"source":9,"target":2},{"source":9,"target":41},{"source":9,"target":42},{"source":41,"target":10},{"source":41,"target":43},{"source":41,"target":9},{"source":43,"target":10},{"source":42,"target":2},{"source":10,"target":0},{"source":10,"target":44},{"source":10,"target":45},{"source":44,"target":12},{"source":44,"target":46},{"source":44,"target":10},{"source":46,"target":12},{"source":45,"target":15},{"source":45,"target":47},{"source":45,"target":10},{"source":47,"target":15},{"source":11,"target":0},{"source":11,"target":2},{"source":11,"target":48},{"source":11,"target":49},{"source":11,"target":50},{"source":11,"target":51},{"source":11,"target":52},{"source":48,"target":7},{"source":48,"target":53},{"source":48,"target":11},{"source":53,"target":7},{"source":49,"target":7},{"source":49,"target":54},{"source":49,"target":11},{"source":54,"target":7},{"source":50,"target":7},{"source":50,"target":55},{"source":50,"target":11},{"source":55,"target":7},{"source":51,"target":7},{"source":51,"target":56},{"source":51,"target":11},{"source":56,"target":7},{"source":52,"target":2},{"source":12,"target":0},{"source":13,"target":0},{"source":13,"target":12},{"source":13,"target":57},{"source":13,"target":58},{"source":13,"target":59},{"source":13,"target":60},{"source":57,"target":3},{"source":57,"target":61},{"source":57,"target":13},{"source":61,"target":3},{"source":58,"target":17},{"source":58,"target":62},{"source":58,"target":13},{"source":62,"target":17},{"source":59,"target":63},{"source":59,"target":13},{"source":60,"target":12},{"source":14,"target":0},{"source":14,"target":12},{"source":14,"target":64},{"source":14,"target":65},{"source":14,"target":66},{"source":64,"target":11},{"source":64,"target":67},{"source":64,"target":14},{"source":67,"target":11},{"source":65,"target":16},{"source":65,"target":68},{"source":65,"target":14},{"source":68,"target":16},{"source":66,"target":12},{"source":15,"target":0},{"source":15,"target":69},{"source":15,"target":70},{"source":69,"target":71},{"source":69,"target":15},{"source":70,"target":18},{"source":70,"target":72},{"source":70,"target":15},{"source":72,"target":18},{"source":16,"target":0},{"source":16,"target":73},{"source":16,"target":74},{"source":16,"target":75},{"source":73,"target":16},{"source":74,"target":16},{"source":75,"target":16},{"source":17,"target":0},{"source":17,"target":76},{"source":17,"target":77},{"source":17,"target":78},{"source":76,"target":17},{"source":77,"target":17},{"source":78,"target":17},{"source":18,"target":0},{"source":18,"target":79},{"source":18,"target":80},{"source":18,"target":81},{"source":79,"target":18},{"source":80,"target":18},{"source":81,"target":18},{"source":19,"target":0}],"multigraph":true}